在Android或语音标签比较的声音WAV(语音指令)API语音、指令、声音、标签

由网友(╭╮萌男︶ㄣ)分享简介:我开发一个应用程序,我需要一些方法来比较2的声音是否匹配与否,我知道,语音识别是一种方法可以做到这一点,但因为(我觉得)它需要翻译的声音转换成字符串第一,它不会那么适合于其他语言除了由语音识别器所支持的朗....任何想法?就像老天的手机用来做什么,语音标签它只是比较语音输入与它的安装I'm developing an...

我开发一个应用程序,我需要一些方法来比较2的声音是否匹配与否,我知道,语音识别是一种方法可以做到这一点,但因为(我觉得)它需要翻译的声音转换成字符串第一,它不会那么适合于其他语言除了由语音识别器所支持的朗....任何想法?就像老天的手机用来做什么,语音标签它只是比较语音输入与它的安装

I'm developing an app and I need some way to compare 2 voices if they' match or not, I know that Voice Recognizer is a way to do that but since (i think) it needs to translate the voice into string first, it won't be so suitable for other language apart from the lang supported by the speech recognizer....any idea? Just like old-day phone used to do, the voice tag where it just compare the voice input with the voice it recorded earlier during the setup

推荐答案

A 相对的简单的方法是使用FFT(快速傅立叶变换),以原始的时域数据转换WAV文件为频域的数据(其中在转化的阵列重新$ P $每个值psents特定频带的相对幅度/强度)。

A relatively simple way to do this is to use FFT (Fast Fourier Transform) to convert the time-domain data of the original WAV file into frequency-domain data (in which each value in your transformed array represents the relative magnitude/intensity of a particular frequency band).

如果同一人说两次相同的字,由此产生的时域数据将仍然还是在数值在两个WAV文件很大的不同。既WAV文件转换到频域(用FFT窗口为两者的大小相同,即使两个文件是略微不同的长度)会产生频率阵列得多彼此相似比是原始WAV文件。

If the same person speaks the same word twice, the resulting time-domain data will nevertheless still be very different numerically in the two WAV files. Converting both WAV files to the frequency domain (using the same size of FFT window for both, even if the two files are of slightly different lengths) will produce frequency arrays that are much more similar to each other than were the original WAV files.

不幸的是,我一直没能找到任何的FFT库,专为Android。下面是引用一些基于Java库的问题:

Unfortunately, I haven't been able to find any FFT libraries specifically for Android. Here's a question that references some Java-based libraries:

信号处理库中的Java?

阅读全文

相关推荐

最新文章