2.) A hangfált audacityvel olvassuk be. Van egy audacity modul, melynek (számomra alkalmasan) átparaméterezett (és kiindulási) változatát ide tettem. Ezt a fájlt (pl. Ubuntu linux alatt) a /usr/share/audacity/plug-ins-be érdemes tenni. A hangfájl beolvasása után meghívom az audacity Analizálás/Advanced_sound_finder menüpontját, és hagyom, hogy bekerüljenek a megfelelő jelölőzászlók a hangsávba. Ezután kiadom a Fájl/Köteg-Exportálás parancsot, és FLAC fájlokat gyártok (letiltva azt, hogy minden egyes mentésnél rákérdezzen a paraméterekre). A fájlnevek előtagját átírom egy általam választott értékre, pl. "ez"-re
3.) A keletkezett fájlokat átnevezem egy előre legyártott szkripttel, hogy ne legyen ez-01.flac és ez-618.flac is, hanem csak ez0001.flac és ez0618.flac; azaz, ugyanannyi jegyű legyen az azonosítószám mindig. Ezután egy ciklussal elküldözgetem a Google-nek a fájlokat, melyek lehetőség szerint értelmes kifejezések (és nem hosszabbak 12-14 másodpercnél, mint ahogy egy ANDROIDos telefonről elküldött keresendő szöveg is kb. ennyi). Ez a ciklus bash alatt megy, és wget-et használ. Ha valaki megcsinálná Windows alá is, hálás lennék érte. Fontos, hogy a megfelelő rate=...
érték szerepeljen a kulcsfontosságú wget --post-file=$x --header="Content-Type: audio/x-flac; rate=44100" -O vmi "https://www.google.com/speech-api/v1/recognize?xjerr=1&client=chromium&lang=hu-HU"
sorban. Ezt a rate
értéket egy file paranccsal is le lehet kérdezni egy adott FLAC fájlra vonatkozóan.
4.) A végeredmény efféle fájlokban érkezik. Az értelmezéshez és az összefűzéshez néhány szkriptet használok; egy szűrőt és egy (adott karakterszám utáni szóköznél történő) darabolót. Konkrétan így szoktam őket meghívni: googstep1 >> ert0; szeleteld_n_szokoz_utan ert0 > ert1
A szűrő szkript részben a felismerési minőség (confidence) alapján dobálja el a válaszok egy részét, részben szócserét alkalmaz. A szócsere nyilván témától függően kialakítandó.
5.) A szöveg átfésülése időigényes művelet. Összehasonlítva a "nulláról gépeléssel", hasonlít a helyzet a biciklis / futó gyalogos viszonyához. Egy-egy futó gyalogos néha tud ugyanolyan gyorsan futni (vagy alig lassabban), mint egy kényelmes kerékpáros, de jóval inkább elfárad.
Annyiban segítek magamon a szöveg átfésülését illetően, hogy nem tartok be olyan szintaktikai szabályokat, amelyek utólag is orvosolhatóak. Azaz nem takarítom el a szóközt a központozás előtt, nem mindig teszek utána pontosan egy szóközt, nem írom át nagy kezdőbetűsre a következő mondatot stb. A szöveget HTML formátumban szerkesztem (UTF-8-ként), s elkészülte után ráeresztem ezt a szkriptet. (Ez még egy gyors visszajelzést ad a "hogy"-okról is, hogy át lehessen pásztázni, hiányzik-e valahonnan vessző.)
Az audacity által elmentett projektfájlból (.au) egyébként nagyszerűen leolvashatóak a hangrészletek időbélyegei, ha valaki ezt szeretné felhasználni utólag (én pl. fel szoktam).
Összevethető: http://palferi.hu/2013.03.26-gepi - http://palferi.hu/2013.03.26
Továbbfejlesztési ötleteket (vagy munkaajánlatokat) örömmel veszek!
- szz blogja
- A hozzászóláshoz be kell jelentkezni
- 1913 megtekintés
Hozzászólások
Ez szuper, köszi! :)
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
A kapott fajlok amugy JSON fajlok, a PHP json_decode fuggvenye kepes ezt sima tombbe abszolvalni.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Köszi!
- A hozzászóláshoz be kell jelentkezni
Powershell 3.0: http://pastebin.com/W4dVcVR4
Elvileg jó, gyakorlatilag nem sikerült sikeres felismerést csinálnom, igaz csak 1 mintával próbáltam.
- A hozzászóláshoz be kell jelentkezni
Príma; ki fogom próbálni. Köszi.
- A hozzászóláshoz be kell jelentkezni
azt tapasztaltam, hogy a v1-re nem megy a link a v2 meg api kulcsos, és a limit 50 req / nap (?)
- A hozzászóláshoz be kell jelentkezni
Akkor már előbbre vagy, mint én, mert csak arra jöttem rá, hogy a régi módszer már nem működik. Bár épp most találtam egy viszonylag friss írást erről a témáról itt: http://mikepultz.com/2013/07/google-speech-api-full-duplex-php-version/
Létezik az, hogy csak egy meghatározott felhasználói kör (pl. az amerikaiak) közé tartozóknál látszik a Speech API (kulcsigényléshez)? Mert nálam itt nem látszik: https://code.google.com/apis/console/ (Baloldalt, az "APIs"-nél).
- A hozzászóláshoz be kell jelentkezni
Segít? http://www.chromium.org/developers/how-tos/api-keys
-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."
rand() a lelke mindennek! :)
Szerinted…
- A hozzászóláshoz be kell jelentkezni
Köszi, tényleg segített a chromium dev listára való jelentkezés! :-)
- A hozzászóláshoz be kell jelentkezni