Обнаружить говорящих нескольких человекAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Обнаружить говорящих нескольких человек

Сообщение Гость »


I want to create an Android application that, when I use my own TTS (Text-to-Speech) function to speak, listens to the surrounding sounds and triggers an event when it detects someone else speaking. My idea is to use FFT to compare the original TTS audio with external user voices. Is there any method to achieve this?

I tried to use the below logic to compare the FFT genrate by JTransforms
private fun calculateCosineSimilarity(vector1: DoubleArray, vector2: DoubleArray): Double { if(vector1.size != vector2.size){ return 0.0 } var dotProduct = 0.0 var norm1 = 0.0 var norm2 = 0.0 var i = 0 while (i < vector1.size) { dotProduct += vector1 * vector2 + vector1[i + 1] * vector2[i + 1] norm1 += Math.pow(vector1, 2.0) + Math.pow(vector1[i + 1], 2.0) norm2 += Math.pow(vector2, 2.0) + Math.pow(vector2[i + 1], 2.0) i += 2 } return dotProduct / (Math.sqrt(norm1) * Math.sqrt(norm2)) }

Источник: https://stackoverflow.com/questions/781 ... n-speaking
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»