- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有一把吉他,我需要我的电脑能够分辨出正在演奏的音符,识别音调。是否可以在 python 中做到这一点,pygame 也可以吗?能够在 pygame 中做到这一点会非常有帮助。
最佳答案
要识别音频信号的频率,您可以使用 FFT (fast Fourier transform) 算法。据我所知,PyGame 没有办法录制音频,也不支持 FFT 变换。
首先,您需要从声卡中采集原始采样数据;这种数据称为 PCM(脉冲编码调制)。在 Python 中捕获音频的最简单方法是使用 PyAudio library (Python 绑定(bind)到 PortAudio)。 GStreamer也可以做到这一点,对于您的目的来说,这可能是一种矫枉过正。以 48000 Hz 的速率捕获 16 位样本是非常典型的,这可能是普通声卡所能提供的最好的。
获得原始 PCM 音频数据后,您可以使用 scipy library 中的 fftpack
模块通过 FFT 变换运行样本。这将为您提供分析的音频信号的频率分布,即特定频段的信号强度。然后,就是找到信号最强的频率了。
您可能需要一些额外的过滤来避免 harmonic frequencies我不确定。
关于python - 识别音频的音调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1797631/
我环顾了 Google 和 SO,但找不到这个...... 有没有一种方法可以在 Mac 上仅使用 Python 标准库来生成简单的音调(即蜂鸣声、方波、锯齿声)? 基本上,我正在尝试在文本角色扮演游
我搜索了很多术语和量刑,但找不到任何相关信息。所以无论如何:我怎样才能为警报(默认应用程序)获取默认或当前设置的音乐/音调/声音? 假设我每天早上醒来时都会播放闹钟歌曲:Song#1 使用默认闹钟应用
我正在读取来自麦克风的原始波流。 (这部分工作,因为我可以将它发送到扬声器并得到很好的回声。) 为简单起见,假设我想检测波形数据中的 DTMF 音调。实际上我想检测任何频率,而不仅仅是 DTMF 中的
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是偏离
Android 的新手。我有一个应用程序正在运行,我正在生成 DTMF 信号并解释微 Controller 生成的内容。我成功地生成了音调,但是音调是通过扬声器播放的,我想通过一个拼接的耳机插孔播放音
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 6 年前。 Improve this ques
我录制了几秒钟的音频,其中包含以相同频率生成的两个相似的音调。他们相隔几秒钟。我想做的是根据该音频文件的采样间隔,检测出第一声的结束和第二声的开始。假设以48KHz音频的16位带符号PCM和一个字节数
我有 wav 文件,使用 naudio 库我已经能够从 wav 文件中获取原始数据。 有谁知道如何循环检测 DTMF 音调的 block 中的数据? 最佳答案 NuGet 包 DtmfDetectio
我有一个使用 OpenEars API 读取文本的 iOS 应用程序。我使用的是最新版本 (1.2.5)。我无法弄清楚如何在阅读单词时改变音调(“即时”)。我创建了一个 slider 来控制音高。更改
如何在 iPhone 中以编程方式检测 dtmf 音调?。我想检测接收到的音频信号(麦克风输入)是否应该是 dtmf 音调? 请帮助我?我真的为此苦苦挣扎了两天。提前致谢...... 最佳答案 由于
我想在 android 中执行以下操作。可能吗? 1) 调用+xx xxxxxxx 2) 等待第一声结束 3) 插入通行证:xxxx 4)等待短高音结束 5) 按 1 直到听到特定的声音。 这里的音调
当对方在通话中按 1,2,3.....9 时,是否可以在 android 中获取 DTMF 音调?如果是,怎么办? 最佳答案 查看此 http://code.google.com/p/dtmf-dec
我目前正在研究汽车安全系统.... 我需要通过输入到外部数字电路的电话耳机产生 DTMF 音调。是否有任何 API 可以执行此操作?任何人都可以帮助.... 提前致谢... 最佳答案 我得到了答案..
我想在 php 中生成一个正弦波。但是构建我的 wav 我需要以字节为单位给出值。我不知道该怎么做: 这是我的代码: $freqOfTone = 440; $sampleRate = 44100; $
我正在尝试在 linphone 的 SIP 调用期间发送一系列 DTMF 音调,为 iPhone 编译,以便在我设置的本地交换机上进行一些调用管理。我从代码中看到各个数字发送 DTMF(线路上没有音频
我正在尝试从电话线上检测来电显示信息。收到的来电显示信息采用 DTMF 音调(而非 FSK)。我怎样才能检测到这个 DTMF 音调?电话和传真调制解调器可以吗?电话和传真调制解调器能够检测 FSK 信
这就是我所拥有的。它生成 5 秒 Au file具有 440 Hz 正弦波,灵感来自 this question . -- file: tone.hs import qualified Data.By
我有一个 double 组,这是对数组应用 FFT 的结果,其中包含我添加了 1000Hz 音调的 Wav 音频文件的音频数据。 我通过“数值食谱”中定义的 DREALFT 获得了这个数组。(我必须使
Tone.BufferSource:缓冲区未设置或未加载。此错误发生在 try/catch block 中。它只会在我不断或有时随机触发更新功能时发生。发生此错误时,我的音频会暂时关闭。 我的代码背后
我正在 iphone 上开发一个应用程序,我需要一种方法来检测通过麦克风传入的声音的音调。 (即 A#、G、C♭ 等)我以为我会使用 AVAudio,但我真的不知道,而且我在文档中找不到任何内容。 有
我是一名优秀的程序员,十分优秀!