La guía o código que encontrarás en este post es la resolución más eficiente y efectiva que hallamos a tu duda o problema.
Solución:
Gracias a @Matthias por la sugerencia de usar el módulo de dispositivo de sonido. Es exactamente lo que necesito.
Para la posteridad, aquí hay un ejemplo de trabajo que imprime niveles de audio en tiempo real en el shell:
# Print out realtime audio volume as ascii bars
import sounddevice as sd
import numpy as np
def print_sound(indata, outdata, frames, time, status):
volume_norm = np.linalg.norm(indata)*10
print ("|" * int(volume_norm))
with sd.Stream(callback=print_sound):
sd.sleep(10000)
Usuario de Python 3 aquí
Tuve algunos problemas para que funcionara, así que usé: https://python-sounddevice.readthedocs.io/en/0.3.3/examples.html#plot-microphone-signal-s-in-real-time
Y necesito instalar sudo apt-get install python3-tk
para python 3.6 busque el módulo Tkinter no encontrado en Ubuntu
Luego modifiqué el script:
#!/usr/bin/env python3
import numpy as np
import sounddevice as sd
duration = 10 #in seconds
def audio_callback(indata, frames, time, status):
volume_norm = np.linalg.norm(indata) * 10
print("|" * int(volume_norm))
stream = sd.InputStream(callback=audio_callback)
with stream:
sd.sleep(duration * 1000)
Y si funciona 🙂
Te mostramos las reseñas y valoraciones de los lectores
Tienes la opción de añadir valor a nuestro contenido dando tu experiencia en las aclaraciones.