Specifikace a formáty zvuku | Vývojářský portál T-Bank
Jakýkoli zvuk jsou vlny různých frekvencí a amplitud, které se šíří vzduchem. Pro získání zvukového souboru je nutné zvukové vlny nejprve převést na elektrické signály a poté na binární data, která mohou elektronická zařízení zpracovat.
Nejrozšířenější metodou digitalizace zvukových signálů je pulzně-kódová modulace (PCM).
Vzorkovací frekvence a bitová hloubka
Zvukové signály se digitalizují pomocí diskretizace – vzorkování. Signál se měří ve stejných časových intervalech a hodnota amplitudy signálu se zaznamenává v okamžiku měření – jedná se o vzorek. Pokud se signál měří 16 000krát za sekundu, vzorkovací frekvence je 16 000 Hz. Například pro telefonní komunikaci se obvykle používá frekvence 8 000 Hz.
Pokud máte na výběr, je lepší pro rozpoznávání použít zvuk s frekvencí 16 000 Hz nebo vyšší, protože vzorkování na nižší frekvenci může vést ke ztrátě přesnosti rozpoznávání – zejména pokud je ve zvuku přítomen šum v pozadí.
Po digitalizaci jsou signály převedeny do binární formy. Bitová hloubka určuje, kolik bitů je alokováno pro uložení jednoho vzorku.
Čím vyšší je bitová hloubka a vzorkovací frekvence, tím přesněji se výsledný digitální signál shoduje s originálem.
Komprese a ztráta kvality
Zvukové soubory lze komprimovat pro ukládání a přenos. Komprese může být ztrátová nebo bezeztrátová.
Ztrátová komprese zahodí některá zvuková data a nelze je obnovit. Nekomprimovaný zvuk je nejblíže původnímu zvuku.
Jaké formáty a kodeky jsou podporovány
Zvukový formát je druh nádoby, do které je pomocí speciálního programu, kodeku, nahráván zvukový signál. U některých formátů lze kodek jednoznačně určit. Například formát MP3 vždy používá kodek MPEG Audio Layer III, zatímco FLAC může používat různé kodeky.
Tabulka kodeků a příklady formátů podporovaných VoiceKitem:
| Kodeky | |||||
|---|---|---|---|---|---|
| LINEÁRNÍ16 (Lineární PCM) | WAV, FLAC | + | + | + | + |
| ALAW (a-právo) | WAV, WMA, FLAC | + | + | + | – |
| MULAW (μ-zákon) | WAV, FLAC | + | + | + | – |
| OPUS | Ogg, WebM, MPEG, MP4 | + | + | – | – |
| MP3 (MPEG Audio Layer III) | MP3, MPEG, MP4 | + | – | – | – |
Můžete také použít soubory RAW, které obsahují nezpracované zvukové signály. Pokud je zvuk v kontejneru (WAV, Ogg atd.), je nutné jej před rozpoznáním dekódovat – s výjimkou MP3: ten lze přenášet tak, jak je.
Metoda syntézy řeči vrací nezpracovaný soubor – v případě potřeby výsledné vzorky zabalí do požadovaného formátu.
Jak správně specifikovat kódování
Chcete-li pochopit, jakou hodnotu kódování zadat pro zvukové soubory:
- Podívejte se na příponu souboru:
- .mp3 – specifikuje MPEG_AUDIO;
- .opus — specifikace RAW_OPUS;
- .aac – určuje ADTS_AAC.
- Pro kontrolu vlastností zvuku použijte speciální utility. Příklady spuštění utilit pro soubor test.wav s výstupem:
- souborový nástroj:
$ file test.wav test.wav: RIFF (little-endian) data, WAVE audio, ITU G.711 mu-law, mono 48000 Hz $ soxi test.wav Input File : 'test.wav' Channels : 1 Sample Rate : 48000 Precision : 14-bit Duration : 00:00:34.31 = 1646649 samples ~ 2572.89 CDDA sectors File Size : 1.65M Bit Rate : 384k Sample Encoding: 8-bit u-law ffprobe -i Input #0, wav, from 'test.wav': Duration: 00:00:34.31, bitrate: 384 kb/s Stream #0:0: Audio: pcm_mulaw ([7][0][0][0] / 0x0007), 48000 Hz, 1 channels, s16, 384 kb/s Tabulka s důležitými hodnotami ve výstupu utility a možnostmi kódování pro každou hodnotu:
| soubor | Sox | ffprobe | kódování |
|---|---|---|---|
| A-právo | 8bitový a-law | pcm_alaw | ALAW |
| mu-law | 8bitový u-law | pcm_mulaw | MULAW |
| Microsoft PCM, 16bitový | 16bitová celočíselná PCM se znaménkem | pcm_s16le (nebo s16be) | LINEÁRNÍ16 |
| Opus audio | Opus | opus | RAW_OPUS |
| MPEG | MPEG audio (vrstva I, II nebo III) | mp3 | MPEG_AUDIO |