स्क्रिप्ट: टर्मिनल से भाषण (Google) को पाठ

आज मैं आपके साथ 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 एन यह कन्वर्ट करने के लिए बहुत दिलचस्प पाठ है।
युक्ति: कुछ टर्मिनल एमुलेटर आपको केवल पाठ को खींचकर पेस्ट करने की अनुमति देते हैं। इसलिए फ़ायरफ़ॉक्स में एक पाठ का चयन करना और उसे टर्मिनल तक खींचना संभव है।

यही है, आशा है कि आप इसका आनंद लेंगे।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   Yoyo कहा

    कितना अच्छा है, बहुत-बहुत धन्यवाद

    और क्या खूबसूरत आवाज है लड़की की, मुझे लगता है कि मुझे प्यार हो गया the

    1.    अंधकार कहा

      क्षमा करें, क्या आप चीनी के साथ मेरी मदद कर सकते हैं? यह चीनी पात्रों का पता नहीं लगाता है, केवल पिनयिन।

  2.   छाया कहा

    यह एक स्क्रिप्ट के लिए अच्छा है जो मेल की जाँच करता है या एक व्यक्तिगत अलार्म के लिए जो जागने पर आपको पूर्वानुमान और लंबित संदेशों को बताता है xD

  3.   Yoyo कहा

    यहाँ मैंने एक टेस्ट वीडियो बनाया video https://www.youtube.com/watch?v=O3IeK7PjA_0

    1.    चलो linux का उपयोग करते हैं कहा

      अच्छा! धन्यवाद!

  4.   बेंक्ट्रोक्स कहा

    यह बहुत अच्छा लगता है, मुझे केवल mpg123 स्थापित करना था I

  5.   पोर्टो कहा

    मुझे mpg123 स्थापित करना था, लेकिन यह अच्छा था, इसलिए यदि यह कुछ शब्दों को स्वीकार नहीं करता है, तो यह एक सही टिक पत्र कहता है आदि।

    ई एच ई

  6.   पाब्लो होनोराटो कहा

    वायरस डेटाबेस अपडेट किया गया है (?)

    1.    जालब्रचप कहा

      apt अद्यतन &&/t2.sh en वायरस डेटाबेस अद्यतन किया गया है

  7.   अलेक्जेंडर कहा

    Hahaha उत्कृष्ट, मैं पहले से ही इसके लिए कुछ उपयोग करता है, कामुक आवाज एक शक के बिना =), साझा करने के लिए धन्यवाद।

  8.   जॉर्ज मोराटिला कहा

    मैक OSX उपयोगकर्ता के रूप में, स्क्रिप्ट का उपयोग करना मेरे लिए संभव नहीं है क्योंकि मेरे पास mpg123 नहीं है, इसलिए स्क्रिप्ट को संशोधित करके और वीएलसी का उपयोग करके, हम इसे मैक ओएस एक्स में सही तरीके से काम करना छोड़ सकते हैं।

    http://pastebin.com/C2Mkp1Qy

    1.    रोलो कहा

      मुद्दा यह है कि vlc निश्चित रूप से बना रहता है और बंद नहीं होता है जब यह निष्पादित होता है और आप ग्राफ़िकल इंटरफ़ेस को खोलने से रोकने के लिए cvlc का उपयोग कर सकते हैं

      1.    रोलो कहा

        इसे डाला जा सकता है
        cvlc –play-and-exit «https://translate.google.com/translate_tts?tl=$ái1-lex.europa.eu&q=$ IsSHORT [Doskey]}»
        ताकि यह प्रजनन के अंत में बंद हो जाए

  9.   निसानोव कहा

    हाय दोस्तों मुझे यह त्रुटि मिलती है, चलो देखते हैं कि कोई मुझे बताता है कि समस्या क्या है
    खेल पंक्ति: 1 का 1
    HTTP अनुरोध विफल: 404 नहीं मिला
    [mpg123.c: 610] त्रुटि: http संसाधन तक पहुंच http://translate.google.com/translate_tts?tl=hola&q= असफल रहा।

    1.    निसानोव कहा

      [कोड] खेल पंक्ति: १ का १
      HTTP अनुरोध विफल: 404 नहीं मिला
      [mpg123.c: 610] त्रुटि: http संसाधन तक पहुंच http://translate.google.com/translate_tts?tl=hola&q= असफल रहा। [/ कोड]

    2.    चलो linux का उपयोग करते हैं कहा

      समस्या यह है कि आप स्क्रिप्ट का गलत उपयोग कर रहे हैं।
      जब आप इसे चलाते हैं, तो आपको पहले पैरामीटर के रूप में पाठ की भाषा को पास करना होगा, जैसा कि पोस्ट में उदाहरण में दिखाया गया है।
      मैं आपको एक और उदाहरण देता हूं:
      ./t2s.sh इसमें एक सरल उदाहरण है।
      ध्यान दें कि ts2.sh के बाद यह "en" (जिसका अर्थ है "अंग्रेजी", अर्थात अंग्रेजी) है। स्पैनिश के लिए, "es" का उपयोग करें और फिर उस भाषा में वाक्यांश जिसे आप कनवर्ट करना चाहते हैं।
      झप्पी! पॉल

  10.   गुमनाम कहा

    आपको पता है कि स्पीक कमांड नं। हे

    espeak -v है «हैलो»

    1.    चलो linux का उपयोग करते हैं कहा

      हां लेकिन समान नहीं। यह आवाज इतनी बेहतर है। 🙂

      1.    नाम नहीं कहा

        हम मानते हैं!
        नमस्ते!

  11.   सारा कहा

    उन लोगों के लिए जिन्हें 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]

    1.    गुइडो कहा

      बेहतर "mplayer- असली-शांत" तो यह पाठ के साथ आउटपुट को नहीं भरता है

  12.   अमरीका का साधारण नागरिक कहा

    मेरे अनुप्रयोगों के लिए Google का उपयोग करने का एक शानदार विचार मुझे एक दस्ताने की तरह सूट करता है।
    http://github.com/alfa30/t2v

  13.   अंधकार कहा

    एक और प्रश्न; क्या कोई मुझे बता सकता है कि आउटपुट ऑडियो कैसे रिकॉर्ड किया जाए ???

    1.    जोस जीडीएफ कहा

      मैं आपको खुद जवाब देता हूं, क्योंकि मुझे बस मिल गया है। 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]]

      निश्चित रूप से यह एक और अधिक कुशल और स्वच्छ तरीके से किया जा सकता है, लेकिन कम से कम यह मेरे लिए काम करता है।

      1.    अंधकार कहा

        बहुत बढ़िया जोस जीडीएफ, मैंने आपके तरीके को बहुत अच्छे परिणामों, शुभकामनाओं के साथ आजमाया।

      2.    स्वच्छंद कहा

        दूसरे निष्पादन में ट्रैफ़िक को बचाने के लिए आप .wav को पुन: उत्पन्न कर सकते हैं जो आपने पहले में उत्पन्न किया था

      3.    जोस जीडीएफ कहा

        ठीक है, एक खिलाड़ी का उपयोग करके जिसे हमने स्थापित किया है। उदाहरण के लिए, वीएलसी प्लेयर के साथ यह होगा:

        वीएलसी-ऑडियो.वाव

        खैर, जो vlc कहता है, किसी अन्य खिलाड़ी का कहना है, जिसमें टर्मिनल द्वारा काम करना शामिल है।

        और हर बार स्क्रिप्ट का उपयोग करने पर फ़ाइल को ओवरराइट करने से बचने के लिए, नाम के लिए एक चर का उपयोग किया जाना चाहिए। नाम जो उपयोगकर्ता शुरू करने से पहले (कमांड पढ़ें) डाल देगा ... लेकिन वह कर्ल को कर्लिंग कर देगा

  14.   दरको कहा

    मैंने इसे 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');

    1.    अंधकार कहा

      कैसे के बारे में मैं पहले से ही इस आदेश के साथ उत्पादन ऑडियो रिकॉर्ड करने में कामयाब रहे हैं:
      arecord ~ ​​/ zhongwen.mp3 & ./t2s.sh zh ni hao; fg
      और रिकॉर्डिंग बंद करने के लिए अंत में ctrl + c।

      मैंने कभी php का इस्तेमाल नहीं किया था
      लेकिन जब चल रहा है:
      php5 text-to-speech.php हैलो है
      कोनसोला इसे होस्ट करता है:
      sox विफल प्रारूप: फ़ाइल एक्सटेंशन के लिए कोई हैंडलर `mp3:

      किसी भी योगदान की बहुत सराहना की जाती है, मैं बाद में फिर से कोशिश करूंगा।

  15.   किरियन कहा

    Google भाषा अनुवादक के लिए 2 ऐप्स + भाषण अनुवाद के लिए पाठ:
    http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/

  16.   जोस कहा

    मुझे लगता है कि यह कन्वर्ट करने का सबसे अच्छा तरीका है, आवाज लिनक्स के लिए अन्य विकल्पों की तरह खराब नहीं है> _
    क्या यह एक सादा पाठ फ़ाइल पढ़ने का एक तरीका है?
    संपूर्ण पुस्तकों को ऑडियो में बदलना बहुत उपयोगी होगा

  17.   चुफला कहा

    खैर, यह मेरे लिए काम नहीं करता है, मुझे नहीं पता कि क्यों, यह सामने आता है:

    xxxxx: ~ / दस्तावेज / लिनक्स $ ./t2s.sh हैलो है

    ---------
    डान फाउंटेन द्वारा भाषण स्क्रिप्ट
    TalkToDanF@gmail.com
    ---------
    खेल पंक्ति: 1 का 1
    http_open: HTTP / 1.0 400 खराब अनुरोध
    http://translate.google.com: ऐसी कोई फ़ाइल या डायरेक्टरी नहीं है

    मेरे पास mpg123 स्थापित है और मैंने कुछ परीक्षण नहीं किए हैं और कुछ भी नहीं…। अग्रिम में धन्यवाद

  18.   इग्नासियो क्रूज़ मार्टिनेज कहा

    नमस्कार, इस स्क्रिप्ट ने मुझे बहुत अच्छी तरह से सेवा दी है, दोनों ध्वनि को सुनने और अनुवादक के शब्दों को रिकॉर्ड करने के लिए।

    वास्तव में, मैंने इसे अपनी आवश्यकता के अनुसार अनुकूलित करने के लिए स्क्रिप्ट को संशोधित किया है: भाषण में पाठ (लेमरियो) में शब्दों की सूची को बदलना; मेरी आवाज़ को 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 'प्रक्रिया समाप्त'

    ################################################ ###################

    अब, क्या आप में से किसी को जनरेटेड वॉयस फ़ाइलों का उपयोग करने के लिए लाइसेंस के बारे में जानकारी है?

    कॉपीराइट और संबंधित चीजों के लिए सीमा। यह मुझे दिलचस्पी देता है क्योंकि मैं साक्षर बनने जा रहे लोगों का समर्थन करने के लिए इनमें से कुछ वॉयस फ़ाइलों का उपयोग करने की योजना बनाता हूं, मूल रूप से यह एक गैर-लाभकारी परियोजना है।

    और यह है कि इस उपकरण में स्पेनिश भाषा के लिए सबसे अच्छा इंटोनेशन है, दुर्भाग्य से लिनक्स में ऐसा कुछ भी नहीं है। गैस्पेकर के साथ एक साथ स्थापित करने के लिए एमबीरोला ने मुझे बहुत परेशानी दी है।

    धन्यवाद और देखिये

    1.    चलो linux का उपयोग करते हैं कहा

      कोई विचार नहीं ... Google अनुवादक लाइसेंस को देखना होगा।

  19.   आर्मंडो कहा

    स्क्रिप्ट ने मेरे लिए काम नहीं किया, जाहिरा तौर पर यह URL से संबंधित एक समस्या है, जो लोग रुचि रखते हैं उनके लिए यह सही URL है:
    http://translate.google.com/translate_tts?tl=es&q=Hola

  20.   जूजो कहा

    नमस्कार! मैं आपकी स्क्रिप्ट के साथ परीक्षण कर रहा हूं और इसे निष्पादित करते समय, इसने मुझे बताया कि यह ऑडियो नहीं ढूंढ सका, इसलिए मैंने URL दर्ज किया है और ऐसा लगता है कि श्री Google ने एक कैप्चा डाला है ...

  21.   ' कहा

    स्क्रिप्ट को अपडेट करें