Automatic Speech Recognition
Transformers
Safetensors
Arabic
multi_level_ctc
quran

فوائد من بناء أداة تسميع على النموذج (float32، الإسقاط، /correct-recitation)

#2
by omar-abu-hfs-siraj - opened

السلام عليكم ورحمة الله وبركاته

جزاكم الله خيرًا على هذا العمل. بنينا عليه أداةَ تسميعٍ لكشف اللحن الجليّ، وأحببنا أن نشارككم ما وجدناه — لعلّه ينفع.

١ — float32 أسرعُ من bfloat16 على المعالجات القديمة

على معالج Sandy Bridge (2011، بلا AVX2)، التبديلُ من الافتراضيّ bfloat16 إلى float32 أعطى ٤.٥× أسرع (102.7ث ← 22.9ث لآيةٍ من أربع كلمات)، بدقّةٍ متطابقة. قد ينفع من يشغّل النموذج على عتادٍ متواضع.

٢ — الإسقاطُ يظهر في phonemes.text لا في probs

حين لا يُنطَق شيءٌ من المرجع، تختفي فونيماتُه من المخرَج بعددها بالضبط (تحقّقنا بمثالين مستقلّين: ٢٩←٢٦ و٢٩←١٧). فصار كشفُ الإسقاط ممكنًا بمقارنة طول النصّ المخرَج، بلا توقيتات.

٣ — /correct-recitation تسقط عند الخطأ

جرّبناها على سبعة تسجيلات: نجحت في التلاوات الصحيحة (٣/٣، بلا إنذارٍ كاذب)، لكنّ ثلاثًا من أربع حالات خطأٍ رجعت 500 — والسببُ من السجلّ: ValueError: No results found. Try increasing error_ratio. فالبحثُ عن الآية يفشل حين تسقط كلمة، فيُرفَض الطلبُ قبل التصحيح.

ولعلّ في الحزمة طريقًا يُمرَّر فيه المرجعُ مباشرةً بلا بحث — فذلك أنسبُ للتسميع، إذ الآيةُ معلومةٌ سلفًا.

٤ — ملاحظةٌ على الشيفرة

في multilevel_greedy_decode (السطران ٥٢٢–٥٢٣) تُسنَد القيمةُ نفسُها إلى متغيّرين، فيصير new_probs معرّفاتٍ لا احتمالات — فتضطرب احتمالاتُ الصفات عند اختلاف الطول. ولا يمسّ الفونيمات.

والصيغةُ: .m4a غيرُ مقبولةٍ في /correct-recitation — يلزم تحويلٌ إلى .wav.

عملُنا كلُّه موثَّقٌ ومنشورٌ صدقةً جارية، وفيه حدودُ ما وجدناه بالأرقام:

https://huggingface.co/datasets/omar-abu-hfs-siraj/tasmee3-muaalem-findings

جزاكم الله خيرًا، وبارك في عملكم.

Sign up or log in to comment