用数据库中的声音检查传入的声音 [英] Checking incoming sound with sound in a database

查看:104
本文介绍了用数据库中的声音检查传入的声音的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在做一个学校项目,需要检查我的PC麦克风输入的声音是否与数据库中的某些声音匹配.如果匹配,则将显示文本/标签.关于我应该如何开始的任何线索?我使用Visual Studio教了C#代码.谢谢.
bfts上我并没有真正教过我.
希望有一些示例代码可以学习并开始使用.

I am working on a school project whereby i am needed to check if incoming sound from my pc mic matches some sound i have in a database. if it is a match, then it will show a text/label. any clue on how i should start? i am taught the C# code using visual studio. Thanks.
i am not really taught on ffts btw.
hope got some sample codes to learn and start on it.

推荐答案

我只有一个主意.仅当您的声音是人类的语音(某些单词)时,它才能起作用.同样,这组单词应该适合一些可观察的词汇.我会说,这是您唯一的希望.

如果可以接受,请不要存储任何声音,请存储单词.当您收到声音时,请尝试使用可用的语音识别引擎来识别它.尝试将声音识别为语音,并在成功的情况下比较单词.使用程序集"System.Speech",名称空间为System.Speech.Recognition;它随附.NET Framework可重新分发的软件包,请参见:
http://msdn.microsoft.com/en-us/library/system.speech. Identification.aspx [ ^ ].

就这样.

如果您认为可以比较两个没有100%匹配的声音记录,则应为它们提供接近"的标准.但是您不需要这样做.把它忘了吧.以您目前对问题的理解水平,如果您一起努力,我认为您一生都无法解决这一任务.只是不要浪费你的时间.

—SA
I have just one idea. It can work only if you the sound is human speech, some words. Also, the set of words should fit on some observable vocabulary. I would say, this is the only hope you have.

If this is acceptable, don''t store any sounds, store words. When you receive sound, try to recognize it using available speech recognition engine. Try to recognize the sound as speech and in the case of success compare words. Use the assembly "System.Speech", name space System.Speech.Recognition; it comes with .NET Framework re-distributable package, please see:
http://msdn.microsoft.com/en-us/library/system.speech.recognition.aspx[^].

That''s all.

If you think you can compare two sound records without 100% match, you should present you criteria of "closeness" of them. But you don''t need to do it. Just forget it. With your present level of understanding of the problems, if you work along, I don''t believe you whole life time would be enough to approach this task. Just don''t waste your time.

—SA


此人与您有相同的问题:
http://www .dreamincode.net/forums/topic/176251-how-can-i-recognize-electric-keyboard-piano-sounds-in-c%23/ [ http://naudio.codeplex.com/ [ ^ ]

这也是很好的资源:
http://channel9.msdn.com/coding4fun/articles/NET-Voice-Recorder [ ^ ]

如果您要比较简单的频率声音,则FFT是最好的方法,但是如果您要比较多频率的声音,我认为您应该比较声音的振幅,并对这个术语进行一些研究: ^ ]

CSharp的互相关库:
http://www.meta-numerics.net/ [ http://www.alglib.net/fasttransforms/crosscorrelation.php [
This person had the same problem as you :
http://www.dreamincode.net/forums/topic/176251-how-can-i-recognize-electric-keyboard-piano-sounds-in-c%23/[^]

He was suggested with this library :
http://naudio.codeplex.com/[^]

Also this is a good resource :
http://channel9.msdn.com/coding4fun/articles/NET-Voice-Recorder[^]

If you''re going to compare simple frequency sounds then FFT is the best way but if you are going to compare multi frequency sounds I think you should compare sound amplitudes and also have some research on this term : Cross-correlation[^]

Cross correlation libraries for CSharp :
http://www.meta-numerics.net/[^]

http://www.alglib.net/fasttransforms/crosscorrelation.php[^]

Hope it helps.


这篇关于用数据库中的声音检查传入的声音的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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