Hari ini saya membagikan kepada Anda skrip yang sangat berguna untuk mengonversi teks menjadi ucapan menggunakan mesin ucapan Google. Keuntungan utama skrip ini adalah "mengakali" batas 100 byte yang diberlakukan oleh Google. Sebenarnya, sejujurnya, itu menghormati batas ini tetapi mengirim semua baris secara otomatis, yang berarti bahwa batasan ini tidak diperhatikan oleh pengguna. Namun, yang paling menuntut akan memperhatikan bahwa kualitas konversi tidak sama dengan yang dapat kami peroleh di Google Terjemahan, terutama karena batasan ini dan tidak mungkin untuk meneruskan seluruh teks sekaligus. Sebagai poin positif, harus ditambahkan bahwa skrip ini juga memungkinkan Anda menentukan bahasa teks yang akan dikonversi.
Setelah diperjelas, mari kita lihat apa saja langkah-langkah yang harus diikuti.
tangga
1. - Buat file dengan nama t2s.sh.
2. - Salin konten berikut:
#! / bin / bash ################################ # Speech Script oleh Dan Fountain # # Dimodifikasi oleh UsemosLinux # # TalkToDanF@gmail.com # ############################### MASUKAN = $ * STRINGNUM = 0 ary = ($ {INPUT: 2}) echo "---------------------------" echo "Skrip Pidato oleh Dan Fountain" echo "TalkToDanF @ gmail.com "echo" --------------------------- "untuk memasukkan" $ {! ary [@]} "lakukan SHORTTMP [ $ STRINGNUM] = "$ {SHORTTMP [$ STRINGNUM]} $ {ary [$ key]}" LENGTH = $ (echo $ {# SHORTTMP [$ STRINGNUM]}) #echo "kata: $ key, $ {ary [$ key]} "#echo" ditambahkan ke: $ STRINGNUM "if [[" $ LENGTH "-lt" 100 "]]; lalu #echo memulai baris baru SHORT [$ STRINGNUM] = $ {SHORTTMP [$ STRINGNUM]} lainnya STRINGNUM = $ (($ STRINGNUM + 1)) SHORTTMP [$ STRINGNUM] = "$ {ary [$ key]}" SHORT [ $ STRINGNUM] = "$ {ary [$ key]}" selesai untuk kunci dalam "$ {! SHORT [@]}" do #echo "baris: $ key adalah: $ {SHORT [$ key]}" echo " Baris pemutaran: $ (($ key + 1)) dari $ (($ STRINGNUM + 1)) "mplayer" http://translate.google.com/translate_tts? yaitu = UTF-8 &tl = $ {1} & q = $ {SHORT [$ key]} "selesai
3. - Berikan izin eksekusi ke skrip:
sudo chmod + x t2s.sh
4. - Jalankan skrip yang lewat sebagai parameter: a) kode bahasa yang sesuai dengan teks, b) teks yang akan dikonversi. Sebagai contoh:
./t2s.sh id Ini adalah teks yang sangat menarik untuk diubah.
Itu saja, semoga Anda menikmatinya.
Keren sekali, terima kasih banyak 😉
Dan betapa indahnya suara gadis itu, kupikir aku jatuh cinta 😛
Permisi, dapatkah Anda membantu saya dengan bahasa China? Itu tidak mendeteksi karakter China, hanya pinyin.
Ini bagus untuk skrip yang memeriksa surat atau untuk alarm yang dipersonalisasi yang ketika bangun memberi tahu Anda ramalan dan pesan yang tertunda xD
Di sini saya membuat video uji 😛 https://www.youtube.com/watch?v=O3IeK7PjA_0
Baik! Terima kasih!
Kedengarannya sangat bagus, saya hanya perlu menginstal mpg123 🙂
Tube untuk menginstal mpg123 tapi itu keren, jika tidak menerima beberapa kata, dikatakan huruf tilde yang tepat dll.
EH EH
Basis data virus telah diperbarui (?)
apt update && ./t2.sh id Basis data virus telah diperbarui
Hahaha Luar biasa, saya sudah punya beberapa kegunaan untuk itu, suara sensual tanpa ragu =), terima kasih sudah berbagi.
Sebagai pengguna Mac OSX, saya tidak dapat menggunakan Script karena saya tidak memiliki mpg123, jadi dengan memodifikasi Script dan menggunakan VLC, kami dapat membiarkannya berfungsi dengan benar di Mac OS X.
http://pastebin.com/C2Mkp1Qy
Masalahnya adalah vlc pasti tetap aktif dan tidak menutup ketika selesai dijalankan dan Anda dapat menggunakan cvlc untuk mencegah antarmuka grafis dibuka
itu bisa diletakkan
cvlc –play-and-exit «https://translate.google.com/translate_tts?tl=$ái1-lex.europa.eu&q=$[SHORT[$key]}»
sehingga menutup pada akhir reproduksi
Hai teman-teman, saya mendapatkan kesalahan ini, mari kita lihat apakah seseorang memberi tahu saya apa masalahnya
Garis permainan: 1 dari 1
Permintaan HTTP gagal: 404 Tidak Ditemukan
Kesalahan [mpg123.c: 610]: Akses ke sumber daya http http://translate.google.com/translate_tts?tl=hola&q= yang gagal.
[kode] Baris bermain: 1 dari 1
Permintaan HTTP gagal: 404 Tidak Ditemukan
Kesalahan [mpg123.c: 610]: Akses ke sumber daya http http://translate.google.com/translate_tts?tl=hola&q= yang gagal. [/ kode]
Masalahnya adalah Anda menggunakan skrip yang salah.
Saat Anda menjalankannya, Anda harus meneruskan bahasa teks sebagai parameter pertama, seperti yang ditunjukkan pada contoh di posting.
Saya memberi Anda contoh lain:
./t2s.sh in Ini adalah contoh sederhana.
Perhatikan bahwa setelah ts2.sh diikuti "en" (yang berarti "bahasa Inggris", yaitu bahasa Inggris). Untuk bahasa Spanyol, gunakan "es" dan kemudian frasa dalam bahasa yang ingin Anda ubah.
Memeluk! Paul.
Anda tahu perintah bicara no? hehe
espeak -v is-the «halo»
Ya tapi tidak sama. Suara ini jauh lebih baik. 🙂
Kami setuju!
Salam!
Bagi mereka yang memiliki masalah dengan mpg123 -q atau tidak menyukainya, Anda dapat beralih ke mplayer
mpg123 -q «http://translate.google.com/translate_tts?tl=$[1-lex.europa.eu&q=$[SHORT[$key]}»
mplayer «http://translate.google.com/translate_tts?tl=$[1[&q=$[SHORT[$key]}»
Lebih baik "mplayer –sangat tenang" sehingga tidak mengisi keluaran dengan teks
Ide bagus menggunakan google untuk aplikasi saya cocok untuk saya seperti sarung tangan.
http://github.com/alfa30/t2v
Satu pertanyaan lagi; Bisakah seseorang memberi tahu saya cara merekam audio keluaran ???
Saya menjawab Anda sendiri, karena saya baru saja mendapatkannya. Menggunakan mpg123, saya telah mengubah baris 38 dari skrip, terlihat seperti ini:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts?tl=$[1[&q=$[SHORT[$key]}»
Saya telah menambahkan -w audio.wav. Ini membuat file wav dengan audio dari frase tersebut, tetapi karena saya telah meninggalkannya, itu tidak terdengar. Jika Anda juga ingin mendengar frasa tersebut, Anda harus menambahkan baris lain. Anda berdua akan terlihat seperti ini:
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[$key]}»
Tentunya ini bisa dilakukan dengan cara lain yang lebih efisien dan bersih, tapi setidaknya itu berhasil untuk saya.
Luar biasa José GDF, saya mencoba metode Anda dengan hasil yang sangat bagus, salam.
Untuk menghemat lalu lintas di eksekusi kedua, Anda dapat mereproduksi .wav yang Anda buat di eksekusi pertama
Ya, menggunakan pemain yang telah kami instal. Misalnya, dengan VLC Player itu akan menjadi:
vlc-audio.wav
Nah, yang mengatakan vlc, kata pemain lain, termasuk yang bekerja dengan terminal.
Dan untuk menghindari menimpa file setiap kali skrip digunakan, variabel harus digunakan untuk namanya. Nama yang akan dimasukkan pengguna (perintah baca) sebelum memulai ... Tapi itu akan membuat keriting 😀
Saya melakukannya di PHP (untuk membuat audio untuk sistem telepon Asterisk *)
<?php
$ url = 'http://translate.google.com/translate_tts?ie=UTF-8&q={query}% 0A & tl = is & prev = input ';
if (hitung ($ argv) <= 1) {
$ name = nama dasar ($ argv [0]);
die ($ nama. 'penggunaan:'. $ nama. '
}
perpindahan_larik ($ 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, true);
$ hasil = curl_exec ($ ch);
curl_close ($ ch);
$ path = getcwd (). '/'. $ nama file;
file_put_contents ($ path. '. mp3', $ result);
@exec ("sox {$ path} .mp3 -b 16 -r 8000 -t wavpcm {$ path} .wav");
@unlink ($ path. '. mp3');
Bagaimana kalau saya sudah berhasil merekam audio keluaran dengan perintah ini:
arecord ~ / zhongwen.mp3 & ./t2s.sh zh ni hao; fg
dan pada akhirnya ctrl + c untuk berhenti merekam.
Saya belum pernah menggunakan php
Tapi saat berlari:
php5 text-to-speech.php adalah Halo
konsola menyelenggarakan ini:
format sox FAIL: tidak ada handler untuk ekstensi file `mp3 ′
Setiap kontribusi sangat dihargai, saya akan mencoba lagi nanti.
2 aplikasi untuk penerjemah bahasa google + terjemahan teks ke ucapan:
http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/
Saya pikir ini adalah cara terbaik untuk mengonversi, suaranya tidak seburuk opsi lain untuk Linux> _
Apakah ada cara untuk membuatnya membaca file teks biasa?
Akan sangat berguna untuk mengubah seluruh buku menjadi audio
Yah, itu tidak berhasil untuk saya, saya tidak tahu mengapa, ini keluar:
xxxxx: ~ / Documents / Linux $ ./t2s.sh adalah halo
---------
Speech Script oleh Dan Fountain
TalkToDanF@gmail.com
---------
Garis permainan: 1 dari 1
http_open: HTTP / 1.0 400 Permintaan Buruk
http://translate.google.com: Tidak ada berkas atau direktori seperti itu
Saya telah menginstal mpg123 dan saya telah melakukan sedikit tes dan tidak ada…. Terima kasih sebelumnya
Hei, naskah ini sangat membantu saya, baik untuk mendengarkan suaranya maupun untuk merekam kata-kata penerjemah.
Sebenarnya, saya telah memodifikasi skrip untuk menyesuaikannya dengan kebutuhan yang saya miliki: Mengubah daftar kata dalam teks (lemario) menjadi ucapan; simpan suara saya di wav, konversikan ke ogg dan beri nama sesuai dengan kata baca.
Saya melakukan ini di KDE menggunakan Kdialog untuk menentukan jalur tempat file dengan daftar kata berada dan direktori tempat saya ingin menyimpan audio suara.
Ketika konversi dari WAV ke OGG selesai, itu membuat dua folder di mana wav di satu sisi dan ogg di sisi lain disimpan.
Awalnya saya marah karena saya tidak membaca kata-kata dengan aksen dengan benar, tetapi saya menemukan bahwa Anda harus menambahkan "es & ie = UTF8" di kode. Sesaat saya lupa pengkodean karakter.
Saya meninggalkan Anda kode skrip yang saya buat jika itu membantu Anda:
############################################### #####################
#! / bin / bash
################################
# Kuliah Text-to-speech #
# Diadaptasi oleh Ignacio Cruz Martínez #
# surat rahasia xD #
################################
Kotak dialog #KDE untuk menentukan jalur dan nama lemmary
soyunarchivo = $ (kdialog –inputbox «Masukkan jalur dan nama file (dengan ekstensi jika ada):»)
Kotak dialog #KDE untuk menentukan folder tujuan untuk file suara
path = $ (kdialog –inputbox «Masukkan path untuk menyimpan audio suara:»)
# melalui cat semua baris file teks dibaca, setiap baris terdiri dari satu kata
untuk saya di $ (kucing $ soyunfile)
do
echo $ i
# convert to speech menggunakan google translate, jangan lupa encodingnya sehingga terbaca aksen
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"
# menggunakan ffmpeg untuk mengonversi file wav ke ogg
ffmpeg -i "$ path" $ i.wav -acodec libvorbis "$ path" $ i.ogg
dilakukan
#dengan baris-baris ini folder dibuat untuk mengatur file suara di WAV atau OGG
mkdir "$ path" WAV
mv "$ path" *. wav "$ path" WAV
mkdir "$ path" OGG
mv "$ path" *. ogg "$ path" OGG
#KDE kotak dialog untuk menunjukkan pekerjaan selesai
kdialog –msgbox 'Proses dihentikan'
############################################### ###################
Sekarang, apakah ada di antara Anda yang memiliki pengetahuan tentang lisensi untuk menggunakan file suara yang dihasilkan?
Batasan hak cipta dan hal-hal terkait. Ini menarik minat saya karena saya berencana menggunakan beberapa file suara ini untuk mendukung orang-orang yang akan melek huruf, pada dasarnya ini adalah proyek nirlaba.
Dan alat ini memiliki intonasi terbaik untuk bahasa Spanyol, sayangnya di Linux tidak ada yang serupa. Mbrola telah memberi saya banyak masalah untuk disiapkan dengan Gespeaker.
Terima kasih dan sampai jumpa.
Tidak tahu ... harus melihat lisensi Google Translator.
Script tidak berfungsi untuk saya, ternyata itu masalah terkait dengan URL, bagi yang tertarik ini URL yang benar:
http://translate.google.com/translate_tts?tl=es&q=Hola
Halo! Saya telah melakukan tes dengan skrip Anda dan ketika menjalankannya saya diberitahu bahwa ia tidak dapat menemukan audio, jadi saya telah memasukkan URL dan tampaknya Tuan Google telah meletakkan captcha ...
perbarui skrip