PySoundFile ist ein Python-Modul, das zum Lesen und Schreiben von Audiodateien verwendet wird. Sehen Sie sich eine Audiodatei als NumPy- Array an, einschließlich Tonhöhen und allem. Dieses Modul kann die Audiodatei lesen, dh es extrahiert das NumPy-Array aus Audio (WAV-Dateien) und kann es auch schreiben

Installation : Führen Sie den folgenden pip-Befehl aus:

pip install PySoundFile

PySoundFile unterstützt alle Formate, die libsndfile unterstützt, z. B. WAV-, FLAC-, OGG- und MAT-Dateien

Hier ist der Link der Audiodatei in den Beispielen verwendeten Link

Audiodatei lesen:



Audiodateien können mit der Funktion read() gelesen werden.

Syntax: read (Datei, Frames = -1, Start = 0, Stop = Keine, Füllwert = Keine, Samplerate = Keine, Kanäle = Keine, Subtyp = Keine)

Parameter: 

  • Datei: Pfad der Audiodatei
  • Frames : Dieses Argument wird verwendet, um die Anzahl der zu lesenden Frames anzugeben. Standardmäßig hat es den Wert -1, der die gesamte zu lesende Datei angibt
  • Start, Stopp : Um Start und Ende für das Lesen der Audiodatei festzulegen, wird standardmäßig die gesamte Datei gelesen
  • fill_value : Wenn die Datei weniger Daten enthält als angefordert, werden die restlichen Frames mit fill_value gefüllt. Wenn kein fill_value angegeben ist, wird das kleinere Array zurückgegeben

Rückgabe: 2 Werte

  • Daten: Numpy-Array (Länge sollte 44.100 Elemente betragen) Wenn ein 1-D-Numpy-Array zurückgegeben wird, wird das Audio-Lesen monokanalisiert
  • Samplerate: Die Samplerate (oder „Sampling Rate“) definiert, wie oft pro Sekunde ein Sound abgetastet wird. Technisch gesehen ist dies die Frequenz der Samples, die bei einer digitalen Aufzeichnung verwendet werden. Die Standard-Samplerate für Audio-CDs beträgt 44,1 Kilohertz. Auch für diese Datei gilt dies

Unterstützte Dateiformate: WAV, AIFF, AU, PAF, SVX, NIST, VOC, IRCAM, W64, MAT4, MAT5, PVF, XI, HTK, SDS, AVR, WAVEX, SD2, FLAC, CAF, WVE, OGG, MPC2K, RF64     

Beispiel: Wir werden die folgende Datei lesen: 

[wenn IE 9]>
import soundfile as sf 
  
data, samplerate = sf.read('noice.wav') 
  
print(data) 
print("---------------------") 
print("Sample Rate is ", samplerate) 
print("---------------------") 
print("Done")

Ausgabe:



Schreiben einer Datei: Wir können eine Datei mit der Funktion write() schreiben .

Syntax: Schreiben (Datei, Daten, Samplerate, Subtyp = Keine, Endian = Keine, Format = Keine, closefd = True)

Parameter: 

  • Datei: Pfad der Ausgabedatei
  • Daten: zu schreibende Daten
  • Samplerate: Samplerate der Audiodaten

Rückgabe: Nichts

Um eine Audiodatei zu schreiben, benötigen wir ein NumPy-Array (dh Daten), da die Abtastrate den Standardwert hat. Es öffnet die Datei im wb-Modus. Wenn der gleiche Name vorhanden ist, schreibt das Programm sie neu  

Beispiel: Wir werden die folgende Datei lesen:

import soundfile as sf 
  
data, samplerate = sf.read('Sample.wav') 
  
sf.write('writing_file_output.wav', data, samplerate) 
  

Ausgabe: Dies ist die Ausgabedatei: