mirror of
https://github.com/SevaSk/ecoute.git
synced 2024-12-24 06:46:38 +00:00
Used Pyaudion for Mac os
This commit is contained in:
parent
7264e73508
commit
540bfb1bf7
@ -1,5 +1,5 @@
|
||||
import custom_speech_recognition as sr
|
||||
import pyaudiowpatch as pyaudio
|
||||
import pyaudio
|
||||
from datetime import datetime
|
||||
|
||||
RECORD_TIMEOUT = 3
|
||||
@ -38,22 +38,20 @@ class DefaultMicRecorder(BaseRecorder):
|
||||
|
||||
class DefaultSpeakerRecorder(BaseRecorder):
|
||||
def __init__(self):
|
||||
with pyaudio.PyAudio() as p:
|
||||
wasapi_info = p.get_host_api_info_by_type(pyaudio.paWASAPI)
|
||||
default_speakers = p.get_device_info_by_index(wasapi_info["defaultOutputDevice"])
|
||||
|
||||
if not default_speakers["isLoopbackDevice"]:
|
||||
for loopback in p.get_loopback_device_info_generator():
|
||||
if default_speakers["name"] in loopback["name"]:
|
||||
default_speakers = loopback
|
||||
break
|
||||
else:
|
||||
print("[ERROR] No loopback device found.")
|
||||
p = pyaudio.PyAudio()
|
||||
|
||||
source = sr.Microphone(speaker=True,
|
||||
device_index= default_speakers["index"],
|
||||
sample_rate=int(default_speakers["defaultSampleRate"]),
|
||||
chunk_size=pyaudio.get_sample_size(pyaudio.paInt16),
|
||||
channels=default_speakers["maxInputChannels"])
|
||||
# Get default input device information
|
||||
default_input_device_info = p.get_default_input_device_info()
|
||||
|
||||
source = sr.Microphone(
|
||||
device_index=default_input_device_info["index"],
|
||||
sample_rate=int(default_input_device_info["defaultSampleRate"]),
|
||||
chunk_size=pyaudio.get_sample_size(pyaudio.paInt16),
|
||||
channels=default_input_device_info["maxInputChannels"]
|
||||
)
|
||||
super().__init__(source=source, source_name="Speaker")
|
||||
self.adjust_for_noise("Default Speaker", "Please make or play some noise from the Default Speaker...")
|
||||
self.adjust_for_noise("Default Speaker", "Please make or play some noise from the Default Speaker...")
|
||||
|
||||
# Don't forget to close PyAudio object when you're done
|
||||
p.terminate()
|
||||
|
||||
|
@ -7,7 +7,7 @@ import tempfile
|
||||
import custom_speech_recognition as sr
|
||||
import io
|
||||
from datetime import timedelta
|
||||
import pyaudiowpatch as pyaudio
|
||||
import pyaudio
|
||||
from heapq import merge
|
||||
|
||||
PHRASE_TIMEOUT = 3.05
|
||||
|
@ -16,7 +16,7 @@ Follow these steps to set up and run Ecoute on your local machine.
|
||||
### 📋 Prerequisites
|
||||
|
||||
- Python >=3.8.0
|
||||
- An OpenAI API key that can access OpenAI API (set up a paid account OpenAI account)
|
||||
- An OpenAI API key
|
||||
- Windows OS (Not tested on others)
|
||||
- FFmpeg
|
||||
|
||||
|
@ -107,7 +107,7 @@ class Microphone(AudioSource):
|
||||
Imports the pyaudio module and checks its version. Throws exceptions if pyaudio can't be found or a wrong version is installed
|
||||
"""
|
||||
try:
|
||||
import pyaudiowpatch as pyaudio
|
||||
import pyaudio
|
||||
except ImportError:
|
||||
raise AttributeError("Could not find PyAudio; check installation")
|
||||
from distutils.version import LooseVersion
|
||||
|
@ -3,6 +3,6 @@ openai-whisper==20230314
|
||||
Wave==0.0.2
|
||||
openai==0.27.6
|
||||
customtkinter==5.1.3
|
||||
PyAudioWPatch==0.2.12.5
|
||||
--extra-index-url https://download.pytorch.org/whl/cu117
|
||||
PyAudio # for Mac
|
||||
# --extra-index-url https://download.pytorch.org/whl/cu117
|
||||
torch
|
Loading…
Reference in New Issue
Block a user