在Android或语音标签比较的声音WAV(语音指令)API [英] Compare voice wav in android or voice tag ( voice commands ) API

查看:204
本文介绍了在Android或语音标签比较的声音WAV(语音指令)API的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发一个应用程序,我需要一些方法来比较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?

这篇关于在Android或语音标签比较的声音WAV(语音指令)API的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆