GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So lesen Sie die Audiolautstärke des Echtzeitmikrofons in Python und ffmpeg oder ähnlichem

Danke an @Matthias für den Vorschlag, das Sounddevice-Modul zu verwenden. Es ist genau das, was ich brauche.

Für die Nachwelt ist hier ein funktionierendes Beispiel, das Echtzeit-Audiopegel an die Shell ausgibt:

# 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)


Python 3-Benutzer hier
Ich hatte einige Probleme, damit das funktioniert, also habe ich Folgendes verwendet:https://python-sounddevice.readthedocs.io/en/0.3.3/examples.html#plot-microphone-signal-s-in-real-time
Und ich muss sudo apt-get install python3-tk installieren für python 3.6 look Tkinter module not found on Ubuntu
Dann habe ich das Skript geändert:

#!/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)

Und ja, es funktioniert :)


Linux
  1. Linux-Umgebungsvariablen:Lesen und Festlegen auf einem Linux-VPS

  2. Lesen und Korrigieren von SELinux-Ablehnungsmeldungen

  3. So exportieren und importieren Sie DNS-Einstellungen in CloudFlare

  4. Gewusst wie:Python 3 und Erstellen einer virtuellen Umgebung (venv) in CentOS 7

  5. Wie installiere und importiere ich Python-Module zur Laufzeit?

So exportieren und importieren Sie virtuelle KVM-Maschinen unter Linux

So exportieren und importieren Sie virtuelle VirtualBox-Maschinen

So installieren und verwenden Sie Python-Mistune unter Linux

So lesen Sie die Ausgabe und Verwendung von Linux Top Command

Journalctl:So lesen und bearbeiten Sie Systemd-Protokolle

So installieren Sie Anaconda Navigator und JupyterLab unter Linux