Skript: tekst kõneks (Google) terminalist

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.
Näpunäide: Mõned terminaliemulaatorid võimaldavad teil teksti lihtsalt lohistades kleepida. Seega on Firefoxis võimalik tekst valida ja terminali lohistada.

See on kõik, loodan, et teile meeldib.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutab: Miguel Ángel Gatón
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.

  1.   yoyo DIJO

    Kui lahe, suur aitäh 😉

    Ja kui ilus hääl on tüdrukul, arvan, et armusin 😛

    1.    tumeguzz DIJO

      Vabandage, kas saate mind aidata hiina keeles? See ei tuvasta hiina tähemärke, vaid ainult pinyini.

  2.   vari DIJO

    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

  3.   yoyo DIJO

    Siin tegin proovivideo 😛 https://www.youtube.com/watch?v=O3IeK7PjA_0

    1.    kasutame linuxi DIJO

      Hea! Aitäh!

  4.   bentrox DIJO

    See kõlab väga hästi, pidin installima ainult mpg123 🙂

  5.   portjee DIJO

    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

  6.   Paul honorato DIJO

    Viiruste andmebaasi on uuendatud (?)

    1.    jalbrhcp DIJO

      apt update && ./t2.sh et Viiruste andmebaasi on uuendatud

  7.   Alexander DIJO

    Hahaha Suurepärane, mul on selleks juba mõned kasutusalad, sensuaalne hääl kahtlemata =), aitäh jagamast.

  8.   Jorge Moratilla DIJO

    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

    1.    rolo DIJO

      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

      1.    rolo DIJO

        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

  9.   neysonv DIJO

    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.

    1.    neysonv DIJO

      [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]

    2.    kasutame linuxi DIJO

      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.

  10.   anonüümne DIJO

    teate kõnelemiskäsku ei? hehe

    espeak -v on-tere

    1.    kasutame linuxi DIJO

      Jah, kuid mitte sama. See hääl on nii palju parem. 🙂

      1.    notanonüümne DIJO

        oleme nõus!
        Tervitused!

  11.   Sara DIJO

    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]}»

    1.    Guido DIJO

      Parem "mplayer - tõesti-vaikne", nii et see ei täida väljundit tekstiga

  12.   Jonathan DIJO

    Suurepärane idee kasutada rakenduste jaoks Google'i sobib mulle nagu kinnas.
    http://github.com/alfa30/t2v

  13.   tumeguzz DIJO

    Veel üks küsimus; Kas keegi oskaks öelda, kuidas väljundheli salvestada ???

    1.    Jose GDF DIJO

      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.

      1.    tumeguzz DIJO

        Suurepärane José GDF, proovisin teie meetodit väga heade tulemustega, tervitused.

      2.    sojamüümiline DIJO

        Liikluse salvestamiseks teises teostuses võite reprodutseerida esimeses genereeritud .wav

      3.    Jose GDF DIJO

        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 😀

  14.   drako DIJO

    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');

    1.    tumeguzz DIJO

      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.

  15.   Kirian DIJO

    2 rakendust google keele tõlkijale + teksti kõneks tõlkimine:
    http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/

  16.   José DIJO

    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

  17.   chuflas DIJO

    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

  18.   Ignacio Cruz Martinez DIJO

    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.

    1.    kasutame linuxi DIJO

      Pole aimugi ... peaks vaatama Google Translatori litsentse.

  19.   Armando DIJO

    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

  20.   lol DIJO

    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 ...

  21.   ' DIJO

    skripti värskendamine