


So zeichnen Sie Audio in Python auf: Sprache und Stille automatisch erkennen
Audio nur dann aufzuzeichnen, wenn jemand spricht, ist eine leistungsstarke Funktion, die in verschiedenen Anwendungen verwendet werden kann, von sprachaktivierten Assistenten bis hin zur Einsparung von Speicherplatz durch Eliminierung von Stillezeiten. In diesem Tutorial erfahren Sie, wie Sie Python-Code schreiben, der mit der Aufnahme beginnt, wenn Sprache erkannt wird, und stoppt, wenn Stille erkannt wird.
Voraussetzungen
Bevor Sie eintauchen, stellen Sie sicher, dass Sie über Folgendes verfügen:
- Python 3.xauf Ihrem System installiert.
- Grundkenntnisse in Python.
- Vertrautheit mit Python-Bibliotheken wie Pyaudio, Numpy und Webrtcvad.
Schritt 1: Erforderliche Bibliotheken installieren?
Wir werden die folgenden Bibliotheken verwenden:
- pyaudio: Zum Aufnehmen von Audio von Ihrem Mikrofon.
- webrtcvad: Zur Sprachaktivitätserkennung.
- numpy: Zur Verarbeitung von Audiodaten.
Sie können sie mit pip:
installieren
pip install pyaudio webrtcvad numpy
Schritt 2: Audiostream einrichten?
Zuerst richten wir den Audiostream ein, um die Audioeingabe von Ihrem Mikrofon zu erfassen.
import pyaudio # Audio configuration FORMAT = pyaudio.paInt16 CHANNELS = 1 RATE = 16000 CHUNK = 1024 # Initialize PyAudio audio = pyaudio.PyAudio() # Open stream stream = audio.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK)
Schritt 3: Sprachaktivitätserkennung (VAD) implementieren?
Wir verwenden die webrtcvad-Bibliothek, um zu erkennen, wenn jemand spricht. Die Bibliothek kann Audioframes als Sprache oder Nicht-Sprache klassifizieren.
import webrtcvad # Initialize VAD vad = webrtcvad.Vad() vad.set_mode(1) # 0: Aggressive filtering, 3: Less aggressive def is_speech(frame, sample_rate): return vad.is_speech(frame, sample_rate)
Schritt 4: Audio-Frames erfassen und verarbeiten?
Lassen Sie uns nun fortlaufend Audiobilder erfassen und prüfen, ob sie Sprache enthalten.
def record_audio(): frames = [] recording = False print("Listening for speech...") while True: frame = stream.read(CHUNK) if is_speech(frame, RATE): if not recording: print("Recording started.") recording = True frames.append(frame) else: if recording: print("Silence detected, stopping recording.") break # Stop and close the stream stream.stop_stream() stream.close() audio.terminate() return frames
Schritt 5: Speichern des aufgenommenen Audios?
Zuletzt speichern wir das aufgenommene Audio in einer .wav-Datei.
import wave def save_audio(frames, filename="output.wav"): wf = wave.open(filename, 'wb') wf.setnchannels(CHANNELS) wf.setsampwidth(audio.get_sample_size(FORMAT)) wf.setframerate(RATE) wf.writeframes(b''.join(frames)) wf.close() # Example usage frames = record_audio() save_audio(frames) print("Audio saved as output.wav")
Abschluss ?
Mit nur wenigen Codezeilen haben Sie ein Python-Programm implementiert, das Sprache erkennt und nur die gesprochenen Teile aufzeichnet und Stille ignoriert. Diese Technik ist besonders nützlich für die Erstellung effizienter sprachaktivierter Systeme.
Fühlen Sie sich frei, mit der VAD-Aggressivität und den Audioeinstellungen zu experimentieren, um sie an Ihre spezifischen Bedürfnisse anzupassen. Viel Spaß beim Codieren! ????
Das obige ist der detaillierte Inhalt vonSo zeichnen Sie Audio in Python auf: Sprache und Stille automatisch erkennen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Stock Market GPT
KI-gestützte Anlageforschung für intelligentere Entscheidungen

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Führen Sie Pipinstall-Rrequirements.txt aus, um das Abhängigkeitspaket zu installieren. Es wird empfohlen, zunächst die virtuelle Umgebung zu erstellen und zu aktivieren, um Konflikte zu vermeiden, sicherzustellen, dass der Dateipfad korrekt ist und dass die PIP aktualisiert wurde, und Optionen wie-No-Deps oder -User, um das Installationsverhalten bei Bedarf anzupassen.

In diesem Tutorial wird beschrieben, wie der PEFT LORA -Adapter mit dem Basismodell effizient zusammengeführt werden kann, um ein völlig unabhängiges Modell zu generieren. Der Artikel weist darauf hin, dass es falsch ist, Transformatoren direkt zu verwenden. Automodel zum Laden des Adapters und zum manuellen Zusammenführen der Gewichte und bietet den richtigen Prozess zur Verwendung der Methode merge_and_unload in der PEFT -Bibliothek. Darüber hinaus unterstreicht das Tutorial auch die Bedeutung des Umgangs mit Word -Segmentern und diskutiert die Kompatibilität und Lösungen von PEFT -Versionen.

Python ist ein einfaches und leistungsstarkes Testwerkzeug in Python. Nach der Installation werden Testdateien automatisch gemäß den Namensregeln ermittelt. Schreiben Sie eine Funktion, die mit Test_ für Assertionstests beginnt, verwenden Sie @PyTest.Fixure, um wiederverwendbare Testdaten zu erstellen, die Ausnahmen über pyTest.raises zu überprüfen, unterstützt die laufenden Tests und mehrere Befehlszeilenoptionen und verbessert die Testeneffizienz.

TheArgParSemoduleiTherecommendedwaytoHandleCommand-Lineargumentesinpython, das Robustparsing, Typevalidation, Helpsages, AndersHandling berücksichtigt; usesys.argvForSimpecaseSeRequiringMinimalsetup.

Dieser Artikel zielt darauf ab, das gemeinsame Problem der unzureichenden Berechnungsgenauigkeit der schwimmenden Punktzahlen in Python und Numpy zu untersuchen, und erklärt, dass seine Grundursache in der Darstellungsbeschränkung der Standardzahlen der 64-Bit-Schwimmpunkte liegt. Für Computerszenarien, die eine höhere Genauigkeit erfordern, wird der Artikel die Nutzungsmethoden, -funktionen und anwendbaren Szenarien von mathematischen Bibliotheken mit hoher Präzision einführen und vergleichen

Die aktuelle Zeit kann in Python über das DateTime -Modul implementiert werden. 1. Verwenden Sie datetime.now (), um die lokale aktuelle Zeit zu erhalten, 2. verwenden Strftime ("%y-%M-%d%H:%m:%s"), um das Ausgabejahr, den Monat, den Tag, die Stunde, die Minute und die zweite, zu formatieren. UTCNOW () und tägliche Operationen können die Anforderungen erfüllen, indem datetime.now () mit formatierten Zeichenfolgen kombiniert werden.

PYPDF2, PDFPLUMBER und FPDF sind die Kernbibliotheken für Python, um PDF zu verarbeiten. Verwenden Sie PYPDF2, um die Textextraktion, das Zusammenführen, die Aufteilung und die Verschlüsselung durchzuführen, z. PDFPLUMBER eignet sich besser zum Aufbewahren von Layout -Textextraktion und Tabellenerkennung und unterstützt extract_tables (), um Tabellendaten genau zu erfassen. FPDF (empfohlene FPDF2) wird zum Generieren von PDF verwendet, und es werden Dokumente erstellt und über add_page (), set_font () und cell () ausgegeben. Beim Zusammenführen von PDFs kann die append () -Methode von PDFWriter mehrere Dateien integrieren

Importieren Sie@contextManagerfromContextLibanddefinaGeneratorFunctionThatyieldSexactlyonce, whercodeBeforyieldactsasenterandCodeafteryield (vorzugsweise infinal) actsas __exit __. 2.UsetheFunctionInaThstatement, wherheided ValuesieScessable
