Kötegelt műveletek futtatása a Speech CLI-vel
A Speech szolgáltatás használatakor gyakori feladatok a kötegműveletek. Ebből a cikkből megtudhatja, hogyan hajthat végre kötegelt beszédet szöveggé (beszédfelismerés), kötegelt szövegről beszédre (beszédszintézis) a Speech CLI-vel. Pontosabban az alábbiakat sajátíthatja el:
- Kötegelt beszédfelismerés futtatása hangfájlok könyvtárán
- Kötegelt beszédszintézis futtatása fájlon keresztüli
.tsv
iterálással
Batch speech to text (beszédfelismerés)
A Speech szolgáltatást gyakran használják a hangfájlokból származó beszéd felismerésére. Ebben a példában megtudhatja, hogyan lehet iterálni egy könyvtáron a Speech CLI használatával az egyes .wav
fájlok felismerési kimenetének rögzítéséhez. A --files
jelölő arra a könyvtárra mutat, ahol a hangfájlokat tárolják, a helyettesítő karakter *.wav
pedig arra szolgál, hogy a Speech CLI minden kiterjesztésű .wav
fájlon futtassa a felismerést. Az egyes felismerési fájlok kimenete tabulátorral elválasztott értékként van megírva a fájlban speech_output.tsv
.
Feljegyzés
Az --threads
argumentum a következő szakaszban parancsokhoz spx synthesize
is használható, és az elérhető szálak a processzortól és az aktuális terhelési százaléktól függenek.
spx recognize --files C:\your_wav_file_dir\*.wav --output file C:\output_dir\speech_output.tsv --threads 10
Íme egy példa a kimeneti fájl szerkezetére.
audio.input.id recognizer.session.started.sessionid recognizer.recognized.result.text
sample_1 07baa2f8d9fd4fbcb9faea451ce05475 A sample wave file.
sample_2 8f9b378f6d0b42f99522f1173492f013 Sample text synthesized.
Batch text to speech (beszédszintézis)
A kötegelt szöveg beszédre való futtatásának legegyszerűbb módja egy új .tsv
(tabulátorral tagolt-érték) fájl létrehozása, és a --foreach
Speech CLI parancsának használata. A fájlt a kedvenc szövegszerkesztőjével hozhatja létre.tsv
, ehhez a példához nevezzük:text_synthesis.tsv
Fontos
A szövegfájl tartalmának másolásakor győződjön meg arról, hogy a fájl füle nem szóközzel rendelkezik a fájl helye és a szöveg között. Előfordulhat, hogy a példában szereplő tartalom másolásakor a lapfülek szóközökké alakulnak, így a spx
parancs futtatása sikertelen lesz.
audio.output text
C:\batch_wav_output\wav_1.wav Sample text to synthesize.
C:\batch_wav_output\wav_2.wav Using the Speech CLI to run batch-synthesis.
C:\batch_wav_output\wav_3.wav Some more text to test capabilities.
Ezután futtat egy parancsot, amely az text_synthesis.tsv
egyes text
mezőkre mutat, szintetizál, és fájlként .wav
írja az eredményt a megfelelő audio.output
elérési útra.
spx synthesize --foreach in @C:\your\path\to\text_synthesis.tsv
Ez a parancs egyenértékű a fájl minden rekordjának .tsv
futtatásával.spx synthesize --text "Sample text to synthesize" --audio output C:\batch_wav_output\wav_1.wav
Néhány megjegyzés:
- Az oszlopfejlécek és
text
audio.output
az oszlopok a parancssori argumentumoknak,--text
illetve a parancssori argumentumoknak--audio output
felelnek meg. A többrészes parancssori argumentumokat például--audio output
szóközök, bevezető kötőjelek és sztringeket elválasztó pontok nélkül kell formázni a fájlban.audio.output
Bármely más meglévő parancssori argumentum hozzáadható a fájlhoz több oszlopként ezzel a mintával. - Ha a fájl így van formázva, más argumentumokat nem kell átadni a fájlnak
--foreach
. - Győződjön meg arról, hogy az egyes értékeket egy lap választja
.tsv
el egymástól.
Ha azonban a .tsv
következő példához hasonló fájllal rendelkezik, amelynek oszlopfejlécei nem egyeznek meg a parancssori argumentumokkal:
wav_path str_text
C:\batch_wav_output\wav_1.wav Sample text to synthesize.
C:\batch_wav_output\wav_2.wav Using the Speech CLI to run batch-synthesis.
C:\batch_wav_output\wav_3.wav Some more text to test capabilities.
Ezeket a mezőneveket a hívás alábbi szintaxisával felülbírálhatja a --foreach
megfelelő argumentumokra. Ez a parancs ugyanazt a hívást indítja el, mint korábban.
spx synthesize --foreach audio.output;text in @C:\your\path\to\text_synthesis.tsv