NV Speech Player. A Klatt-based speech synthesis engine written in c++

نظرة عامة

إن NV Speech Player هو عبارة عن نموذج لآلة نطق مجانية ومفتوحة المصدر يمكن استخدامها من قبل NVDA. فهي تقوم بتوليد الكلام باستخدام طريقة الكلات, مما تجعله يشبه إلى حد كبير آلات النطق المعروفة مثل Dectalk و Eloquence.

الترخيص وحقوق النشر

NV Speech Player is Copyright (c) 2014 NV Speech Player contributors NV Speech Player is covered by the GNU General Public License (Version 2). You are free to share or change this software in any way you like as long as it is accompanied by the license and you make all source code available to anyone who wants it. This applies to both original and modified copies of this software, plus any derivative works. For further details, you can view the license online at: http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

نظرة تاريخية

شهدت فترة السبعينيات والثمانينيات من القرن الماضي طفرة كبيرة في البحث في مجال آلات النطق. فمن أهم نماذج آلات النطق التي ظهرت في هذا الوقت آلة نطق تعتمد على الترددات التعبيرية والمعروفة بآلات النطق المصنعة بطريقة الكلات. ومن بين آلات النطق المعروفة للمستخدمين المكفوفين والمصنعة بهذه الطريقة, Dectalk و Eloquence. تتناسب هذه الآلات جيدا مع استخدام المكفوفين من حيث كونها أكثر استجابة, فضلا عن أنها تتميز بنطق جيد وقدرة على التنبؤ, وصغر حجمها على ذاكرة الحاسوب. ومع ذلك, تغيرت وجهة الباحثون لأشكال أخرى من آلات النطق ومثل ذلك الطريقة التسلسلية concatinative, والتي على الرغم من بطء استجابتها, إلا أنها أقرب للأصوات البشرية. وتستخدم هذه الآلات في التطبيقات المنتشرة مثل وحدات ال gps أو أنظمة الهواتف, لكنها ليست ميزة بالنسبة للمكفوفين, الذين يعمدون إلى الاهتمام بسرعة الاستجابة والقدرة على التنبؤ أكثر من الاهتمام بجمال الصوت.

على الرغم من أن آلات نطق ك Dectalk و Eloquence يتم صيانتها وتوفيرها منذ 20 سنة تقريبا, إلا أنه أصبح من الصعب الحصول عليها, حيث تقول العديد من الشركات بأن هذه الآلات, وأصواتها, ستنتهي مدتها وستتوقف صيانتها.

تطور آلات النطق المصنعة بالطريقة التسلسلية, Concatinative, من سرعة استجابتها وسرعة نطقها. ومع ذلك, فإن معظم هذه الآلات, بل كل المقبول منها آلات نطق تجارية وباهظة الثمن.

تعد كل من آلتي النطق Dectalk و Eloquence منتجات تجارية ومغلقة المصدر. إلا أنه توجد بعض الأبحاث وبعض المعلومات عن الشفرات البرمجية يمكن دراستها. يحاول مطورو آلة النطق NV Speech Player الاستفادة من هذه المواد ببناء نموذج حديث من آلات النطق المصنعة بطريقة الكلات, على أمل أن تكون آلة النطق هذه بديل عن Dectalk أو Eloquence أو على أقل تقدير إعادة البحث والحديث عن آلات النطق المصنعة بهذه الطريقة.

إن آلة النطق eSpeak هي آلة نطق مجانية ومفتوحة المصدر وقد أثبتت كفاءتها واستغنى بعض الأشخاص بها عن آلات النطق الأخرى, إلا أن الكثير ممن استخدموها أشاروا إلى صعوبة التكيف مع صوتها الخشن ولم يستطيعوا الاستمرار في استخدامها. وعلى الرغم من أن مطوري آلة النطق NV Speech Player يفضلون استخدام eSpeak, إلا أنهم ما زالوا يأملون في تجربة وفهم بشكل أفضل هذه المقاومة الغريبة ل eSpeak والتي ربما يرجع سببها إلى التردد الطيفي ل eSpeak على عكس آلات النطق امصنعة بطريقة الكلات. ربما يرجع السبب أيضا إلى أن الأحرف الساكنة يتم تجميعها من الكلام المسجل ولذا يتم استيعابها على أنها محقونة في الحديث.

التنفيذ

The synthesis engine itself is written in C++ using modern idioms, but closely following the implementation of klsyn-88, found at http://linguistics.berkeley.edu/phonlab/resources/

eSpeak is used to parse text into phonemes represented in IPA, making use of existing eSpeak dictionary processing. eSpeak can be found at: http://espeak.sourceforge.net/

The Klatt formant data for each individual phoneme was collected mostly from a project called PyKlatt: http://code.google.com/p/pyklatt/ However it has been further tweaked based on testing and matching with eSpeak's own data.

تم كتابة قواعد أطوال المقاطع اللفظية والفراغات بينها وسرعتها وأدائها بلغة python, إلا أنه تم نسخ بيانات أداء Espeak قدر المستطاع.

بناء NV Speech Player

You will need: - Python 3.7: http://www.python.org - SCons 3: http://www.scons.org/ - Visual Studio 2019 Community

للبناء من المصدر: run scons

بعد البناء, سينتج ملف باسم nvSpeechPlayer_xxx.nvda-addon في المجلد الرئيسي, حيث أن xxx مراجعة ال Git أو رقم الإصدار. بتثبيت هذه الإضافة في NVDA, سيسمح لك باستخدام آلة النطق. لاحظ أن كل شيء موجود بالإضافة, لن تحتاج لنسخ المزيد من ملفات ال DLL أو الملفات الأخرى.