Ngayon ay ibinabahagi ko sa iyo ang isang napaka kapaki-pakinabang na script upang mai-convert ang teksto sa pagsasalita gamit ang Google speech engine. Ang pangunahing bentahe ng script na ito ay na "umiwas" sa 100 byte na limitasyon na ipinataw ng Google. Sa totoo lang, upang maging matapat, nirerespeto nito ang limitasyong ito ngunit awtomatikong nagpapadala ng lahat ng mga linya, kaya't ang limitasyong ito ay hindi napapansin ng gumagamit. Mapapansin ng mga pinakahihingi, na ang pag-convert ay hindi pareho ng kalidad sa maaari naming makuha sa Google Translate, higit sa lahat dahil sa limitasyong ito at hindi posible na maipasa ang buong teksto sa isang pag-swoop. Bilang isang positibong punto, dapat idagdag na pinapayagan ka din ng script na ito na tukuyin ang wika ng teksto upang mabago.
Nilinaw, tingnan natin kung ano ang mga hakbang na susundan.
Mga hakbang upang sundin
1. Lumikha ng isang file na may pangalang t2s.sh.
2. Kopyahin ang sumusunod na nilalaman:
#! / bin / bash #### # # TalkToDanF@gmail.com # ####alizalizal # INPUT = $ * STRINGNUM = 0 ary = ( $ {INPUT: 2}) echo "---------------------------" echo "Speech Script ni Dan Fountain" echo "TalkToDanF @ gmail .com "echo" --------------------------- "para sa key sa" $ {! ary [@]} "gawin SHORTTMP [$ STRINGNUM] = "$ {SHORTTMP [$ STRINGNUM]} $ {ary [$ key]}" LENGTH = $ (echo $ {# SHORTTMP [$ STRINGNUM]}) #echo "salita: $ key, $ {ary [$ key ]} "#echo" pagdaragdag sa: $ STRINGNUM "kung [[" $ LENGTH "-lt" 100 "]]; pagkatapos #echo nagsisimula ng bagong linya SHORT [$ STRINGNUM] = $ {SHORTTMP [$ STRINGNUM]} iba pa STRINGNUM = $ (($ STRINGNUM + 1)) SHORTTMP [$ STRINGNUM] = "$ {ary [$ key]}" SHORT [ $ STRINGNUM] = "$ {ary [$ key]}" fi tapos para sa key sa linya na "$ {! SHORT [@]}" do #echo ": $ key ay: $ {SHORT [$ key]}" echo " Linya sa paglalaro: $ (($ key + 1)) ng $ (($ STRINGNUM + 1)) "mplayer" http://translate.google.com/translate_tts? ie = UTF-8 &tl = $ {1} & q = $ {SHORT [$ key]} "tapos na
3. Bigyan ng mga pahintulot ang pagpapatupad sa script:
sudo chmod + x t2s.sh
4. Isagawa ang script na dumadaan bilang mga parameter: a) ang code ng wika na naaayon sa teksto, b) ang teksto na mababago. Halimbawa:
./t2s.sh tl Ito ay napaka-kagiliw-giliw na teksto upang i-convert.
Iyon lang, sana masiyahan ka dito.
Ang cool, maraming salamat 😉
At ang ganda ng boses ng dalaga, sa tingin ko umibig ako 😛
Paumanhin, maaari mo ba akong tulungan sa Intsik? Hindi nito nakita ang mga character na Tsino, mga pinyin lang
Mabuti ito para sa isang script na sumusuri sa mail o para sa isang isinapersonal na alarma na kapag gumising ay sinasabi sa iyo ang pagtataya at nakabinbing mga mensahe xD
Dito ako gumawa ng isang test video 😛 https://www.youtube.com/watch?v=O3IeK7PjA_0
Mabuti! Salamat!
Napakahusay ng tunog, kailangan ko lamang i-install ang mpg123 🙂
Kailangan kong mag-install ng mpg123 ngunit ito ay cool, kaya kung hindi ito tumatanggap ng ilang mga salita, nagsasabi ito ng isang tamang titik ng tseke atbp.
EH EH
Ang database ng virus ay na-update (?)
apt update && ./t2.sh tl Ang virus database ay na-update
Hahaha Mahusay, mayroon na akong ilang mga gamit para dito, senswal na boses nang walang pag-aalinlangan =), salamat sa pagbabahagi.
Bilang isang gumagamit ng Mac OSX, hindi posible para sa akin na gamitin ang Script dahil wala akong mpg123, kaya sa pamamagitan ng pagbabago ng Script at paggamit ng VLC, maiiwan natin itong gumagana nang tama sa Mac OS X.
http://pastebin.com/C2Mkp1Qy
ang isyu ay tiyak na mananatili ang vlc at hindi magsasara kapag natapos ang pagpapatupad at maaari mong gamitin ang cvlc upang maiwasan ang pagbukas ng graphic na interface
maaari itong mailagay
cvlc –play-and-exit «https://translate.google.com/translate_tts?tl=$[$key]}»
upang magsara ito sa pagtatapos ng pagpaparami
Kumusta mga kalalakihan nakuha ko ang error na ito, tingnan natin kung may nagsabi sa akin kung ano ang problema
Linya sa paglalaro: 1 ng 1
Nabigo ang kahilingan sa HTTP: 404 Hindi Nahanap
[mpg123.c: 610] error: Pag-access sa mapagkukunan ng http http://translate.google.com/translate_tts?tl=hola&q= ang nabigo.
[code] Linya sa paglalaro: 1 ng 1
Nabigo ang kahilingan sa HTTP: 404 Hindi Nahanap
[mpg123.c: 610] error: Pag-access sa mapagkukunan ng http http://translate.google.com/translate_tts?tl=hola&q= ang nabigo. [/ code]
Ang problema ay mali ang ginagamit mong script.
Kapag pinatakbo mo ito, kailangan mong ipasa ang wika ng teksto bilang unang parameter, tulad ng ipinakita sa halimbawa sa post.
Nagbibigay ako sa iyo ng isa pang halimbawa:
./t2s.sh sa Ito ay isang simpleng halimbawa.
Pansinin na pagkatapos ng ts2.sh sumusunod ito sa "en" (na nangangahulugang "ingles", iyon ay, Ingles). Para sa Espanyol, gamitin ang "es" at pagkatapos ang parirala sa wikang iyon na nais mong i-convert.
Yakap! Paul
alam mo ang mag-utos ng magsalita no? hehe
espeak -v ay-ang «hello»
Oo ngunit hindi pareho. Ang boses na ito ay mas mahusay. 🙂
sumasang-ayon kami!
Pagbati!
Para sa mga may problema sa mpg123 -q o hindi gusto ito, maaari kang lumipat sa mplayer
mpg123 -q «http://translate.google.com/translate_tts?tl=$[1íritu&q=$[SHORT[$key]}»
mplayer «http://translate.google.com/translate_tts?tl=$[1[&q=$[SHORT[$key]}»
Mas mahusay na "mplayer –really-tahimik" kaya't hindi nito pinupunan ang teksto ng teksto
Ang isang napakahusay na ideya na gamitin ang google para sa aking mga application ay nababagay sa akin tulad ng isang guwantes.
http://github.com/alfa30/t2v
Isa pang tanong; Maaari bang sabihin sa akin ng isang tao kung paano i-record ang output audio ???
Sinasagot kita mismo, dahil ngayon ko lang nakuha. Gamit ang mpg123, binago ko ang linya 38 ng script, ganito ang hitsura:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[SHORT[$key]}»
Nagdagdag ako ng -w audio.wav. Lumilikha ito ng isang wav file na may audio ng parirala, ngunit dahil iniwan ko ito, hindi ito naririnig. Kung nais mo ring pakinggan ang parirala, kakailanganin mong magdagdag ng isa pang linya. Pareho kayong magiging ganito:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$[1[&q=$[SHORT[$key]}» &
mpg123 -q «http://translate.google.com/translate_tts?tl=$[1íritu&q=$[SHORT[$key]}»
Tiyak na magagawa ito sa isa pang mas mahusay at malinis na paraan, ngunit hindi bababa sa ito ay gumagana para sa akin.
Mahusay na José GDF, sinubukan ko ang iyong pamamaraan na may napakahusay na mga resulta, pagbati.
Upang mai-save ang trapiko sa pangalawang pagpapatupad maaari mong kopyahin ang .wav na nabuo mo sa una
Oo oo, gamit ang isang player na na-install namin. Halimbawa, sa VLC Player ito ay:
vlc-audio.wav
Kaya, na nagsasabi vlc, sabi ng anumang iba pang mga manlalaro, kabilang ang mga gumagana sa pamamagitan ng terminal.
At upang maiwasan ang pag-o-overtake sa file sa tuwing gagamitin ang script, dapat gamitin ang isang variable para sa pangalan. Pangalanan na ilalagay ng gumagamit (basahin ang utos) bago simulan ... Ngunit ipapakulot nito ang curl 😀
Ginawa ko ito sa PHP (upang lumikha ng mga audio para sa isang sistema ng telepono ng Asterisk *)
<?php
$ url = 'http://translate.google.com/translate_tts?ie=UTF-8&q={query}% 0A & tl = ay & prev = input ';
kung (bilangin ($ argv) <= 1) {
$ name = basename ($ argv [0]);
mamatay ($ pangalan. 'paggamit:'. $ pangalan. '
}
array_shift ($ argv);
$ query = implode (", $ argv);
$ filename = str_replace (array ('', ',', '.'), '-', $ query);
$ filename = str_replace ('-', '-', $ filename);
$ 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, totoo);
$ resulta = curl_exec ($ ch);
curl_close ($ ch);
$ path = getcwd (). '/'. $ filename;
file_put_contents ($ path. '. mp3', $ resulta);
@exec ("sox {$ path} .mp3 -b 16 -r 8000 -t wavpcm {$ path} .wav");
@unlink ($ path. '. mp3');
Kumusta naman na nagawa kong i-record ang output audio gamit ang utos na ito:
arecord ~ / zhongwen.mp3 & ./t2s.sh zh ni hao; fg
at sa dulo ctrl + c upang ihinto ang pagrekord.
Hindi pa ako gumagamit ng php
Ngunit kapag tumatakbo:
php5 text-to-speech.php ay Kamusta
host ang konsola nito:
sox FAIL format: walang handler para sa file extension `mp3 ′
Anumang kontribusyon ay lubos na pinahahalagahan, susubukan ko sa paglaon.
2 apps para sa tagasalin ng wika sa google + pagsasalin ng teksto sa pagsasalita:
http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/
Sa palagay ko ito ang pinakamahusay na paraan upang mag-convert, ang boses ay hindi masama tulad ng iba pang mga pagpipilian para sa Linux> _
Mayroon bang paraan upang mabasa ito ng isang simpleng file ng teksto?
Napaka kapaki-pakinabang upang mai-convert ang buong mga libro sa audio
Sa gayon, hindi ito gagana para sa akin, hindi ko alam kung bakit, lumalabas ito:
xxxxx: ~ / Documents / Linux $ ./t2s.sh ay hello
---------
Speech Script ni Dan Fountain
TalkToDanF@gmail.com
---------
Linya sa paglalaro: 1 ng 1
http_open: HTTP / 1.0 400 Masamang Kahilingan
http://translate.google.com: Walang ganoong file o direktoryo
Mayroon akong naka-install na mpg123 at nagawa ko ang maliit na mga pagsubok at wala ..... Salamat nang maaga
Kumusta, ang script na ito ay mahusay na nagsilbi sa akin, kapwa upang makinig sa tunog at maitala ang mga salita ng tagasalin.
Sa katunayan, binago ko ang script upang maiakma ito sa isang pangangailangan na mayroon ako: Ibahin ang isang listahan ng mga salita sa teksto (lemario) sa pagsasalita; i-save ang aking boses sa wav, i-convert sa ogg at pangalanan ang mga ito ayon sa salitang binasa.
Ginawa ko ito sa KDE gamit ang Kdialog upang tukuyin ang landas kung saan ang file na may listahan ng salita at ang direktoryo kung saan nais kong mai-save ang audio ng boses.
Kapag natapos ang WAV to OGG conversion, lumilikha ito ng dalawang folder kung saan naka-imbak ang wav sa isang gilid at ang ogg sa kabilang panig.
Sa una ay nagalit ito sa akin dahil hindi nito binasa nang tama ang mga salitang may accent, ngunit nalaman kong kailangan mong idagdag ang "es & ie = UTF8" sa code. Para sa isang sandali nakalimutan ko ang pag-encode ng character.
Iniwan ko sa iyo ang code ng script na ginawa ko kung sakaling makakatulong ito sa iyo:
###Oooooooooooooooo ####
#! / bin / bash
####
# Text-to-speech lecture #
# Inangkop ni Ignacio Cruz Martínez #
# mail ang lihim xD #
####
#KDE dialog box upang tukuyin ang landas at pangalan ng lemmary
soyunarchivo = $ (kdialog –inputbox «Ipasok ang path at pangalan ng file (na may isang extension kung mayroon ito):»)
#KDE dialog box upang tukuyin ang patutunguhang folder para sa mga file ng boses
path = $ (kdialog –inputbox «Ipasok ang landas upang mai-save ang audio ng boses:»)
# sa pamamagitan ng pusa lahat ng mga linya ng file ng teksto ay nababasa, ang bawat linya ay binubuo ng isang solong salita
para sa ako sa $ (cat $ soyunfile)
do
echo $ i
# nagko-convert sa pagsasalita gamit ang google translate, huwag kalimutan ang pag-encode upang mabasa ang mga accent
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"
# gamit ang FFmpeg upang mai-convert ang mga wav file sa ogg
ffmpeg -i "$ path" $ i.wav -acodec libvorbis "$ path" $ i.ogg
tapos
#sa mga linyang ito ang mga folder ay nilikha upang ayusin ang mga file ng boses sa WAV o OGG
mkdir "$ path" WAV
mv "$ path" * .wav "$ path" WAV
mkdir "$ path" OGG
mv "$ path" *. ogg "$ path" OGG
#KDE dialog box upang ipahiwatig ang trabaho ay tapos na
kdialog –msgbox 'Natapos ang proseso'
###Oooooooooooooooo ####
Ngayon, mayroon ka bang may kaalaman tungkol sa lisensya upang magamit ang nabuong mga file ng boses?
Limitasyon para sa copyright at mga kaugnay na bagay. Nainteres ito sa akin dahil balak kong gamitin ang ilan sa mga file ng boses na ito upang suportahan ang mga taong magiging marunong bumasa at sumulat, karaniwang ito ay isang proyekto na hindi kumikita.
At ito ay ang tool na ito na may pinakamahusay na intonation para sa wikang Espanyol, sa kasamaang palad sa Linux walang katulad. Binigyan ako ni Mbrola ng maraming problema upang mai-set up kasama si Gespeaker.
Salamat at makita ka.
Walang ideya ... kailangang tumingin sa mga lisensya ng Google Translator.
Hindi gumana ang Script para sa akin, maliwanag na ito ay isang problema na nauugnay sa URL, para sa mga interesado ito ang tamang URL:
http://translate.google.com/translate_tts?tl=es&q=Hola
Kamusta! Gumagawa ako ng mga pagsubok sa iyong script at kapag naisakatuparan ito, sinabi nito sa akin na hindi nito mahahanap ang audio, kaya't ipinasok ko ang URL at tila inilagay ni G. Google ang isang captcha ...
i-update ang script