أشارككم اليوم نصًا مفيدًا للغاية لتحويل النص إلى كلام باستخدام محرك الكلام من Google. الميزة الرئيسية لهذا النص هو أنه "يتحايل" على حد الـ 100 بايت الذي تفرضه Google. في الواقع ، لكي نكون صادقين ، فإنه يحترم هذا الحد ولكنه يرسل جميع الأسطر تلقائيًا ، مما يعني أن هذا القيد يمر دون أن يلاحظه أحد من قبل المستخدم. ومع ذلك ، سيلاحظ الأشخاص الأكثر تطلبًا أن التحويل ليس بنفس جودة التحويل الذي يمكننا الحصول عليه في Google Translate ، ويرجع ذلك أساسًا إلى هذا الحد وأنه لا يمكن تمرير النص بأكمله في ضربة واحدة. كنقطة إيجابية ، يجب إضافة أن هذا البرنامج النصي يسمح لك أيضًا بتحديد لغة النص المراد تحويله.
بعد التوضيح ، دعونا نرى ما هي الخطوات التي يجب اتباعها.
خطوات
1.- قم بإنشاء ملف باسم t2s.sh.
2.- انسخ المحتوى التالي:
#! / bin / bash ################################# # Speech Script by Dan Fountain # # تم التعديل بواسطة UsemosLinux # # TalkToDanF@gmail.com # ############################## INPUT = $ * STRINGNUM = 0 ary = ( $ {INPUT: 2}) صدى "---------------------------" echo "Speech Script بواسطة Dan Fountain" echo "TalkToDanF @ gmail .com "echo" --------------------------- "للمفتاح في" $ {! ary [@]} "do SHORTTMP [$ STRINGNUM] = "$ {SHORTTMP [$ STRINGNUM]} $ {ary [$ key]}" LENGTH = $ (echo $ {# SHORTTMP [$ STRINGNUM]}) #echo "word: $ key ، $ {ary [$ key ]} إضافة "#echo" إلى: STRINGNUM $ "إذا [[" $ LENGTH "-lt" 100 "]]؛ ثم #echo بدء سطر جديد SHORT [$ STRINGNUM] = $ {SHORTTMP [$ STRINGNUM]} else STRINGNUM = $ (($ STRINGNUM + 1)) SHORTTMP [$ STRINGNUM] = "$ {ary [$ key]}" SHORT [ $ STRINGNUM] = "$ {ary [$ key]}" تم إنجاز المفتاح في سطر "$ {! SHORT [@]}" do #echo ": المفتاح $ هو: $ {SHORT [$ key]}" echo " خط اللعب: $ (($ key + 1)) من $ ((STRINGNUM $ + 1)) "mplayer" http://translate.google.com/translate_tts؟ ie = UTF-8 &tl = $ {1} & q = $ {SHORT [$ key]} "تم
3.- منح أذونات التنفيذ للبرنامج النصي:
sudo chmod + x t2s.sh
4.- نفّذ تمرير النص كمعلمات: أ) رمز اللغة المقابل للنص ، ب) النص المراد تحويله. فمثلا:
./t2s.sh ar هذا نص مثير جدًا للتحويل.
هذا كل شيء ، أتمنى أن تستمتع به.
كم هو رائع ، شكرا جزيلا لك 😉
ويا له من صوت جميل للفتاة أعتقد أنني وقعت في الحب 😛
عفوا ، هل يمكنك مساعدتي في اللغة الصينية؟ إنه لا يكتشف الأحرف الصينية ، فقط بينيين.
يعد هذا أمرًا جيدًا بالنسبة إلى البرنامج النصي الذي يفحص البريد أو للتنبيه الشخصي الذي يخبرك عند الاستيقاظ بالتنبؤ والرسائل المعلقة xD
هنا قمت بعمل فيديو تجريبي 😛 https://www.youtube.com/watch?v=O3IeK7PjA_0
حسن! شكرا!
يبدو الأمر جيدًا جدًا ، كان علي فقط تثبيت mpg123 🙂
Tube لتثبيت mpg123 لكنه رائع ، إذا لم يقبل بعض الكلمات ، فإنه يقول حرف علامة صحيح وما إلى ذلك.
EH EH
تم تحديث قاعدة بيانات الفيروسات (؟)
apt update && ./t2.sh ar تم تحديث قاعدة بيانات الفيروسات
هاهاها ممتاز ، لدي بالفعل بعض الاستخدامات لها ، صوت حسي بلا شك =) ، شكرًا للمشاركة.
كمستخدم لنظام التشغيل Mac OSX ، لم يكن من الممكن بالنسبة لي استخدام البرنامج النصي لأنني لا أملك mpg123 ، لذلك من خلال تعديل البرنامج النصي واستخدام VLC ، يمكننا تركه يعمل بشكل صحيح في نظام التشغيل Mac OS X.
http://pastebin.com/C2Mkp1Qy
تكمن المشكلة في أن vlc يظل مشغلاً بالتأكيد ولا يغلق عند انتهاء التنفيذ ويمكنك استخدام cvlc لمنع فتح الواجهة الرسومية
يمكن وضعها
cvlc –play-and-exit «https://translate.google.com/translate_tts؟tl=$ [$key]}»
بحيث يتم إغلاقه في نهاية التكاثر
مرحبًا يا شباب ، لقد تلقيت هذا الخطأ ، فلنرى ما إذا كان أحدهم يخبرني ما هي المشكلة
خط اللعب: 1 من 1
فشل طلب HTTP: 404 غير موجود
خطأ [mpg123.c: 610]: الوصول إلى مورد http http://translate.google.com/translate_tts?tl=hola&q= الفاشل.
[كود] خط اللعب: 1 من 1
فشل طلب 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-lex.europa.eu&q=$ [SHORT[$key]}»
mplayer «http://translate.google.com/translate_tts؟tl=$[1 [&q=$ [SHORT [$key]}»
أفضل "mplayer - Really-quiet" لذلك لا يملأ الإخراج بالنص
فكرة جيدة جدًا لاستخدام Google لتطبيقاتي تناسبني تمامًا.
http://github.com/alfa30/t2v
سؤال اخر؛ هل يمكن أن يخبرني أحدهم بكيفية تسجيل الصوت الناتج ؟؟؟
أجيب عليك بنفسي ، لأنني حصلت عليه للتو باستخدام mpg123 ، قمت بتعديل السطر 38 من البرنامج النصي ، يبدو كما يلي:
mpg123 -q -w audio.wav «http://translate.google.com/translate_tts؟tl=$[1-lex.europa.eu&q=$[SHORT[$key]}»
لقد أضفت -w audio.wav. يؤدي هذا إلى إنشاء ملف wav بصوت العبارة ، ولكن كما تركته ، لم يتم سماعه. إذا كنت تريد أيضًا سماع العبارة ، فسيتعين عليك إضافة سطر آخر. ستبدو كلاكما هكذا:
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]}»
بالتأكيد يمكن أن يتم ذلك بطريقة أخرى أكثر كفاءة ونظافة ، لكنها على الأقل تعمل بالنسبة لي.
خوسيه جي دي إف ممتاز ، لقد جربت طريقتك بنتائج جيدة جدًا ، تحياتي.
لحفظ حركة المرور في التنفيذ الثاني ، يمكنك إعادة إنتاج .wav الذي أنشأته في الأول
حسنًا ، نعم ، باستخدام مشغل قمنا بتثبيته. على سبيل المثال ، مع مشغل VLC سيكون:
vlc- صوت wav
حسنًا ، من يقول vlc ، يقول أي لاعب آخر ، بما في ذلك أولئك الذين يعملون من خلال المحطة.
ولتجنب الكتابة فوق الملف في كل مرة يتم فيها استخدام البرنامج النصي ، يجب استخدام متغير للاسم. الاسم الذي سيضعه المستخدم (قراءة الأمر) قبل البدء ... ولكن هذا سيكون بمثابة تجعيد الضفيرة 😀
لقد فعلت ذلك في PHP (لإنشاء صوتيات لنظام هاتف Asterisk *)
<?php
$ url = 'http://translate.google.com/translate_tts?ie=UTF-8&q={query}٪ 0A & tl = is & prev = input '؛
إذا (count ($ argv) <= 1) {
$ name = basename ($ argv [0]) ؛
يموت (اسم $. 'الاستخدام:'. $ name. '
}
array_shift (argv $) ؛
$ query = تنفجر (''، $ argv) ؛
$ filename = str_replace (مصفوفة (''، '،'، '.')، '-'، $ query) ؛
$ filename = str_replace ('-'، '-'، $ filename)؛
$ url = str_replace ('{استعلام}'، rawurlencode ($ query)، $ url)؛
$ الفصل = curl_init ()؛
curl_setopt ($ الفصل، CURLOPT_URL، $ رابط).
curl_setopt ($ ch، CURLOPT_HEADER، 0) ؛
curl_setopt ($ ch، CURLOPT_RETURNTRANSFER، true) ؛
النتيجة $ = curl_exec ($ ch) ؛
curl_close ($ CH)؛
$ path = getcwd (). '/'. $ filename؛
file_put_contents ($ path. '. mp3'، $ result) ؛
exec ("sox {$ path} .mp3 -b 16 -r 8000 -t wavpcm {$ path} .wav")؛
unlink ($ path. '. mp3') ؛
ماذا لو تمكنت بالفعل من تسجيل صوت الإخراج باستخدام هذا الأمر:
arecord ~ / zhongwen.mp3 & ./t2s.sh zh ni hao؛ fg
وفي النهاية ctrl + c لإيقاف التسجيل.
لم أستخدم php مطلقًا
لكن عند الجري:
نص php5 text-to-speech.php هو Hello
تستضيف konsola هذا:
تنسيقات sox FAIL: لا يوجد معالج لتمديد الملف `mp3 ′
أي مساهمة هي موضع تقدير كبير ، سأحاول مرة أخرى لاحقًا.
تطبيقان لمترجم اللغة من Google + ترجمة النص إلى كلام:
http://www.linuxhispano.net/2014/05/29/traductor-de-google-voz/
أعتقد أنها أفضل طريقة للتحويل ، فالصوت ليس سيئًا مثل الخيارات الأخرى لنظام Linux> _
هل هناك طريقة لجعله يقرأ ملف نصي عادي؟
سيكون من المفيد جدًا تحويل الكتب بأكملها إلى صوت
حسنًا ، هذا لا يعمل معي ، لا أعرف لماذا ، يأتي هذا:
xxxxx: ~ / Documents / Linux $ ./t2s.sh مرحبًا
---------
سيناريو خطاب دان فاونتن
TalkToDanF@gmail.com
---------
خط اللعب: 1 من 1
http_open: HTTP / 1.0 400 طلب غير صالح
http://translate.google.com: لا يوجد ملف او مجلد
لقد قمت بتثبيت mpg123 وقمت باختبارات قليلة ولا شيء…. شكرا لك مقدما
مرحبًا ، لقد أفادني هذا النص جيدًا ، سواء للاستماع إلى الصوت أو تسجيل كلمات المترجم.
في الواقع ، لقد قمت بتعديل البرنامج النصي لتكييفه مع حاجة لدي: تحويل قائمة الكلمات في النص (lemario) إلى كلام ؛ حفظ صوتي في wav ، وتحويله إلى ogg وتسميته وفقًا لكلمة قراءة.
لقد فعلت ذلك في KDE باستخدام Kdialog لتحديد المسار حيث يوجد الملف مع قائمة الكلمات والدليل حيث أريد حفظ الصوت الصوتي.
عند الانتهاء من التحويل من WAV إلى OGG ، يتم إنشاء مجلدين حيث يتم حفظ wav على جانب واحد و ogg على الجانب الآخر.
في البداية كنت غاضبًا لأنني لم أقرأ الكلمات ذات اللكنات بشكل صحيح ، لكنني وجدت أنه يتعين عليك إضافة "es & ie = UTF8" في الكود. لقد نسيت ترميز الحرف للحظة.
أترك كود البرنامج النصي الذي صنعته في حال كان يعمل:
################################################## ######################
#! / بن / باش
##################################
# محاضرة تحويل النص إلى كلام #
# مقتبس من إغناسيو كروز مارتينيز #
# البريد سري xD #
##################################
مربع حوار #KDE لتحديد مسار واسم ليماري
soyunarchivo = $ (kdialog –inputbox «أدخل مسار واسم الملف (بامتداد إذا كان يحتوي على امتداد):»)
مربع حوار #KDE لتحديد مجلد الوجهة لملفات الصوت
path = $ (kdialog –inputbox «أدخل المسار لحفظ صوت الصوت:»)
# من خلال cat تتم قراءة جميع أسطر الملف النصي ، ويتكون كل سطر من كلمة واحدة
لأني في $ (cat $ soyunfile)
do
صدى $ أنا
# التحويل إلى كلام باستخدام مترجم جوجل ، لا تنس الترميز حتى يقرأ اللهجات
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.ogg
فعل
# مع هذه الأسطر يتم إنشاء المجلدات لتنظيم ملفات الصوت في WAV أو OGG
mkdir "$ path" WAV
mv "$ path" *. wav "$ path" WAV
mkdir "$ path" OGG
mv "$ path" *. ogg "$ path" OGG
مربع حوار #KDE للإشارة إلى انتهاء المهمة
kdialog –msgbox "تم إنهاء العملية"
################################################## ####################
الآن ، هل لدى أي منكم معرفة بترخيص استخدام الملفات الصوتية التي تم إنشاؤها؟
تحديد حقوق النشر والأشياء ذات الصلة. هذا يثير اهتمامي لأنني أخطط لاستخدام بعض هذه الملفات الصوتية لدعم الأشخاص الذين سيصبحون متعلمين ، وهو في الأساس مشروع غير ربحي.
وهي أن هذه الأداة لديها أفضل نغمة للغة الإسبانية ، وللأسف لا يوجد شيء مماثل في Linux. لقد منحتني Mbrola الكثير من المتاعب لإعدادها مع Gespeaker.
شكرا ونراكم.
لا فكرة ... يجب أن ننظر في تراخيص مترجم جوجل.
لم يعمل البرنامج النصي بالنسبة لي ، ويبدو أنه مشكلة تتعلق بعنوان URL ، بالنسبة لأولئك المهتمين بهذا هو عنوان URL الصحيح:
http://translate.google.com/translate_tts?tl=es&q=Hola
مرحبا! لقد أجريت اختبارات على البرنامج النصي الخاص بك وعند تنفيذه ، أخبرني أنه لا يمكنه العثور على الصوت ، لذلك قمت بإدخال عنوان URL ويبدو أن السيد google قد وضع رمز التحقق ...
تحديث البرنامج النصي