Från bytes till heltal
Du har sett hur man importerar och läser en ljudfil med Pythons wave-modul och metoden readframes(). Det resulterar dock i en array av bytes.
För att omvandla bytes till något mer användbart använder vi NumPys metod frombuffer().
Genom att skicka in ljudvågornas bytes till frombuffer() och ange dtype som 'int16' kan vi konvertera bytes till heltal. Heltal är mycket enklare att arbeta med än bytes.
Pythons wave-bibliotek har redan importerats tillsammans med ljudfilen good_morning.wav audio file.
Den här övningen är en del av kursen
Taligenkänning i Python
Övningsinstruktioner
- Importera paketet
numpymed dess vanliga aliasnp. - Öppna och läs in ljudfilen för god morgon.
- Konvertera bytes i
signal_gmtill heltal av typenint16. - Visa de första 10 ljudvågsvärdena.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
import ____ as ____
# Open good morning sound wave and read frames as bytes
good_morning = wave.open(____, 'r')
signal_gm = good_morning.readframes(-1)
# Convert good morning audio bytes to integers
soundwave_gm = np.frombuffer(____, dtype=_____)
# View the first 10 sound wave values
print(soundwave_gm[:____])