تزييف الوقت الديناميكي لمقارنة اثنين من التسجيلات الصوتية

StackOverflow https://stackoverflow.com/questions/2168027

سؤال

أرغب في استخدام Dynamic Time Carping لمقارنة متجهين للميزات لتسجيلين صوتيين (بالطبع أنا أقوم بكل المعالجة المسبقة اللازمة أولاً). يجب أن يخرج برنامجي التشابه بين التسجيلات الصوتية في المئة. على سبيل المثال ، يعني 100 ٪ أن التسجيلين متطابقان تمامًا ، وكلما كان الاختلاف الأكثر اختلافًا ، الرقم الأدنى الذي أحصل عليه. كيف أتجول إليها؟ يعطيني DTW فقط طول المسار أو تكلفة الانتقال ولا أعرف كيفية تحويل أحد هذه الأرقام إلى قيمة في المئة.

هل كانت مفيدة؟

المحلول

لست على علم بأي مقياس مسافة بين الإشارات التي تقاس بنسبة مئوية. إذا كان هناك معنى 100 ٪ ، فيجب أن يكون هناك معنى 0 ٪. لذا ، عليك أولاً أن تسأل نفسك: ماذا يعني 0 ٪؟

بالنسبة إلى DTW ، أنا متأكد تمامًا من عدم وجود تحويل ثابت إلى الحد الأدنى من المسافة إلى "المئة مطابقة". إذا كان يجب عليك ذلك ، فأنت بحاجة إلى تحديد كمية مجلية وهي وظيفة للمسافة الدنيا DTW.

تحرير: في الواقع ، يمكنك تحديد نوع مسافة أطول إذا كان لديك تسجيلان محدودان. سيكون ذلك مسافة المسار الذي ذهب (إذا نظرت إلى مصفوفة التكلفة) على طول الطريق في الوقت المناسب ، أو على طول الطريق ثم إلى اليمين. أفضل مسار ، أي المباراة المثالية ، ينزل قطريًا رئيسيًا.

فكرة واحدة بسيطة: إذا كنت تستخدم (0،1) (1،0) (1،1) كمرشحين للخطوة ، فربما يمكنك استخدام عدد الخطوات التي اتخذتها (0،1) و (1،0) كمقياس من سوء. من المؤكد أن هذا الإجراء يحتوي على الحد الأقصى والحد الأدنى ، لذلك يمكن تعيينه إلى نطاق مرغوب فيه مثل 0-100 ٪.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top