GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lire le volume audio du microphone en temps réel en python et ffmpeg ou similaire

Merci à @Matthias pour la suggestion d'utiliser le module sounddevice. C'est exactement ce dont j'ai besoin.

Pour la postérité, voici un exemple de travail qui imprime des niveaux audio en temps réel sur le 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)


Utilisateur de Python 3 ici
J'ai eu quelques problèmes pour que cela fonctionne, alors j'ai utilisé :https://python-sounddevice.readthedocs.io/en/0.3.3/examples.html#plot-microphone-signal-s-in-real-time
Et je dois installer sudo apt-get install python3-tk pour python 3.6 look module Tkinter introuvable sur Ubuntu
Puis j'ai modifié le 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)

Et oui ça marche :)


Linux
  1. Variables d'environnement Linux :comment lire et définir sur un VPS Linux

  2. Comment lire et corriger les messages de refus SELinux

  3. Comment exporter et importer des paramètres DNS dans CloudFlare

  4. Comment :Python 3 et création d'un environnement virtuel (venv) dans CentOS 7

  5. Comment installer et importer des modules Python lors de l'exécution ?

Comment exporter et importer des machines virtuelles KVM sous Linux

Comment exporter et importer des machines virtuelles VirtualBox

Comment installer et utiliser Python-Mistune sous Linux

Comment lire la sortie et les utilisations de la commande Linux Top

Journalctl :comment lire et modifier les journaux Systemd

Comment installer Anaconda Navigator et JupyterLab sous Linux