JAK NA TO [ Automaticky preklad mluveneho slova do cestiny ]:
Ahoj Vsichni,
dejme tomu, ze mame zahranicni video. Mluvene slovo. S necim zajimavym. A strasne moc bychom chteli to video dat kamaradovi, ktery neumi anglicky. Jenomze je to video, ktery neni nikde cesky. Tak co s tim?
No nabizi se moznost strojoveho prekladu zdrojoveho videa do cestiny pomoci neuronovych siti.
Vstupni predpoklady (predpokladam Debian):
a] nejaky mkv, mp4 nebo video soubor v anglictine
b] Python Vosk (pip iinstall vosk)
c] translate-shell (apt-get install translate-shell)
----------------------------------------------------------------------
Navod jak sobe prelozit anglicke video do cesky psaneho textu:
1) zacneme tim, ze ze zdrojovelho videa vyextrahujeme audio do mp3. Tedy napriklad skriptem extr.sh (ten prelozi vsechny mkv v danem adresari):
find . -type f -name "*.mkv" -exec bash -c 'FILE="$1"; ffmpeg -i "${FILE}" -vn -c:a libmp3lame -y "${FILE%.mkv}.mp3";' _ '{}' \;
vysledkem bude tedy mp3 soubor, ktery muzeme zpracovat dale
2) vyextrahujeme z anglickeho mluvene slova anglicky text
python ./test_ffmpeg.py audio_z_videamp3 2>&1 | grep text | cut -b 12- > en.txt
Kde test_ffmpeg.py je [1]
3) prelozime en.txt (tedy vyextrahovane video pomoci translate-shell. Tedy napriklad:
while read p; do
./en2cz.sh "$p"
done < ./en.txt
Kde en2cz.sh muze byt treba:
trans -e google -j -show-languages=n -show-prompt-message=n -show-original=n -show-alternatives=n -no-ansi -no-theme -t cs "$1"
\Tohle je pomoci google, ale samozrejme lze zkusit pozit i jinou metodou (jejich seznam pomoci: trans -S
... prave hledam nejaky lepsi prekladac, aby se nemusel pouzivat Google, proitoze u delsich textu ztrati trpelivost a prestane prekladat (predpokladam, ze bude najeky limit na volani API)
Rozhodne to neni dokonale, ale spise takovy legrace na dlouhe zimni vecery.
Ceskemu jazyku zdar.
[1]
https://github.com/alphacep/vosk-api/blob/master/python/example/test_ffmpeg.py