Danes z vami delim zelo koristen skript za pretvorbo besedila v govor z uporabo Googlovega govornega mehanizma. Glavna prednost tega skripta je, da "zaobide" 100-bajtno omejitev, ki jo je naložil Google. Pravzaprav, če sem iskren, spoštuje to omejitev, vendar samodejno pošlje vse vrstice, kar pomeni, da uporabnik te omejitve ne opazi. Najzahtevnejši pa bodo opazili, da pretvorba ni enake kakovosti kot tista, ki jo lahko dobimo v Google Translateu, predvsem zaradi te omejitve in da celotnega besedila ni mogoče predati z enim zamahom. Pozitivno je dodati, da vam ta skript omogoča tudi določitev jezika besedila, ki ga želite pretvoriti.
Po razjasnitvi poglejmo, katere korake je treba upoštevati.
koraki
1.- Ustvarite datoteko z imenom t2s.sh.
2.- Kopirajte naslednjo vsebino:
#! / bin / bash ################################## # Skripta govora Dan Fountain # # Spremenil UsemosLinux # # TalkToDanF@gmail.com # ################################## INPUT = $ * STRINGNUM = 0 arry = ($ {INPUT: 2}) echo "---------------------------" echo "Govorni scenarij Dan Fountain" echo "TalkToDanF @ gmail.com "echo" --------------------------- "za ključ v" $ {! ary [@]} "do SHORTTMP [ $ STRINGNUM] = "$ {SHORTTMP [$ STRINGNUM]} $ {ary [$ key]}" "LENGTH = $ (echo $ {# SHORTTMP [$ STRINGNUM]}) #echo" beseda: $ key, $ {ary [$ tipka]} "#echo" dodajanje v: $ STRINGNUM "če [[" $ LENGTH "-lt" 100 "]]; nato #echo začenja novo vrstico SHORT [$ STRINGNUM] = $ {SHORTTMP [$ STRINGNUM]} else STRINGNUM = $ (($ STRINGNUM + 1)) SHORTTMP [$ STRINGNUM] = "$ {ary [$ key]}" SHORT [ $ STRINGNUM] = "$ {ary [$ key]}" fi končano za ključ v vrstici "$ {! SHORT [@]}" do #echo ": $ key je: $ {SHORT [$ key]}" echo " Vrstica za igranje: $ (($ key + 1)) od $ (($ STRINGNUM + 1)) "mplayer" http://translate.google.com/translate_tts? ie = UTF-8 &tl = $ {1} & q = $ {SHORT [$ key]} "končano
3.- Dodelite dovoljenja za izvajanje skriptu:
sudo chmod + x t2s.sh
4.- Izvedite skript, ki se poda kot parametri: a) koda jezika, ki ustreza besedilu, b) besedilo, ki ga želite pretvoriti. Na primer:
./t2s.sh sl To je zelo zanimivo besedilo za pretvorbo.
To je to, upam, da boste uživali.
Kako kul, najlepša hvala 😉
In kako čudovit glas ima deklica, mislim, da sem se zaljubila 😛
Oprostite, mi lahko pomagate pri kitajščini? Ne zazna kitajskih črk, samo pinjin.
To je dobro kot za skript, ki preverja pošto ali za osebni alarm, ki vam ob prebujanju sporoča napoved in čakajoča sporočila xD
Tu sem naredil testni video 😛 https://www.youtube.com/watch?v=O3IeK7PjA_0
Dobro! Hvala vam!
Sliši se zelo dobro, namestiti sem moral le mpg123 🙂
Cev za namestitev mpg123, vendar je kul, če ne sprejme nekaterih besed, napiše pravo tildno črko itd.
EH EH
Baza virusov je posodobljena (?)
apt update && ./t2.sh sl Baza virusov je posodobljena
Hahaha Odlično, že imam nekaj uporab, senzualni glas brez dvoma =), hvala za skupno rabo.
Kot uporabnik Mac OSX skripta nisem mogel uporabljati, ker nimam mpg123, zato lahko s spreminjanjem skripta in uporabo VLC omogočimo pravilno delovanje v Mac OS X.
http://pastebin.com/C2Mkp1Qy
težava je v tem, da vlc zagotovo ostane vklopljen in se ne zapre, ko konča izvajanje, in lahko uporabite cvlc, da preprečite odpiranje grafičnega vmesnika
bi se dalo
cvlc –predvajanje-in-izhod «https://translate.google.com/translate_tts?tl=$[$key]}»
tako da se ob koncu razmnoževanja zapre
Živjo fantje, dobil sem to napako, poglejmo, če mi kdo pove, v čem je težava
Vrstica za igranje: 1 od 1
Zahteva HTTP ni uspela: 404 ni mogoče najti
[mpg123.c: 610] napaka: Dostop do vira http http://translate.google.com/translate_tts?tl=hola&q= neuspeli.
[koda] Vrstica predvajanja: 1 od 1
Zahteva HTTP ni uspela: 404 ni mogoče najti
[mpg123.c: 610] napaka: Dostop do vira http http://translate.google.com/translate_tts?tl=hola&q= neuspeli. [/ Koda]
Težava je v tem, da skript uporabljate napačno.
Ko ga zaženete, morate kot prvi parameter predati jezik besedila, kot je prikazano v primeru v prispevku.
Dajem vam še en primer:
./t2s.sh v To je preprost primer.
Upoštevajte, da za ts2.sh sledi "en" (kar pomeni "angleščina", to je angleščina). Za španščino uporabite "es" in nato besedno zvezo v jeziku, ki ga želite pretvoriti.
Objem! Paul.
poznate ukaz za govor ne? hehe
espeak -v is-the «hello»
Da, vendar ne enako. Ta glas je toliko boljši. 🙂
se strinjamo!
Lep pozdrav!
Za tiste, ki imajo težave z mpg123 -q ali pa jim ni všeč, lahko preklopite na mplayer
mpg123 -q «http://translate.google.com/translate_tts?tl=$[1íritu&q=$[KRATKO[$key]}»
mplayer «http://translate.google.com/translate_tts?tl=$[1[&q=$[SHORT[$key]}»
Boljši "mplayer - resnično tih", tako da izhod ne zapolni z besedilom
Zelo dobra ideja, da za svoje aplikacije uporabljam google, mi ustreza kot rokavice.
http://github.com/alfa30/t2v
Še eno vprašanje; Bi mi lahko kdo povedal, kako posneti izhodni zvok ???
Odgovorim vam sam, ker sem pravkar dobil. Z uporabo mpg123 sem spremenil vrstico 38 skripta, videti tako:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$íritu1lah&q=$[KRATKO[$key]}»
Dodal sem -w audio.wav. To ustvari datoteko wav z zvokom besedne zveze, vendar je, ko sem jo pustil, ni slišati. Če želite tudi slišati besedno zvezo, morate dodati še eno vrstico. Oba bi bila videti takole:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[KRATKO[$key]}» &
mpg123 -q «http://translate.google.com/translate_tts?tl=$[1íritu&q=$[KRATKO[$key]}»
Zagotovo bi to lahko storili na drug bolj učinkovit in čist način, vendar vsaj zame deluje.
Odlično José GDF, preizkusil sem vašo metodo z zelo dobrimi rezultati, lep pozdrav.
Če želite prihraniti promet pri drugi izvedbi, lahko reproducirate datoteko .wav, ki ste jo ustvarili v prvi izvedbi
No ja, z uporabo predvajalnika, ki smo ga namestili. Na primer, pri predvajalniku VLC bi bilo:
vlc-avdio.wav
No, kdo pravi vlc, pravi kateri koli drug igralec, vključno s tistimi, ki delujejo prek terminala.
Da bi se izognili prepisovanju datoteke vsakič, ko uporabite skript, je za ime treba uporabiti spremenljivko. Ime, ki bi ga uporabnik dal (preberi ukaz), preden začne ... Ampak to bi bilo kodranje curla 😀
Naredil sem to v PHP (za ustvarjanje zvoka za telefonski sistem Asterisk *)
$ url = 'http://translate.google.com/translate_tts?ie=UTF-8&q={poizvedba}% 0A & tl = je & prev = input ';
if (count ($ argv) <= 1) {
$ ime = osnovno ime ($ argv [0]);
die ($ name. 'uporaba:'. $ ime. '
}
array_shift ($ argv);
$ poizvedba = implode ('', $ argv);
$ ime datoteke = str_replace (matrika ('', ',', '.'), '-', $ poizvedba);
$ ime datoteke = str_replace ('-', '-', $ ime datoteke);
$ url = str_replace ('{poizvedba}', rawurlencode ($ poizvedba), $ url);
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, $ url);
curl_setopt ($ ch, CURLOPT_HEADER, 0);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, resnično);
$ rezultat = curl_exec ($ ch);
curl_close ($ ch);
$ pot = getcwd (). '/'. $ ime datoteke;
file_put_contents ($ pot. '. mp3', $ rezultat);
@exec ("sox {$ path} .mp3 -b 16 -r 8000 -t wavpcm {$ path} .wav");
@unlink ($ path. '. mp3');
Kako pa je, da sem s tem ukazom že uspel posneti izhodni zvok:
arecord ~ / zhongwen.mp3 & ./t2s.sh zh ni hao; fg
in na koncu ctrl + c, da ustavite snemanje.
Nikoli nisem uporabljal php
Toda med tekom:
php5 text-to-speech.php je Pozdravljeni
konsola gosti to:
formati sox FAIL: ni vodnika za pripono datoteke `mp3 '
Vsak prispevek je zelo cenjen, poskusil bom kasneje.
2 aplikaciji za Googlov jezikovni prevajalec + prevajanje besedila v govor:
http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/
Mislim, da je to najboljši način za pretvorbo, glas ni tako slab kot druge možnosti za Linux> _
Ali obstaja način, da se prebere navadna besedilna datoteka?
Zelo koristno bi bilo pretvoriti celotne knjige v zvok
No, ne vem zakaj, to se izkaže:
xxxxx: ~ / Documents / Linux $ ./t2s.sh je pozdravljen
---------
Govorni scenarij Dan Fountain
TalkToDanF@gmail.com
---------
Vrstica za igranje: 1 od 1
http_open: HTTP / 1.0 400 Bad Request
http://translate.google.com: Takšne datoteke ali imenika ni
Nameščen je mpg123, naredil sem majhne teste in nič ... Hvala vnaprej
Hej, ta scenarij mi je zelo služil, tako za poslušanje zvoka kot za snemanje besed prevajalca.
Pravzaprav sem priredil skript, da ga prilagodim potrebam: Spremenim seznam besed v besedilu (lemario) v govor; shrani moj glas v wav, pretvori v ogg in jih poimenuj glede na prebrano besedo.
To sem naredil v KDE s pomočjo Kdialoga, da določim pot, kjer je datoteka s seznamom besed in imenik, kamor želim shraniti glasovni zvok.
Ko je pretvorba iz WAV v OGG končana, ustvari dve mapi, kjer se shranita wav na eni strani in ogg na drugi strani.
Sprva me je razjezilo, ker besed s poudarki ni pravilno prebral, vendar sem ugotovil, da morate v kodo dodati "es & ie = UTF8". Za trenutek sem pozabil kodiranje znakov.
Kodo skripta, ki sem ga naredil, pustim, če deluje:
#################################################### ######################
#! / Bin / bash
###################################
# Predavanje besedila v govor #
# Priredil Ignacio Cruz Martínez #
# pošta je tajna xD #
###################################
V pogovornem oknu #KDE določite pot in ime lemarije
soyunarchivo = $ (kdialog –inputbox «Vnesite pot in ime datoteke (s pripono, če jo ima):»)
Pogovorno okno #KDE za določitev ciljne mape za glasovne datoteke
pot = $ (kdialog –inputbox «Vnesite pot, da shranite glasovni zvok:»)
# skozi cat se preberejo vse vrstice besedilne datoteke, vsaka vrstica je sestavljena iz ene besede
za i v $ (cat $ soyunfile)
do
echo $ i
# pretvorba v govor s pomočjo google translate, ne pozabite na kodiranje, tako da bere naglas
mpg123 -q -w "$ pot" $ 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"
# z uporabo ffmpeg za pretvorbo wav datotek v ogg
ffmpeg -i "$ path" $ i.wav -acodec libvorbis "$ path" $ i.ogg
opravljeno
#s temi vrsticami so mape ustvarjene za organiziranje glasovnih datotek v WAV ali OGG
mkdir "$ pot" WAV
mv "$ pot" *. wav "$ pot" WAV
mkdir "$ pot" OGG
mv "$ pot" *. ogg "$ pot" OGG
Pogovorno okno #KDE, ki označuje, da je opravilo končano
kdialog –msgbox 'Proces je zaključen'
#################################################### ####################
Ali ima kdo od vas znanje o licenci za uporabo ustvarjenih glasovnih datotek?
Omejitve glede avtorskih pravic in sorodnih stvari. To me zanima, ker nameravam uporabiti nekatere od teh glasovnih datotek za podporo ljudem, ki bodo postali pismeni, v bistvu gre za neprofitni projekt.
In to je, da ima to orodje najboljšo intonacijo za španski jezik, žal v Linuxu ni nič podobnega. Mbrola mi je dal veliko težav pri ustanovitvi skupaj z Gespeakerjem.
Hvala in se vidimo.
Pojma nimam ... bi si moral ogledati licence za Google Translator.
Skript zame ni deloval, očitno gre za težavo, povezano z URL-jem, za tiste, ki jih to zanima, je to pravi URL:
http://translate.google.com/translate_tts?tl=es&q=Hola
Zdravo! Naredil sem teste z vašim skriptom in pri njegovem izvajanju mi je rekel, da ne najde zvoka, zato sem vnesel URL in zdi se, da je gospod Google dal captcha ...
posodobite skript