Dnes s vami zdieľam veľmi užitočný skript na prevod textu na reč pomocou rečového nástroja spoločnosti Google. Hlavnou výhodou tohto skriptu je, že „obchádza“ limit 100 bajtov uložený spoločnosťou Google. Úprimne povedané, tento limit dodržiava, ale všetky riadky odosiela automaticky, čo znamená, že toto obmedzenie si používateľ nevšimne. Tí najnáročnejší si však všimnú, že konverzia nie je v takej kvalite ako tá, ktorú môžeme získať v Google Translate, hlavne kvôli tomuto limitu a že nie je možné odovzdať celý text naraz. Pozitívne je potrebné dodať, že tento skript tiež umožňuje určiť jazyk textu, ktorý sa má prevádzať.
Po objasnení sa pozrime, aké sú kroky, ktoré treba podniknúť.
kroky
1. - Vytvorte súbor s názvom t2s.sh.
2. - Skopírujte nasledujúci obsah:
#! / bin / bash ################################## # Skript reči od Dan Fountain # # Upravené UsemosLinuxom # # TalkToDanF@gmail.com # ################################### INPUT = $ * STRINGNUM = 0 ary = ($ {VSTUP: 2}) echo "---------------------------" echo "Skript reči od Dan Fountain" echo "TalkToDanF @ gmail.com „echo“ --------------------------- „pre zadanie výrazu„ $ {! ary [@]} “urobte KRÁTKYTM [ $ STRINGNUM] = "$ {SHORTTMP [$ STRINGNUM]} $ {ary [$ key]}" LENGTH = $ (echo $ {# SHORTTMP [$ STRINGNUM]}) #echo "slovo: $ key, $ {ary [$ key]} "#echo" pridávanie do: $ STRINGNUM "ak [[" $ LENGTH "-lt" 100 "]]; potom #echo začatie nového riadku KRÁTKY [$ STRINGNUM] = $ {SHORTTMP [$ STRINGNUM]} iný STRINGNUM = $ (($ STRINGNUM + 1)) SHORTTMP [$ STRINGNUM] = "$ {ary [$ key]}" KRÁTKY [ $ STRINGNUM] = "$ {ary [$ key]}" je hotovo pre kľúč v riadku „$ {! SHORT [@]}" do #echo ": $ key je: $ {SHORT [$ key]}" echo " Hracia línia: $ (($ key + 1)) z $ (($ STRINGNUM + 1)) „mplayer“ http://translate.google.com/translate_tts? tj = UTF-8 &tl = $ {1} & q = $ {SHORT [$ key]} "hotovo
3. - Udelte oprávnenie na vykonávanie skriptu:
sudo chmod + x t2s.sh
4. - Vykonajte skript prechádzajúci ako parametre: a) kód jazyka zodpovedajúci textu, b) text, ktorý sa má konvertovať. Napríklad:
./t2s.sh sk Je to veľmi zaujímavý text na konverziu.
To je všetko, dúfam, že sa vám bude páčiť.
Aké super, ďakujem pekne 😉
A aký krásny hlas má dievča, myslím, že som sa zamilovala 😛
Prepáčte, môžete mi pomôcť s čínštinou? Nezistí čínske znaky, iba pchin-jin.
Je to dobré ako pre skript, ktorý kontroluje poštu, alebo pre osobný alarm, ktorý vám po prebudení oznámi predpoveď a čakajúce správy xD
Tu som natočil testovacie video 😛 https://www.youtube.com/watch?v=O3IeK7PjA_0
Dobre! Ďakujem!
Znie to veľmi dobre, stačilo mi nainštalovať iba mpg123 🙂
Tube na inštaláciu mpg123, ale je super, že ak neprijme nejaké slová, napíše správne vlnovkové písmeno atď.
EH EH
Vírusová databáza bola aktualizovaná (?)
apt update && ./t2.sh sk Vírusová databáza bola aktualizovaná
Hahaha Výborne, už na to mám nejaké využitie, zmyselný hlas nepochybne =), vďaka za zdieľanie.
Ako používateľ systému Mac OSX pre mňa nebolo možné používať skript, pretože nemám mpg123, takže úpravou skriptu a použitím VLC ho môžeme nechať správne fungovať v systéme Mac OS X.
http://pastebin.com/C2Mkp1Qy
problém je v tom, že vlc určite zostane zapnutý a po ukončení vykonávania sa nezavrie a môžete použiť cvlc na zabránenie otvorenia grafického rozhrania
dalo by sa to povedať
cvlc –play-and-exit «https://translate.google.com/translate_tts?tl=$ái1-lex.europa.eu&q=$[SHORT[$key]}»
aby sa uzavrela na konci reprodukcie
Ahojte chlapci, zobrazuje sa mi táto chyba, uvidíme, či mi niekto povie, v čom je problém
Hracia čiara: 1 z 1
HTTP požiadavka zlyhala: 404 sa nenašiel
Chyba [mpg123.c: 610]: Prístup k prostriedku http http://translate.google.com/translate_tts?tl=hola&q= zlyhali.
[kód] Hracia čiara: 1 z 1
HTTP požiadavka zlyhala: 404 sa nenašiel
Chyba [mpg123.c: 610]: Prístup k prostriedku http http://translate.google.com/translate_tts?tl=hola&q= zlyhali. [/ kód]
Problém je v tom, že používate skript nesprávne.
Pri jeho spustení musíte zadať jazyk textu ako prvý parameter, ako je uvedené v príklade v príspevku.
Dám ti ďalší príklad:
./t2s.sh v Toto je jednoduchý príklad.
Všimnite si, že za ts2.sh nasleduje „en“ (čo znamená „anglický“, teda anglický). Pre španielčinu použite „es“ a potom frázu v jazyku, ktorý chcete previesť.
Objať! Pavla.
poznáte príkaz hlasu nie? hehe
espeak -v je «ahoj»
Áno, ale nie to isté. Tento hlas je oveľa lepší. 🙂
súhlasíme!
Zdravím!
Pre tých, ktorí majú problémy s mpg123 -q alebo sa im nepáči, môžete prepnúť na mplayer
mpg123 -q «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[SHORT[$key]}»
mplayer «http://translate.google.com/translate_tts?tl=$[1[&q=$[SHORT[$key]}»
Lepší „mplayer –skutočne tichý“, takže nevypĺňa výstup textom
Veľmi dobrý nápad použiť pre svoje aplikácie google mi vyhovuje ako uliate.
http://github.com/alfa30/t2v
Ešte jedna otázka; Mohol by mi niekto povedať, ako zaznamenať výstupný zvuk ???
Sám ti odpovedám, pretože som to práve dostal. Pomocou mpg123 som upravil riadok 38 skriptu a vyzeral takto:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[SHORT[$key]}»
Pridal som -w audio.wav. Takto sa vytvorí súbor wav so zvukom frázy, ale ako som už uviedol, nie je ho počuť. Ak chcete tiež počuť frázu, musíte pridať ďalší riadok. Obaja by ste vyzerali takto:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[SHORT[$key]}» &
mpg123 -q «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[SHORT[$key]}»
Určite by sa to dalo urobiť iným efektívnejším a čistejším spôsobom, ale aspoň to funguje pre mňa.
Vynikajúci José GDF, vyskúšal som vašu metódu s veľmi dobrými výsledkami, zdravím vás.
Ak chcete ušetriť prenos pri druhom spustení, môžete reprodukovať súbory .wav, ktoré ste vygenerovali pri prvom spustení
Áno, pomocou prehrávača, ktorý sme nainštalovali. Napríklad s VLC Player by to bolo:
vlc-audio.wav
Kto povie vlc, povie ktorýkoľvek iný hráč, vrátane tých, ktorí pracujú pomocou terminálu.
Aby nedošlo k prepísaniu súboru pri každom použití skriptu, mala by sa pre názov použiť premenná. Meno, ktoré by používateľ dal (príkaz na čítanie) pred spustením ... To by však zvlnilo zvlnenie 😀
Urobil som to v PHP (aby som vytvoril audio pre telefónny systém Asterisk *)
$ url = 'http://translate.google.com/translate_tts?ie=UTF-8&q={query}% 0A & tl = je & prev = vstup ';
if (count ($ argv) <= 1) {
$ name = basename ($ argv [0]);
zomrieť ($ name. 'použitie:'. $ name. '
}
array_shift ($ argv);
$ query = implode ('', $ argv);
$ názov súboru = str_replace (pole ('', ',', '.'), '-', $ dopyt);
$ názov súboru = str_replace ('-', '-', $ názov súboru);
$ url = str_replace ('{query}', rawurlencode ($ query), $ url);
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, $ url);
curl_setopt ($ ch, CURLOPT_HEADER, 0);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, pravda);
$ výsledok = curl_exec ($ ch);
curl_close ($ ch);
$ path = getcwd (). '/'. $ názov súboru;
file_put_contents ($ path. '. mp3', $ result);
@exec ("sox {$ cesta} .mp3 -b 16 -r 8000 -t wavpcm {$ cesta} .wav");
@unlink ($ cesta. '. mp3');
Čo tak sa mi už podarilo zaznamenať výstupný zvuk pomocou tohto príkazu:
arecord ~ / zhongwen.mp3 & ./t2s.sh zh ni hao; fg
a na konci ctrl + c zastavíte nahrávanie.
Nikdy som nepoužíval php
Ale pri behu:
php5 prevod textu na reč.php je Dobrý deň
konsola hostí toto:
formáty sox FAIL: žiadny obslužný program pre príponu súboru `mp3 ′
Akýkoľvek príspevok si veľmi vážime, skúsim to znova neskôr.
2 aplikácie pre prekladač jazykov Google + preklad textu na reč:
http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/
Myslím, že je to najlepší spôsob prevodu, hlas nie je taký zlý ako ostatné možnosti pre Linux> _
Existuje spôsob, ako ho donútiť čítať textový súbor?
Bolo by veľmi užitočné prevádzať celé knihy do zvuku
No nefunguje mi to, neviem prečo, toto vychádza:
xxxxx: ~ / Documents / Linux $ ./t2s.sh je ahoj
---------
Skript reči, ktorý napísal Dan Fountain
TalkToDanF@gmail.com
---------
Hracia čiara: 1 z 1
http_open: HTTP / 1.0 400 Chybná požiadavka
http://translate.google.com: Súbor alebo adresár neexistuje
Mám nainštalovaný mpg123 a urobil som malé testy a nič .... Vopred ďakujem
Dobrý deň, tento scenár mi poslúžil veľmi dobre, a to ako na počúvanie zvuku, tak na zaznamenávanie slov prekladateľa.
V skutočnosti som upravil skript tak, aby som ho prispôsobil potrebám, ktoré mám: Transformovať zoznam slov v texte (lemario) na reč; uložiť môj hlas do wav, previesť na ogg a pomenovať ich podľa prečítaného slova.
Urobil som to v KDE pomocou Kdialogu, aby som určil cestu, kde je súbor so zoznamom slov, a adresár, do ktorého chcem uložiť hlasový zvuk.
Po dokončení konverzie WAV na OGG sa pre mňa vytvoria dva priečinky, kde sú uložené wav na jednej strane a ogg na druhej strane.
Spočiatku som sa hneval, pretože som nečítal správne slová s prízvukmi, ale zistil som, že do kódu musíte pridať „es & ie = UTF8“. Na chvíľu som zabudol kódovanie znakov.
Nechám vám kód skriptu, ktorý som vytvoril, keby vám pomohol:
##################################################### ######################
#! / Bin / bash
#####################################
# Prednáška prevodu textu na reč #
# Upravil Ignacio Cruz Martínez #
# pošta je tajná xD #
#####################################
Dialógové okno #KDE na určenie cesty a názvu lemmaria
soyunarchivo = $ (kdialog –inputbox «Zadajte cestu a názov súboru (s príponou, ak ju má):»)
Dialógové okno #KDE určuje cieľový priečinok pre hlasové súbory
path = $ (kdialog –inputbox «Zadajte cestu na uloženie hlasového zvuku:»)
# skrz mačku sa načítajú všetky riadky textového súboru, každý riadok sa skladá z jedného slova
pre i v $ (cat $ soyunfile)
do
echo $ i
# prevedenie na reč pomocou služby Google Translate, nezabudnite na kódovanie, aby sa v ňom nachádzali akcenty
mpg123 -q -w "$ path" $ i.wav "http://translate.google.com/translate_tts?tl=es&ie=UTF8&q=$i"
mpg123 -q "http://translate.google.com/translate_tts?tl=es&ie=UTF8&q=$i"
# použitie ffmpeg na prevod súborov wav na ogg
ffmpeg -i "$ cesta" $ i.wav -acodec libvorbis "$ cesta" $ i.ogg
vykonané
#s týmito riadkami sa vytvárajú priečinky na usporiadanie hlasových súborov vo formáte WAV alebo OGG
mkdir "$ cesta" WAV
mv "$ cesta" *. wav "$ cesta" WAV
mkdir "$ cesta" OGG
mv "$ cesta" *. ogg "$ cesta" OGG
Dialógové okno #KDE označuje, že úloha je dokončená
kdialog –msgbox 'Proces bol ukončený'
##################################################### ####################
Teraz má niekto z vás vedomosti o licencii na používanie generovaných hlasových súborov?
Obmedzenie autorských práv a súvisiacich vecí. To ma zaujíma, pretože plánujem použiť niektoré z týchto hlasových súborov na podporu ľudí, ktorí sa stanú gramotnými, v podstate ide o neziskový projekt.
A je to tak, že tento nástroj má najlepšiu intonáciu pre španielsky jazyk, bohužiaľ v systéme Linux nič podobné neexistuje. Spoločnosť Mbrola mi dala veľa problémov, aby som ju založil spolu s Gespeakerom.
Ďakujem a uvidíme sa.
Netuším ... musel by som sa pozrieť na licencie Prekladača Google.
Skript pre mňa nefungoval, zjavne ide o problém súvisiaci s adresou URL, pre tých, ktorí majú záujem, je to správna adresa URL:
http://translate.google.com/translate_tts?tl=es&q=Hola
Ahoj! Robil som testy s vašim skriptom a pri jeho spustení mi povedal, že nemôže nájsť zvuk, takže som zadal URL a zdá sa, že pán google vložil captcha ...
aktualizovať skript