相关疑难解决方法(0)

C#中快速傅里叶变换(FFT)的实现

哪里可以找到C#中免费,快速,可靠的FFT实现?

那可以用在产品中吗?或者有任何限制吗?

c# signal-processing fft

71
推荐指数
7
解决办法
12万
查看次数

检测基频

在印度的IIT-Bombay有这个技术节,在那里他们有一个名为"Artbots"的活动,我们应该设计具有艺术能力的艺术机器人.我有一个关于音乐机器人的想法,它以歌曲作为输入,检测歌曲中的音符并在钢琴上播放.我需要一些方法来帮助我计算歌曲音符的音高.关于如何去做的任何想法/建议?

signal-processing frequency pitch-tracking detect

18
推荐指数
3
解决办法
2万
查看次数

使用FFT进行实时音调检测

我正在尝试使用C++进行实时音高检测.我正在测试一些来自Performous(http://performous.org/)的代码,因为其他一切对我来说都不起作用.我确信这有效,但我不能让它发挥作用.我已经尝试了几个星期了,而且我还没有能够得到任何音调检测代码.

c++ audio signal-processing fft pitch-tracking

9
推荐指数
1
解决办法
2万
查看次数

如何检测iPhone上的声音频率/音高?

我正试图找到一种方法来检测iPhone的麦克风录制的声音频率.我想检测声音频率是上升还是下降.

iphone audio frequency pitch

8
推荐指数
1
解决办法
1万
查看次数

从阵列中的音频字节获取音高或幅度等信息

我想得到一个字节数组中音频字节的音高.这是我现在的代码:

        byte[] wav = File.ReadAllBytes("test.wav");
        for (int i = 44; i<wav.Length; i++)
        {
            // wav[i] is an audio byte, channel shifts every 2 bytes (I think)
        }
Run Code Online (Sandbox Code Playgroud)

起初我认为wav文件是用数百或数千个块构建的,每个块都包含一个采样率,所以我试图扫描整个数组中的另一个字节序列,代表单词"WAVE",它是一个部分.块,但采样率仅在数组的开头,并且在44位之后,所有数组都只是音频数据本身.
音频字节只是十六进制值,我无法理解如何从该值获取任何信息.

更新:我已经下载了具有FFT算法的Math.NET库.这是FFT的文档:https://numerics.mathdotnet.com/api/MathNet.Numerics.IntegralTransforms/Fourier.htm 我已经阅读了所有的方法,但我不知道什么方法会做我想要的(给它几个字节的wav文件并获得它们的频率).

更新2:现在我使用Accord库进行FFT,我在youtube上找到了一个教程.这是我将音频字节转换为双数组的代码:

            for (int i = 44; i<wav.Length; i+=BufferSize)
        {
            float currentSec = (float) audioLength / wav.Length * i;

            byte[] buffer = new byte[BufferSize];

            for (int j = 0; j < buffer.Length; j++)
            {
                if ((i + j + 1) < wav.Length)
                    buffer[j] = wav[i + j]; …
Run Code Online (Sandbox Code Playgroud)

c# audio fft

-2
推荐指数
1
解决办法
658
查看次数

标签 统计

audio ×3

fft ×3

signal-processing ×3

c# ×2

frequency ×2

pitch-tracking ×2

c++ ×1

detect ×1

iphone ×1

pitch ×1