Danas dijelim s vama vrlo korisnu skriptu za pretvaranje teksta u govor pomoću Googleove govorne mašine. Glavna prednost ove skripte je što "zaobilazi" ograničenje od 100 bajtova koje je nametnuo Google. Zapravo, da budem iskren, poštuje ovo ograničenje, ali automatski šalje sve linije, tako da to ograničenje korisnik ne primjećuje. Oni najzahtjevniji primijetit će, međutim, da pretvorba nije iste kvalitete kao ona koju možemo dobiti u Google Translateu, uglavnom zbog tog ograničenja i da nije moguće proći cijeli tekst u jednom potezu. Kao pozitivnu točku treba dodati da vam ova skripta omogućuje i određivanje jezika teksta koji će se pretvoriti.
Nakon razjašnjenja, pogledajmo koje korake treba slijediti.
koraci
1. - Stvorite datoteku s imenom t2s.sh.
2. - Kopirajte sljedeći sadržaj:
#! / bin / bash ################################## # Govorna skripta Dan Fountain # # Izmijenio UsemosLinux # # TalkToDanF@gmail.com # ################################# INPUT = $ * STRINGNUM = 0 arry = ( $ {INPUT: 2}) echo "---------------------------" echo "Govorna skripta Dan Fountain" echo "TalkToDanF @ gmail .com "echo" --------------------------- "za ključ u" $ {! ary [@]} "do SHORTTMP [$ STRINGNUM] = "$ {SHORTTMP [$ STRINGNUM]} $ {ary [$ key]}" "LENGTH = $ (echo $ {# SHORTTMP [$ STRINGNUM]}) #echo" riječ: $ key, $ {ary [$ key ]} "#echo" dodavanje u: $ STRINGNUM "ako [[" $ LENGTH "-lt" 100 "]]; zatim #echo započinje novi redak SHORT [$ STRINGNUM] = $ {SHORTTMP [$ STRINGNUM]} else STRINGNUM = $ (($ STRINGNUM + 1)) SHORTTMP [$ STRINGNUM] = "$ {ary [$ key]}" SHORT [ $ STRINGNUM] = "$ {ary [$ key]}" fi završeno za ključ u retku "$ {! SHORT [@]}" do #echo: $ key je: $ {SHORT [$ key]} "echo" Red za reprodukciju: $ (($ key + 1)) od $ (($ STRINGNUM + 1)) "mplayer" http://translate.google.com/translate_tts? ie = UTF-8 &tl = $ {1} & q = $ {SHORT [$ key]} "gotovo
3. - Dodijelite dozvole za izvršavanje skripte:
sudo chmod + x t2s.sh
4. - Izvršite skriptu koja prolazi kao parametri: a) kôd jezika koji odgovara tekstu, b) tekst koji treba pretvoriti. Na primjer:
./t2s.sh Ovo je vrlo zanimljiv tekst za pretvaranje.
To je to, nadam se da ćete uživati.
Baš super, hvala puno 😉
A kakav lijep glas ima djevojka, mislim da sam se zaljubila 😛
Oprostite, možete li mi pomoći s kineskim? Ne otkriva kineske znakove, već samo pinjin.
Ovo je dobro kao za skriptu koja provjerava poštu ili za personalizirani alarm koji vam prilikom buđenja govori predviđanje i poruke na čekanju xD
Ovdje sam napravio testni video video https://www.youtube.com/watch?v=O3IeK7PjA_0
Dobro! Hvala vam!
Zvuči vrlo dobro, morao sam instalirati samo mpg123 🙂
Cijev za instalaciju mpg123, ali u redu je, ako ne prihvati neke riječi, kaže pravo tildno slovo itd.
EH EH
Baza virusa je ažurirana (?)
apt update && ./t2.sh hr Baza podataka o virusima je ažurirana
Hahaha Izvrsno, već imam neke svrhe za to, senzualni glas bez sumnje =), hvala na dijeljenju.
Kao korisniku Mac OSX-a, nisam mogao koristiti skriptu, jer nemam mpg123, tako da izmjenom skripte i upotrebom VLC-a možemo ostaviti da ispravno radi u Mac OS X-u.
http://pastebin.com/C2Mkp1Qy
problem je u tome što vlc sigurno ostaje uključen i ne zatvara se kad završi s izvršavanjem, a vi biste mogli koristiti cvlc da spriječite otvaranje grafičkog sučelja
moglo bi se staviti
cvlc –igraj-i-izađi «https://translate.google.com/translate_tts?tl=$ái1-lex.europa.eu&q=$[KRATKA[$key]}»
tako da se zatvori na kraju razmnožavanja
Bok, dečki, dobio sam ovu pogrešku, da vidimo hoće li mi netko reći u čemu je problem
Red igranja: 1 od 1
HTTP zahtjev nije uspio: 404 nije pronađen
[mpg123.c: 610] pogreška: pristup http resursu http://translate.google.com/translate_tts?tl=hola&q= propali.
[kod] Red igranja: 1 od 1
HTTP zahtjev nije uspio: 404 nije pronađen
[mpg123.c: 610] pogreška: pristup http resursu http://translate.google.com/translate_tts?tl=hola&q= propali. [/ kod]
Problem je u tome što skriptu koristite pogrešno.
Kada ga pokrenete, jezik teksta morate predati kao prvi parametar, kao što je prikazano u primjeru u postu.
Dajem vam još jedan primjer:
./t2s.sh u Ovo je jednostavan primjer.
Primijetite da nakon ts2.sh slijedi "en" (što znači "engleski", odnosno engleski). Za španjolski upotrijebite "es", a zatim frazu na tom jeziku koji želite pretvoriti.
Zagrliti! Pavao.
znate naredbu za izgovaranje ne? hehe
espeak -v is-the «hello»
Da, ali ne isto. Ovaj je glas toliko bolji. 🙂
slažemo se!
Pozdrav!
Za one koji imaju problema s mpg123 -q ili ih ne vole, možete se prebaciti na mplayer
mpg123 -q «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[KRATKO[$key]}»
mplayer «http://translate.google.com/translate_tts?tl=$[1[&q=$[SHORT[$key]}»
Bolji "mplayer - stvarno-tih", tako da ne ispunjava izlaz tekstom
Izvrsna ideja da koristim google za svoje aplikacije odgovara mi poput rukavice.
http://github.com/alfa30/t2v
Još jedno pitanje; Može li mi netko reći kako da snimim izlazni zvuk ???
Odgovorim vam sam, jer sam ga upravo dobio. Koristeći mpg123, izmijenio sam redak 38 skripte, izgledajući ovako:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$[1[&q=$[SHORT[$key]}»
Dodao sam -w audio.wav. Ovo stvara wav datoteku sa zvukom fraze, ali kako sam je ostavio, ona se ne čuje. Ako i vi želite čuti frazu, morat ćete dodati još jedan redak. Oboje biste izgledali ovako:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[KRATKA[$key]}» &
mpg123 -q «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[KRATKO[$key]}»
Sigurno bi se to moglo učiniti na još jedan učinkovitiji i čistiji način, ali barem meni uspijeva.
Izvrsni José GDF, isprobao sam vašu metodu s vrlo dobrim rezultatima, pozdrav.
Da biste uštedjeli promet u drugom izvršenju, mogli biste reproducirati .wav koji ste generirali u prvom
Pa da, pomoću playera koji smo instalirali. Na primjer, s VLC Playerom to bi bilo:
vlc-audio.wav
Pa, tko kaže vlc, kaže bilo koji drugi igrač, uključujući one koji rade preko terminala.
Da biste izbjegli prepisivanje datoteke svaki put kada se koristi skripta, za naziv treba koristiti varijablu. Ime koje bi korisnik stavio (pročitajte naredbu) prije pokretanja ... Ali to bi bilo uvijanje uvojka 😀
Učinio sam to u PHP-u (da bih stvorio zvuk za telefonski sustav Asterisk *)
$ url = 'http://translate.google.com/translate_tts?ie=UTF-8&q={upit}% 0A & tl = je & prev = input ';
if (count ($ argv) <= 1) {
$ ime = osnovno ime ($ argv [0]);
die ($ name. 'upotreba:'. $ name. '
}
pomicanje_ niza ($ argv);
$ upit = implode ('', $ argv);
$ filename = str_replace (niz ('', ',', '.'), '-', $ upit);
$ filename = str_replace ('-', '-', $ filename);
$ url = str_replace ('{upit}', rawurlencode ($ upit), $ url);
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, $ url);
curl_setopt ($ ch, CURLOPT_HEADER, 0);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, točno);
$ rezultat = curl_exec ($ ch);
curl_close ($ ch);
$ path = getcwd (). '/'. $ filename;
file_put_contents ($ put. '. mp3', $ rezultat);
@exec ("sox {$ path} .mp3 -b 16 -r 8000 -t wavpcm {$ path} .wav");
@unlink ($ path. '. mp3');
Kako bi bilo da sam ovom naredbom već uspio snimiti izlazni zvuk:
arecord ~ / zhongwen.mp3 & ./t2s.sh zh ni hao; fg
i na kraju ctrl + c da zaustavite snimanje.
Nikad nisam koristio php
Ali kada trčite:
php5 pretvaranje teksta u govor.php je Zdravo
konsola ovo ugošćuje:
formati sox FAIL: nema rukovatelja za proširenje datoteke `mp3 ′
Svaki doprinos je jako zahvalan, pokušat ću ponovo kasnije.
2 aplikacije za Googleov prevoditelj jezika + prijevod u govor:
http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/
Mislim da je to najbolji način za konverziju, glas nije toliko loš kao ostale opcije za Linux> _
Postoji li način da se pročita čitava datoteka s običnim tekstom?
Bilo bi vrlo korisno pretvoriti cijele knjige u audio
Pa, to mi ne ide, ne znam zašto, ovo izlazi:
xxxxx: ~ / Documents / Linux $ ./t2s.sh je pozdrav
---------
Scenarij govora Dan Fountain
TalkToDanF@gmail.com
---------
Red igranja: 1 od 1
http_open: HTTP / 1.0 400 Loš zahtjev
http://translate.google.com: Nema takve datoteke ili direktorija
Instalirao sam mpg123 i napravio sam male testove i ništa ... Hvala unaprijed
Hej, ova skripta mi je jako dobro poslužila kako za preslušavanje zvuka, tako i za snimanje riječi prevoditelja.
Zapravo, izmijenio sam skriptu kako bih je prilagodio potrebama koje imam: Pretvorite popis riječi u tekstu (lemario) u govor; spremi moj glas u wav, pretvori u ogg i daj im imena prema pročitanoj riječi.
To sam učinio u KDE-u koristeći Kdialog kako bih odredio put gdje se nalazi datoteka s popisom riječi i direktorij u kojem želim da se glasovni zvuk spremi.
Kad je konverzija iz WAV u OGG gotova, kreiraju se dvije mape u kojima se spremaju wav s jedne i ogg s druge strane.
Isprva sam bio ljut jer nisam pravilno pročitao riječi s naglascima, ali otkrio sam da u kôd morate dodati "es & ie = UTF8". Na trenutak sam zaboravio kodiranje znakova.
Ostavljam vam kod skripte koji sam napravio u slučaju da vam pomogne:
#################################################### #######################
#! / bin / bash
###################################
# Predavanje teksta u govor #
# Adaptirao Ignacio Cruz Martínez #
# pošta je tajna xD #
###################################
Dijaloški okvir #KDE za specificiranje putanje i naziva lemarija
soyunarchivo = $ (kdialog –inputbox «Unesite put i ime datoteke (s nastavkom ako ga ima):»)
Dijaloški okvir #KDE za određivanje odredišne mape za glasovne datoteke
path = $ (kdialog –inputbox «Unesite put za spremanje zvuka glasa:»)
# kroz cat čitaju se svi redovi tekstualne datoteke, svaki redak sastoji se od jedne riječi
za ja u $ (mačka $ soyunfile)
do
odjek $ i
# pretvaranje u govor pomoću google translate-a, ne zaboravite kodiranje tako da čita naglaske
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"
# pomoću ffmpeg za pretvaranje wav datoteka u ogg
ffmpeg -i "$ path" $ i.wav -acodec libvorbis "$ path" $ i.ogg
obavlja
#s ovim redovima mape su stvorene za organiziranje glasovnih datoteka u WAV ili OGG
mkdir "$ path" WAV
mv "$ path" *. wav "$ path" WAV
mkdir "$ path" OGG
mv "$ path" *. ogg "$ path" OGG
Dijaloški okvir #KDE za označavanje završetka posla
kdialog –msgbox 'Proces je završen'
#################################################### ####################
Sad, ima li netko od vas znanja o licenci za korištenje generiranih glasovnih datoteka?
Ograničenja za autorska prava i srodne stvari. To me zanima jer neke od tih glasovnih datoteka planiram koristiti za podršku ljudima koji će se opismeniti, u osnovi je to neprofitni projekt.
I jest da ovaj alat ima najbolju intonaciju za španjolski jezik, nažalost u Linuxu nema ništa slično. Mbrola mi je zadao puno problema da uspostavim vezu s Gespeaker-om.
Hvala i vidimo se.
Nemam pojma ... morao bih pogledati licence za Google Translator.
Skripta mi nije uspjela, očito je problem povezan s URL-om, za one koje zanima ovo je ispravan URL:
http://translate.google.com/translate_tts?tl=es&q=Hola
Zdravo! Radio sam testove s vašom skriptom i prilikom izvršavanja, rekao mi je da ne može pronaći zvuk, pa sam unio URL i čini se da je gospodin Google stavio captcha ...
ažurirajte skriptu