حزم الصوت
This article is incomplete & needs to be reviewed. You can help by creating a pull request.
يدعم OsmAnd نوعين من حزم الصوت:
- تحويل النص إلى كلام (https://developer.android.com/reference/android/speech/tts/TextToSpeech) متوفرة في متاجر التطبيقات أو مثبتة مسبقًا.
- حزم الصوت المسجلة، والتي تتضمن أصواتًا مسجلة.
إذا لم تتمكن من العثور على حزمة الصوت التي تحتاجها، يرجى اتباع الأمثلة التالية وإنشاء حزمة الصوت الخاصة بك. أمثلة - https://github.com/osmandapp/OsmAnd-resources/tree/master/voice، حزمة الألمانية de_0.voice.zip، حزمة الإنجليزية en_0.voice.zip.
الفرق بين TTS والحزم المسجل ة
- يدعم محرك تحويل النص إلى كلام (Text-To-Speech) نطق أسماء الشوارع، والمراجع، وأسماء نقاط الاهتمام (POI).
- يتم تجميع وتحديث جميع الحزم المدعومة بتحويل النص إلى كلام مع التطبيق.
- يجب تثبيت وتحديث الحزمة المسجلة يدويًا (على الرغم من إمكانية تحديث ملف التكوين مع تحديث التطبيق).
- قد لا تدعم الحزمة المسجلة بعض الأشكال الصحيحة، والدعم محدود.
- لا تتطلب الحزمة المسجلة تثبيت أي محرك TTS خاص.
هيكل الحزمة
عادة ما يتم توزيع حزمة الصوت كملف .voice.zip، حيث يحتوي الملف المضغوط على مجلد واحد به lang_tts.js (ملف التكوين الرئيسي)، وملفات الصوت إذا كانت موجودة.
ملفات التكوين مكتوبة بلغة JavaScript. جميع ملفات التكوين هي افتراضيًا حزم TTS، حتى لو لم يكن هناك TTS موجود بعد لدعم اللغة. ولاحقًا يتم توسيع التكوين عن طريق تعيين "عبارات القاموس" إلى "أسماء الملفات المسجلة".
function populateDictionary(tts) {
// ROUTE CALCULATED
dictionary["route_is1"] = tts ? "Die berechnete Strecke ist" : "route_is1.ogg";
dictionary["route_is2"] = tts ? "lang" : "route_is2.ogg";
dictionary["route_calculate"] = tts ? "Route neu berechnet" : "route_calculate.ogg";
dictionary["distance"] = tts ? "die Entfernung beträgt" : "distance.ogg";
// LEFT/RIGHT
dictionary["prepare"] = tts ? "Demnächst " : "prepare.ogg"; // Demnächst sounds better then Vorbereiten zum
dictionary["after"] = tts ? "nach" : "after.ogg";
dictionary["left"] = tts ? "links abbiegen" : "left.ogg";
.....
}
function route_recalc(dist, seconds) {
return dictionary["route_calculate"] + (tts ? ", " : " ") + distance(dist, "nominativ") + (tts ? ", " : " ") + dictionary["time"] + " " + time(seconds) + (tts ? ". " : " ");
}
إنشاء حزمة مخصصة
يرجى التحقق من موارد المشروع واستخدام نفس هيكل المجلد مثل الحزمة الألمانية - ببساطة قم بالنسخ. بمجرد الانتهاء، يمكنك التغيير، تشغيل برنامج الإنشاء النصي وتحديد الوسائط المطلوبة. المساعدة موجودة داخل البرنامج النصي.
اختبار حزمة الصوت (أندرويد)
للاختبار، يمكنك استخدام:
- الملاحة؛
- محاكاة الملاحة؛
- أو إصدار مناسب من مكون OsmAnd الإضافي للتطوير، والذي يحاكي أوامر صوتية مختلفة للاختبار.