Täna jagan teiega väga kasulikku skripti teksti kõneks teisendamiseks Google'i kõnemootori abil. Selle skripti peamine eelis on see, et see "hoiab mööda" Google'i kehtestatud 100-baidisest piirangust. Tegelikult, ausalt öeldes, see austab seda piiri, kuid saadab kõik read automaatselt, mis tähendab, et see piirang jääb kasutajale märkamata. Kõige nõudlikumad märkavad siiski, et teisendamine pole sama kvaliteediga kui Google Translate'is, peamiselt selle limiidi tõttu ja kogu teksti pole võimalik ühe hoobiga edastada. Positiivse punktina tuleb lisada, et see skript võimaldab teil määrata ka teisendatava teksti keele.
Pärast selgitamist vaatame, milliseid samme tuleb järgida.
sammud
1.- Looge fail nimega t2s.sh.
2.- Kopeerige järgmine sisu:
#! / bin / bash #################################### # kõne skripti autor Dan Fountain # # Muudetud UsemosLinux # # TalkToDanF@gmail.com # ##################################### INPUT = $ * STRINGNUM = 0 ary = ($ {INPUT: 2}) echo "---------------------------" echo "Dan Fountaini kõneskript" echo "TalkToDanF @ gmail.com "echo" --------------------------- võtme "$ {! ary [@]}" võtme jaoks tehke SHORTTMP [ $ STRINGNUM] = "$ {SHORTTMP [$ STRINGNUM]} $ {ary [$ key]}" LENGTH = $ (kaja $ {# SHORTTMP [$ STRINGNUM]}) #echo "sõna: $ key, $ {ary [$ klahv]} "#echo" lisamine kausta: $ STRINGNUM ", kui [[" $ LENGTH "-lt" 100 "]]; siis #echo uue rea alustamine SHORT [$ STRINGNUM] = $ {SHORTTMP [$ STRINGNUM]} veel STRINGNUM = $ (($ STRINGNUM + 1)) SHORTTMP [$ STRINGNUM] = "$ {ary [$ key]}" SHORT [ $ STRINGNUM] = "$ {ary [$ key]}" on võtme jaoks reas "$ {! SHORT [@]}" do #echo "tehtud: $ key on: $ {SHORT [$ key]}" kaja " Mängurida: $ (($ key + 1)) / $ (($ STRINGNUM + 1)) "mplayer" http://translate.google.com/translate_tts? st = UTF-8 &tl = $ {1} & q = $ {SHORT [$ key]} "valmis
3.- Skripti täitmisõiguste andmine:
sudo chmod + x t2s.sh
4.- Käivitage skript parameetritena: a) tekstile vastava keele kood, b) teisendatav tekst. Näiteks:
et/t2s.sh et See on teisendamiseks väga huvitav tekst.
See on kõik, loodan, et teile meeldib.
Kui lahe, suur aitäh 😉
Ja kui ilus hääl on tüdrukul, arvan, et armusin 😛
Vabandage, kas saate mind aidata hiina keeles? See ei tuvasta hiina tähemärke, vaid ainult pinyini.
See on hea nii skripti puhul, mis kontrollib posti, kui ka isikupärastatud häire korral, mis ärgates ütleb teile prognoosi ja ootel olevad sõnumid
Siin tegin proovivideo 😛 https://www.youtube.com/watch?v=O3IeK7PjA_0
Hea! Aitäh!
See kõlab väga hästi, pidin installima ainult mpg123 🙂
Pidin installima mpg123, kuid see oli lahe, nii et kui see mõnda sõna ei aktsepteeri, siis ütleb see parema linnukese vms.
EH EH
Viiruste andmebaasi on uuendatud (?)
apt update && ./t2.sh et Viiruste andmebaasi on uuendatud
Hahaha Suurepärane, mul on selleks juba mõned kasutusalad, sensuaalne hääl kahtlemata =), aitäh jagamast.
Mac OSX-i kasutajana pole mul olnud võimalik skripti kasutada, kuna mul pole mpg123 sisse lülitatud, nii et skripti muutes ja VLC-d kasutades võime selle jätta Mac OS X-is õigesti töötama.
http://pastebin.com/C2Mkp1Qy
küsimus on selles, et vlc jääb kindlasti sisse ja ei sulgu, kui see käivitatakse, ja võite kasutada cvlc-d, et takistada graafilise liidese avanemist
selle võiks panna
cvlc –play-and-exit «https://translate.google.com/translate_tts?tl=$ái1-lex.europa.eu&q=$[SHORT[$key]}»
nii et see suletakse reproduktsiooni lõpus
Tere kutid, mul on see viga. Vaatame, kas keegi ütleb mulle, milles probleem on
Mängujoon: 1/1
HTTP taotlus nurjus: 404 ei leitud
[mpg123.c: 610] tõrge: juurdepääs http-ressursile http://translate.google.com/translate_tts?tl=hola&q= ebaõnnestunud.
[kood] Mängurida: 1 ühest
HTTP taotlus nurjus: 404 ei leitud
[mpg123.c: 610] tõrge: juurdepääs http-ressursile http://translate.google.com/translate_tts?tl=hola&q= ebaõnnestunud. [/ kood]
Probleem on selles, et kasutate skripti valesti.
Selle käivitamisel peate esimese parameetrina edastama teksti keele, nagu on näidatud postituse näites.
Toon teile veel ühe näite:
./t2s.sh sisse See on lihtne näide.
Pange tähele, et pärast ts2.sh järgneb see "en" (mis tähendab "inglise", see tähendab inglise keelt). Hispaania keeles kasutage "es" ja seejärel fraasi selles keeles, mille soovite teisendada.
Kallistama! Paul.
teate kõnelemiskäsku ei? hehe
espeak -v on-tere
Jah, kuid mitte sama. See hääl on nii palju parem. 🙂
oleme nõus!
Tervitused!
Neile, kellel on probleeme mpg123 -q-ga või kellele see ei meeldi, võite minna üle mplayerile
mpg123 -q "http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$SHORT[keykey]}"
mplayer «http://translate.google.com/translate_tts?tl=$[1[&q=$[SHORT[$key]}»
Parem "mplayer - tõesti-vaikne", nii et see ei täida väljundit tekstiga
Suurepärane idee kasutada rakenduste jaoks Google'i sobib mulle nagu kinnas.
http://github.com/alfa30/t2v
Veel üks küsimus; Kas keegi oskaks öelda, kuidas väljundheli salvestada ???
Ma vastan teile ise, sest ma sain selle lihtsalt kätte. Kasutades mpg123, olen skripti rida 38 muutnud järgmiselt:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[SHORT[$key]}»
Olen lisanud -w audio.wav. Nii luuakse fraasi heliga wav-fail, kuid nagu ma selle jätsin, seda ei kuuleta. Kui soovite ka fraasi kuulda, peate lisama teise rea. Te näeksite mõlemad välja sellised:
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[keykey]}"
Kindlasti saaks seda teha muul tõhusamal ja puhtamal viisil, kuid vähemalt see töötab minu jaoks.
Suurepärane José GDF, proovisin teie meetodit väga heade tulemustega, tervitused.
Liikluse salvestamiseks teises teostuses võite reprodutseerida esimeses genereeritud .wav
Jah, kasutades meie installitud mängijat. Näiteks VLC Playeriga oleks see järgmine:
vlc-audio.wav
Noh, kes ütleb vlc, ütleb iga teine mängija, ka need, mis töötavad terminali järgi.
Ja vältimaks faili ülekirjutamist iga kord, kui skripti kasutatakse, tuleks nime jaoks kasutada muutujat. Nimi, mille kasutaja paneb (loe käsku) enne alustamist ... Kuid see oleks lokkide koolutamine 😀
Tegin seda PHP-s (Asteriski telefonisüsteemi jaoks helide loomiseks *)
<?php
$ url = 'http://translate.google.com/translate_tts?ie=UTF-8&q={query}% 0A & tl = on & prev = sisend ';
kui (arv ($ argv) <= 1) {
$ nimi = basename ($ argv [0]);
die ($ nimi. 'kasutamine:'. $ nimi. '
}
array_shift ($ argv);
$ query = implode ('', $ argv);
$ failinimi = str_replace (massiiv ('', ',', '.'), '-', $ päring);
$ failinimi = str_replace ('-', '-', $ failinimi);
$ 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, tõene);
$ tulemus = curl_exec ($ ch);
curl_close ($ ch);
$ path = getcwd (). '/'. $ failinimi;
file_put_contents ($ tee. '. mp3', $ tulemus);
@exec ("sox {$ path} .mp3 -b 16 -r 8000 -t wavpcm {$ path} .wav");
@unlink ($ path. '. mp3');
Kuidas oleks mul juba õnnestunud väljundheli selle käsuga salvestada:
arecord ~ / zhongwen.mp3 & ./t2s.sh zh ni hao; fg
ja lõpus klahvikombinatsiooni Ctrl + c salvestamise peatamiseks.
Ma polnud kunagi php-d kasutanud
Aga joostes:
php5 text-to-speech.php on Tere
konsola võõrustab seda:
sox FAIL-vormingud: faililaiendi `mp3 'jaoks pole ühtegi käitlejat
Igasugune panus on väga hinnatud, proovin hiljem uuesti.
2 rakendust google keele tõlkijale + teksti kõneks tõlkimine:
http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/
Ma arvan, et see on parim viis teisendamiseks, hääl pole nii halb kui muud Linuxi võimalused> _
Kas on mingit võimalust panna see lugema lihttekstifaili?
Oleks väga kasulik terved raamatud heliks teisendada
Noh, see ei tööta minu jaoks, ma ei tea miks, see tuleb välja:
xxxxx: ~ / Documents / Linux $ ./t2s.sh on tere
---------
Kõne stsenaarium Dan Fountain
TalkToDanF@gmail.com
---------
Mängujoon: 1/1
http_open: HTTP / 1.0 400 vale päring
http://translate.google.com: Sellist faili ega kataloogi pole
Mul on mpg123 installitud ja ma olen teinud vähe katseid ja mitte midagi ... Ette tänades
Tere, see stsenaarium on mind väga hästi teeninud, nii heli kuulamiseks kui ka tõlkija sõnade salvestamiseks.
Tegelikult olen skripti muutnud, et see vastaks vajadusele, mis mul on: muuda tekstis olevate sõnade loend (lemario) kõneks; salvestage mu hääl wav-vormingus, teisendage ogg-ks ja nimetage need loetud sõna järgi.
Ma tegin seda KDE-s, kasutades Kdialogi, et määrata tee, kus asub sõnaloendiga fail, ja kataloog, kuhu soovin häälheli salvestada.
Kui teisendamine WAV-st OGG-ks on lõppenud, loob see kaks kausta, kuhu on salvestatud wav ühel ja ogg teisel küljel.
Alguses ajas see mind vihaseks, sest see ei lugenud aktsendiga sõnu õigesti, kuid leidsin, et peate koodi lisama "es & ie = UTF8". Korraks unustasin märkide kodeeringu.
Jätan teile koostatud skripti koodi juhuks, kui see aitab teil:
######################################################## ######################
#! / bin / bash
#####################################
# Teksti kõneks loeng
# Kohandatud Ignacio Cruz Martínez #
# kiri on salajane xD #
#####################################
#KDE dialoogiboks lemmari tee ja nime määramiseks
soyunarchivo = $ (kdialog –inputbox «Sisestage faili tee ja nimi (koos laiendiga, kui sellel on):»)
#KDE dialoogiboks häälfailide sihtkausta määramiseks
tee = $ (kdialog –inputbox «Sisestage häälheli salvestamise tee:»)
# läbi kassi loetakse kõik tekstifaili read, iga rida koosneb ühest sõnast
i jaoks dollarites (kass $ soyunfile)
do
kaja $ i
# teisendamine kõneks google translate'i abil, ärge unustage kodeeringut, nii et see loeb aktsente
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"
# kasutab faili ffmpeg teisendamiseks wav-faile ogg-ks
ffmpeg -i "$ path" $ i.wav -acodec libvorbis "$ path" $ i.ogg
tehtud
# nende ridadega luuakse kaustad häälfailide korraldamiseks WAV-is või OGG-s
mkdir "$ path" WAV
mv "$ path" *. wav "$ path" WAV
mkdir "$ path" OGG
mv "$ path" *. ogg "$ path" OGG
#KDE dialoogiboks töö lõpetamiseks
kdialog –msgbox 'Protsess on lõpetatud'
######################################################## ####################
Kas kellelgi teist on teadmisi loodud häälfailide kasutamise litsentsi kohta?
Autoriõiguse ja sellega seotud asjade piirangud. See huvitab mind, sest kavatsen mõnda neist häälfailidest kasutada kirjaoskust omandavate inimeste toetamiseks, põhimõtteliselt on see mittetulunduslik projekt.
Ja see on see, et sellel tööriistal on hispaania keele jaoks parim intonatsioon, Linuxis pole kahjuks midagi sarnast. Mbrola on mulle Gespeakeriga koos seadistamisel palju vaeva näinud.
Aitäh ja näeme.
Pole aimugi ... peaks vaatama Google Translatori litsentse.
Skript ei töötanud minu jaoks, ilmselt on see URL-iga seotud probleem, huviliste jaoks on see õige URL:
http://translate.google.com/translate_tts?tl=es&q=Hola
Tere! Olen teie skriptiga teste teinud ja selle käivitamisel ütles see mulle, et see ei leia heli, nii et sisestasin URL-i ja tundub, et hr Google on pannud captcha ...
skripti värskendamine