salomonsky commited on
Commit
0a1e8c2
verified
1 Parent(s): b792247

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -7
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")