Share via


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ű .wavfá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.tsvegyes 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 textaudio.output az oszlopok a parancssori argumentumoknak, --textilletve 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

Következő lépések