如何使用C#来捕捉不同的声音 [英] How to use C# to catch different sound

查看:57
本文介绍了如何使用C#来捕捉不同的声音的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hello:

我有一个特殊的要求来监控一个在线网站,它显示了一个
麻将游戏的实时时间。  在一个麻将游戏中有4个玩家,该网站为不同的玩家分配不同的音频声音,所有声音都有不同的音高,我可以下载
所有4个不同的声音文件。  用我的耳朵倾听,我可以分辨出来,因为声音音高不同,一个声音非常高,像女高音,另一个像女中音,另一个像男高音,最后一个像Bass,所有声音
非常短,只有1秒钟。

声音结束后,网站会弹出一个窗口,显示刚刚赢得此游戏的玩家的积分;至于麻将游戏,获胜的机会取决于很多因素,所以没有办法
告诉一场比赛将持续多久,有时候,它很快,一到1分钟或2分钟,但有时候,它可能会持续一两个小时甚至更长时间。

I想写一个C#程序来做这样的事情:

我想听对于不同的播放器,如果程序捕获声音,它将尝试拍摄弹出窗口的屏幕截图,其弹出窗口位置是预定义的,并使用
OCR软件分析来自弹出窗口,所以程序会将麻将游戏记录(比如谁赢得最后一场比赛以及他在比赛中赢得多少积分)保存到数据库中。

我四处搜索,但找不到任何C#程序甚至可以做到类似的工作?不同的部分似乎是听不同音高的声音,但对于人耳,差异是显而易见的。
 并且因为同时,其他声音在附近,因此,使用C#程序来捕捉特定声音很重要。

我在Windows 10的VS 2017中使用C#。

有任何建议吗?

最诚挚的问候,

推荐答案

嗯,你需要监听音频。做一个
对其进行快速傅里叶变换以分离不同的频段
。搜索
nuget for FFT
Well, you need to monitor the audio. Do a Fast-Fourier-Transformation on it to separate the different bands. Search nuget for FFT.


这篇关于如何使用C#来捕捉不同的声音的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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