Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1,5 +1,6 @@
|
|
1 |
import io
|
2 |
import base64
|
|
|
3 |
import webrtcvad
|
4 |
import threading
|
5 |
import numpy as np
|
@@ -9,6 +10,19 @@ import sounddevice as sd
|
|
9 |
import speech_recognition as sr
|
10 |
from huggingface_hub import InferenceClient
|
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
devices = sd.query_devices()
|
13 |
print(devices)
|
14 |
|
@@ -127,6 +141,15 @@ class Threader(threading.Thread):
|
|
127 |
print("Started mythread")
|
128 |
start_stream()
|
129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
if __name__ == "__main__":
|
131 |
|
132 |
vad = webrtcvad.Vad(1)
|
@@ -140,10 +163,4 @@ if __name__ == "__main__":
|
|
140 |
block_size = int(sample_rate * interval_size / 1000)
|
141 |
|
142 |
Threader(name='mythread')
|
143 |
-
st.button("Detener Stream")
|
144 |
-
st.text("Esperando entrada de voz...")
|
145 |
-
st.text("Puedes detener el stream manualmente usando el bot贸n 'Detener Stream'.")
|
146 |
-
st.text("Nota: El c贸digo actual imprime los resultados de VAD en la consola.")
|
147 |
-
st.text("Puedes personalizar la l贸gica de VAD seg煤n tus necesidades.")
|
148 |
-
st.text("La transcripci贸n de voz y la generaci贸n de texto se manejar谩n una vez que se detecte actividad de voz.")
|
149 |
-
st.text("Inicia la grabaci贸n y espera a que aparezcan los resultados.")
|
|
|
1 |
import io
|
2 |
import base64
|
3 |
+
import pyaudio
|
4 |
import webrtcvad
|
5 |
import threading
|
6 |
import numpy as np
|
|
|
10 |
import speech_recognition as sr
|
11 |
from huggingface_hub import InferenceClient
|
12 |
|
13 |
+
def list_audio_devices():
|
14 |
+
p = pyaudio.PyAudio()
|
15 |
+
info = p.get_host_api_info_by_index(0)
|
16 |
+
num_devices = info.get('deviceCount')
|
17 |
+
devices = []
|
18 |
+
|
19 |
+
for i in range(num_devices):
|
20 |
+
device_info = p.get_device_info_by_host_api_device_index(0, i)
|
21 |
+
devices.append(device_info['name'])
|
22 |
+
|
23 |
+
p.terminate()
|
24 |
+
return devices
|
25 |
+
|
26 |
devices = sd.query_devices()
|
27 |
print(devices)
|
28 |
|
|
|
141 |
print("Started mythread")
|
142 |
start_stream()
|
143 |
|
144 |
+
available_audio_devices = list_audio_devices()
|
145 |
+
print("Dispositivos de audio disponibles:")
|
146 |
+
print(available_audio_devices)
|
147 |
+
selected_device = st.selectbox("Selecciona el micr贸fono:", available_audio_devices, index=0)
|
148 |
+
channels = [1]
|
149 |
+
mapping = [c - 1 for c in channels]
|
150 |
+
device_info = sd.query_devices(selected_device, 'input')
|
151 |
+
sample_rate = int(device_info['default_samplerate'])
|
152 |
+
|
153 |
if __name__ == "__main__":
|
154 |
|
155 |
vad = webrtcvad.Vad(1)
|
|
|
163 |
block_size = int(sample_rate * interval_size / 1000)
|
164 |
|
165 |
Threader(name='mythread')
|
166 |
+
st.button("Detener Stream")
|
|
|
|
|
|
|
|
|
|
|
|