आज मैं आपके साथ Google के भाषण इंजन का उपयोग करके पाठ को भाषण में बदलने के लिए एक बहुत ही उपयोगी स्क्रिप्ट साझा करता हूं। इस स्क्रिप्ट का मुख्य लाभ यह है कि यह Google द्वारा लगाई गई 100-बाइट सीमा को "घेरता" है। दरअसल, ईमानदार होने के लिए, यह इस सीमा का सम्मान करता है, लेकिन सभी लाइनों को स्वचालित रूप से भेजता है, जिसका अर्थ है कि यह सीमा उपयोगकर्ता द्वारा किसी का ध्यान नहीं जाता है। हालांकि, सबसे अधिक मांग वाले लोग देखेंगे, कि रूपांतरण एक ही गुणवत्ता का नहीं है, जो कि हम Google अनुवाद में प्राप्त कर सकते हैं, मुख्य रूप से इस सीमा के कारण और पूरे पाठ को एक बार में पास करना संभव नहीं है। एक सकारात्मक बिंदु के रूप में, यह जोड़ा जाना चाहिए कि यह स्क्रिप्ट आपको पाठ की भाषा को निर्दिष्ट करने की अनुमति भी देती है।
स्पष्ट करने के बाद, आइए देखें कि अनुसरण करने के चरण क्या हैं।
कदम
1. T2s.sh नाम से एक फ़ाइल बनाएँ।
2. निम्नलिखित सामग्री की प्रतिलिपि बनाएँ:
#! / बिन / बाश ################################ # भाषण स्क्रिप्ट डैन फाउंटेन द्वारा # # Usemosininux द्वारा संशोधित # # # TalkToDanF@gmail.com # #######################################। $ {INPUT: 0}) गूंज "---------------------------" प्रतिध्वनि "स्पीक स्क्रिप्ट डैन फाउंटेन द्वारा" गूंज "TalkToDanF @ gmail .com "इको" --------------------------- "में कुंजी के लिए" $ {! ary [@]} "SHORTOMP" $ STRINGNUM] = "$ {SHORTTMP [$ STRINGNUM]} $ {ary [$ key]}" LENGTH = $ (गूंज $ {# SHORTTMP [$ STRINGNUM]}) # कुंजी शब्द: $ कुंजी, $ {ary [$ कुंजी ]} "# चेतो" को जोड़ना: $ STRINGNUM "अगर [[" $ LENGTH "-" 2 "]]; तब #echo नई लाइन शुरू कर रहा है SHORT [$ STRINGNUM] = $ {SHORTTMP [$ STRINGNUM]} और STRINGNUM = $ (($ STRINGNUM + 100)) SHORTTMP [$ STRINGNUM] = "$ {ary [$ key]}" SHORT [] $ STRINGNUM] = "$ {ary [$ key]}" "{{SHORT [@]}" "do #echo" पंक्ति में कुंजी के लिए किया गया फाई: $ कुंजी है: $ {SHORT [$ key]} "इको प्लेइंग लाइन: $ ($ ($ कुंजी + 1)) $ (($ STRINGNUM + 1)) "mplayer" http://translate.google.com/translate_tts? = यूटीएफ -8 औरtl = $ {1} & q = $ {SHORT [$ key]} ”किया
3. स्क्रिप्ट को अनुमति निष्पादित करें:
सुडो चामोद + x t2s.sh
4. मापदंडों के रूप में गुजरने वाली स्क्रिप्ट को निष्पादित करें: ए) पाठ के अनुरूप भाषा का कोड, बी) पाठ को परिवर्तित किया जाना है। उदाहरण के लिए:
/ .t2s.sh एन यह कन्वर्ट करने के लिए बहुत दिलचस्प पाठ है।
यही है, आशा है कि आप इसका आनंद लेंगे।
कितना अच्छा है, बहुत-बहुत धन्यवाद
और क्या खूबसूरत आवाज है लड़की की, मुझे लगता है कि मुझे प्यार हो गया the
क्षमा करें, क्या आप चीनी के साथ मेरी मदद कर सकते हैं? यह चीनी पात्रों का पता नहीं लगाता है, केवल पिनयिन।
यह एक स्क्रिप्ट के लिए अच्छा है जो मेल की जाँच करता है या एक व्यक्तिगत अलार्म के लिए जो जागने पर आपको पूर्वानुमान और लंबित संदेशों को बताता है xD
यहाँ मैंने एक टेस्ट वीडियो बनाया video https://www.youtube.com/watch?v=O3IeK7PjA_0
अच्छा! धन्यवाद!
यह बहुत अच्छा लगता है, मुझे केवल mpg123 स्थापित करना था I
मुझे mpg123 स्थापित करना था, लेकिन यह अच्छा था, इसलिए यदि यह कुछ शब्दों को स्वीकार नहीं करता है, तो यह एक सही टिक पत्र कहता है आदि।
ई एच ई
वायरस डेटाबेस अपडेट किया गया है (?)
apt अद्यतन &&/t2.sh en वायरस डेटाबेस अद्यतन किया गया है
Hahaha उत्कृष्ट, मैं पहले से ही इसके लिए कुछ उपयोग करता है, कामुक आवाज एक शक के बिना =), साझा करने के लिए धन्यवाद।
मैक OSX उपयोगकर्ता के रूप में, स्क्रिप्ट का उपयोग करना मेरे लिए संभव नहीं है क्योंकि मेरे पास mpg123 नहीं है, इसलिए स्क्रिप्ट को संशोधित करके और वीएलसी का उपयोग करके, हम इसे मैक ओएस एक्स में सही तरीके से काम करना छोड़ सकते हैं।
http://pastebin.com/C2Mkp1Qy
मुद्दा यह है कि vlc निश्चित रूप से बना रहता है और बंद नहीं होता है जब यह निष्पादित होता है और आप ग्राफ़िकल इंटरफ़ेस को खोलने से रोकने के लिए cvlc का उपयोग कर सकते हैं
इसे डाला जा सकता है
cvlc –play-and-exit «https://translate.google.com/translate_tts?tl=$ái1-lex.europa.eu&q=$ IsSHORT [Doskey]}»
ताकि यह प्रजनन के अंत में बंद हो जाए
हाय दोस्तों मुझे यह त्रुटि मिलती है, चलो देखते हैं कि कोई मुझे बताता है कि समस्या क्या है
खेल पंक्ति: 1 का 1
HTTP अनुरोध विफल: 404 नहीं मिला
[mpg123.c: 610] त्रुटि: http संसाधन तक पहुंच http://translate.google.com/translate_tts?tl=hola&q= असफल रहा।
[कोड] खेल पंक्ति: १ का १
HTTP अनुरोध विफल: 404 नहीं मिला
[mpg123.c: 610] त्रुटि: http संसाधन तक पहुंच http://translate.google.com/translate_tts?tl=hola&q= असफल रहा। [/ कोड]
समस्या यह है कि आप स्क्रिप्ट का गलत उपयोग कर रहे हैं।
जब आप इसे चलाते हैं, तो आपको पहले पैरामीटर के रूप में पाठ की भाषा को पास करना होगा, जैसा कि पोस्ट में उदाहरण में दिखाया गया है।
मैं आपको एक और उदाहरण देता हूं:
./t2s.sh इसमें एक सरल उदाहरण है।
ध्यान दें कि ts2.sh के बाद यह "en" (जिसका अर्थ है "अंग्रेजी", अर्थात अंग्रेजी) है। स्पैनिश के लिए, "es" का उपयोग करें और फिर उस भाषा में वाक्यांश जिसे आप कनवर्ट करना चाहते हैं।
झप्पी! पॉल
आपको पता है कि स्पीक कमांड नं। हे
espeak -v है «हैलो»
हां लेकिन समान नहीं। यह आवाज इतनी बेहतर है। 🙂
हम मानते हैं!
नमस्ते!
उन लोगों के लिए जिन्हें mpg123 -q की समस्या है या यह पसंद नहीं है, आप mplayer पर जा सकते हैं
mpg123 -q "http://translate.google.com/translate_tts?tl=> [1] -XNUMX.lex.europa.eu&q=$ [SHSH]]
mplayer «http://translate.google.com/translate_tts?tl=$ [1]
बेहतर "mplayer- असली-शांत" तो यह पाठ के साथ आउटपुट को नहीं भरता है
मेरे अनुप्रयोगों के लिए Google का उपयोग करने का एक शानदार विचार मुझे एक दस्ताने की तरह सूट करता है।
http://github.com/alfa30/t2v
एक और प्रश्न; क्या कोई मुझे बता सकता है कि आउटपुट ऑडियो कैसे रिकॉर्ड किया जाए ???
मैं आपको खुद जवाब देता हूं, क्योंकि मुझे बस मिल गया है। Mpg123 का उपयोग करते हुए, मैंने स्क्रिप्ट की लाइन 38 को संशोधित किया है, जो इस प्रकार है:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=> [1]
मैंने -w ऑडियो जोड़ा है ।av। यह वाक्यांश के ऑडियो के साथ एक wav फ़ाइल बनाता है, लेकिन जैसा कि मैंने इसे छोड़ दिया है, यह नहीं सुना जाता है। यदि आप भी वाक्यांश सुनना चाहते हैं, तो आपको एक और पंक्ति जोड़नी होगी। आप दोनों इस तरह दिखेंगे:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$ [1] -XNUMX.lex.europa.eu&q=> इस तरह का]
mpg123 -q "http://translate.google.com/translate_tts?tl=> [1] -XNUMX.lex.europa.eu&q=$ [SHSH]]
निश्चित रूप से यह एक और अधिक कुशल और स्वच्छ तरीके से किया जा सकता है, लेकिन कम से कम यह मेरे लिए काम करता है।
बहुत बढ़िया जोस जीडीएफ, मैंने आपके तरीके को बहुत अच्छे परिणामों, शुभकामनाओं के साथ आजमाया।
दूसरे निष्पादन में ट्रैफ़िक को बचाने के लिए आप .wav को पुन: उत्पन्न कर सकते हैं जो आपने पहले में उत्पन्न किया था
ठीक है, एक खिलाड़ी का उपयोग करके जिसे हमने स्थापित किया है। उदाहरण के लिए, वीएलसी प्लेयर के साथ यह होगा:
वीएलसी-ऑडियो.वाव
खैर, जो vlc कहता है, किसी अन्य खिलाड़ी का कहना है, जिसमें टर्मिनल द्वारा काम करना शामिल है।
और हर बार स्क्रिप्ट का उपयोग करने पर फ़ाइल को ओवरराइट करने से बचने के लिए, नाम के लिए एक चर का उपयोग किया जाना चाहिए। नाम जो उपयोगकर्ता शुरू करने से पहले (कमांड पढ़ें) डाल देगा ... लेकिन वह कर्ल को कर्लिंग कर देगा
मैंने इसे PHP में किया था (Asterisk फोन सिस्टम के लिए ऑडियो बनाने के लिए *)
<?php
$ url = 'http://translate.google.com/translate_tts?ie=UTF-8&q={क्वेरी}% 0A & tl = is & prev = input ';
अगर (गिनती ($ argv) <= 1) {
$ नाम = बेसन ($ argv [0]);
मरो ($ नाम। 'उपयोग:'। $ नाम। '
}
array_shift ($ argv);
$ क्वेरी = निहित ('', $ argv);
$ फ़ाइल नाम = str_replace (सरणी ('', ',', ''), '-', $ क्वेरी);
$ फ़ाइल नाम = str_replace ('-', '-', $ फ़ाइल नाम);
$ url = str_replace ('{क्वेरी}', rawurlencode ($ क्वेरी), $ url);
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, $ url);
curl_setopt ($ ch, CURLOPT_HEADER, 0);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, सच);
$ परिणाम = curl_exec ($ ch);
curl_close ($ ch);
$ राह = getcwd ()। '/'। $ फ़ाइल नाम;
file_put_contents ($ पथ। '। mp3', $ परिणाम);
@exec ("sox {$ path} .mp3 -b 16 -r 8000 -t wavpcm {$ path} .wav");
@unlink ($ पथ। '। mp3');
कैसे के बारे में मैं पहले से ही इस आदेश के साथ उत्पादन ऑडियो रिकॉर्ड करने में कामयाब रहे हैं:
arecord ~ / zhongwen.mp3 & ./t2s.sh zh ni hao; fg
और रिकॉर्डिंग बंद करने के लिए अंत में ctrl + c।
मैंने कभी php का इस्तेमाल नहीं किया था
लेकिन जब चल रहा है:
php5 text-to-speech.php हैलो है
कोनसोला इसे होस्ट करता है:
sox विफल प्रारूप: फ़ाइल एक्सटेंशन के लिए कोई हैंडलर `mp3:
किसी भी योगदान की बहुत सराहना की जाती है, मैं बाद में फिर से कोशिश करूंगा।
Google भाषा अनुवादक के लिए 2 ऐप्स + भाषण अनुवाद के लिए पाठ:
http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/
मुझे लगता है कि यह कन्वर्ट करने का सबसे अच्छा तरीका है, आवाज लिनक्स के लिए अन्य विकल्पों की तरह खराब नहीं है> _
क्या यह एक सादा पाठ फ़ाइल पढ़ने का एक तरीका है?
संपूर्ण पुस्तकों को ऑडियो में बदलना बहुत उपयोगी होगा
खैर, यह मेरे लिए काम नहीं करता है, मुझे नहीं पता कि क्यों, यह सामने आता है:
xxxxx: ~ / दस्तावेज / लिनक्स $ ./t2s.sh हैलो है
---------
डान फाउंटेन द्वारा भाषण स्क्रिप्ट
TalkToDanF@gmail.com
---------
खेल पंक्ति: 1 का 1
http_open: HTTP / 1.0 400 खराब अनुरोध
http://translate.google.com: ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है
मेरे पास mpg123 स्थापित है और मैंने कुछ परीक्षण नहीं किए हैं और कुछ भी नहीं…। अग्रिम में धन्यवाद
नमस्कार, इस स्क्रिप्ट ने मुझे बहुत अच्छी तरह से सेवा दी है, दोनों ध्वनि को सुनने और अनुवादक के शब्दों को रिकॉर्ड करने के लिए।
वास्तव में, मैंने इसे अपनी आवश्यकता के अनुसार अनुकूलित करने के लिए स्क्रिप्ट को संशोधित किया है: भाषण में पाठ (लेमरियो) में शब्दों की सूची को बदलना; मेरी आवाज़ को wav में सहेजें, ogg में कनवर्ट करें और पढ़े गए शब्द के अनुसार उन्हें नाम दें।
मैंने KDE में Kdialog का उपयोग करके उस पथ को निर्दिष्ट करने के लिए किया था जहाँ फ़ाइल शब्द सूची के साथ है और वह निर्देशिका जहाँ मैं चाहता हूँ कि वॉइस ऑडियो सहेजा जाए।
जब WAV से OGG रूपांतरण समाप्त हो जाता है, तो यह दो फ़ोल्डर बनाता है जहां एक तरफ wav और दूसरी तरफ ogg संग्रहीत होता है।
पहले तो इसने मुझे क्रोधित किया क्योंकि इसने शब्दों को उच्चारण के साथ सही तरीके से नहीं पढ़ा, लेकिन मैंने पाया कि आपको कोड में "es & ie = UTF8" जोड़ना होगा। एक पल के लिए मैं चरित्र एन्कोडिंग भूल गया।
मैं उस स्क्रिप्ट के कोड को छोड़ देता हूं जिसे मैंने काम किया है:
################################################ #####################
#! / Bin / bash
################################
# पाठ से भाषण भाषण #
# इग्नासियो क्रूज़ मार्टिनेज द्वारा अनुकूलित #
# मेल गुप्त है xD #
################################
#KDE संवाद बॉक्स पथ और नींबू का नाम निर्दिष्ट करने के लिए
सोयाइन्कोरिवो = $ (kdialog –inputbox «फ़ाइल का पथ और नाम दर्ज करें (यदि यह एक है तो विस्तार के साथ):»)
आवाज फ़ाइलों के लिए गंतव्य फ़ोल्डर निर्दिष्ट करने के लिए #KDE डायलॉग बॉक्स
पथ = $ (kdialog –inputbox «ध्वनि ऑडियो सहेजने के लिए पथ दर्ज करें:»)
# बिल्ली के माध्यम से पाठ फ़ाइल की सभी पंक्तियों को पढ़ा जाता है, प्रत्येक पंक्ति में एक शब्द होता है
मैं $ में (बिल्ली $ सोयाबीन)
do
इको $ i
# Google अनुवाद का उपयोग करके भाषण में परिवर्तित करना, एन्कोडिंग के बारे में मत भूलना ताकि यह लहजे को पढ़े
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"
# ffmpeg का उपयोग करके wav फ़ाइलों को ogg में बदलें
ffmpeg -i "$ path" $ i.wav -acodec libvorbis "$ path" $ i.gg
किया
# इन पंक्तियों के साथ WAV या OGG में वॉयस फ़ाइलों को व्यवस्थित करने के लिए फ़ोल्डर्स बनाए जाते हैं
mkdir "$ पथ" WAV
mv "$ पथ" *। wav "$ पथ" WAV
mkdir "$ path" OGG
mv "$ पथ" *। ogg "$ पथ" OGG
नौकरी इंगित करने के लिए #KDE डायलॉग बॉक्स समाप्त हो गया है
kdialog –msgbox 'प्रक्रिया समाप्त'
################################################ ###################
अब, क्या आप में से किसी को जनरेटेड वॉयस फ़ाइलों का उपयोग करने के लिए लाइसेंस के बारे में जानकारी है?
कॉपीराइट और संबंधित चीजों के लिए सीमा। यह मुझे दिलचस्पी देता है क्योंकि मैं साक्षर बनने जा रहे लोगों का समर्थन करने के लिए इनमें से कुछ वॉयस फ़ाइलों का उपयोग करने की योजना बनाता हूं, मूल रूप से यह एक गैर-लाभकारी परियोजना है।
और यह है कि इस उपकरण में स्पेनिश भाषा के लिए सबसे अच्छा इंटोनेशन है, दुर्भाग्य से लिनक्स में ऐसा कुछ भी नहीं है। गैस्पेकर के साथ एक साथ स्थापित करने के लिए एमबीरोला ने मुझे बहुत परेशानी दी है।
धन्यवाद और देखिये
कोई विचार नहीं ... Google अनुवादक लाइसेंस को देखना होगा।
स्क्रिप्ट ने मेरे लिए काम नहीं किया, जाहिरा तौर पर यह URL से संबंधित एक समस्या है, जो लोग रुचि रखते हैं उनके लिए यह सही URL है:
http://translate.google.com/translate_tts?tl=es&q=Hola
नमस्कार! मैं आपकी स्क्रिप्ट के साथ परीक्षण कर रहा हूं और इसे निष्पादित करते समय, इसने मुझे बताया कि यह ऑडियो नहीं ढूंढ सका, इसलिए मैंने URL दर्ज किया है और ऐसा लगता है कि श्री Google ने एक कैप्चा डाला है ...
स्क्रिप्ट को अपडेट करें