Bajty na celá čísla
Už víš, jak importovat a načíst zvukový soubor pomocí Pythonova modulu wave a metody readframes(). Výsledkem je ale pole bajtů.
Aby byly bajty užitečnější, použijeme metodu frombuffer() z NumPy.
Stačí do frombuffer() předat bajty naší zvukové vlny a nastavit dtype na 'int16' — tím bajty převedeme na celá čísla. S celými čísly se pracuje mnohem pohodlněji než s bajty.
Knihovna wave pro Python už je importována spolu se zvukovým souborem good_morning.wav audio soubor.
Toto cvičení je součástí kurzu
Zpracování mluveného jazyka v Pythonu
Pokyny k cvičení
- Importuj balíček
numpypod jeho běžným aliasemnp. - Otevři a načti zvukový soubor good morning.
- Převeď bajty proměnné
signal_gmna celá čísla typuint16. - Zobraz prvních 10 hodnot zvukové vlny.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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[:____])