GNU/Linux >> Znalost Linux >  >> Linux

Jak číst hlasitost zvuku mikrofonu v reálném čase v pythonu a ffmpeg nebo podobných

Děkujeme @Matthias za návrh na použití modulu zvukového zařízení. To je přesně to, co potřebuji.

Pro budoucí generace je zde funkční příklad, který vytiskne úrovně zvuku v reálném čase do shellu:

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


Zde je uživatel Pythonu 3
Měl jsem několik problémů, aby to fungovalo, takže jsem použil:https://python-sounddevice.readthedocs.io/en/0.3.3/examples.html#plot-microphone-signal-s-in-real-time
A potřebuji nainstalovat sudo apt-get install python3-tk pro python 3.6 se podívejte na modul Tkinter, který nebyl na Ubuntu nalezen
Potom jsem upravil skript:

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

A ano, funguje to :)


Linux
  1. Proměnné prostředí Linux:Jak číst a nastavovat na Linux VPS

  2. Jak číst a opravovat zprávy o odmítnutí SELinuxu

  3. Jak nahrávat zvuk pomocí ffmpeg na linuxu?

  1. Jak exportovat a importovat nastavení DNS v CloudFlare

  2. Jak na to:Python 3 a vytvoření virtuálního prostředí (venv) v CentOS 7

  3. Jak nainstalovat a importovat moduly Pythonu za běhu?

  1. Jak získat aktuální datum a čas v Pythonu

  2. Jak importovat a exportovat databáze MySQL v Linuxu

  3. Jak nainstalovat a nakonfigurovat Ansible na Redhat Enterprise Linux 8