标签: fft

音乐转录

我正在制作一个复音音乐转录项目.我已经阅读了一些论文,并阅读了解释类似任务的文章.我对问题领域的许多方面感到非常困惑.希望有人能够帮助我.

到目前为止,我已经从给定的mp3获得了解码音频数据流.

我已经了解起病检测是转录的第一步..是否有可用的Java库可用于检测开始.

接下来,如我所读,使用FFT也可以检测基频.

我想知道在这些任务中使用FFT.(我对FFT不熟悉).是否必须执行FFT以进行起始检测和F0检测.如果不是其他方式.我可以在我的音频流上执行FFT,或者是否需要执行其他操作才能操作这些音频数据.

非常感谢.

java audio fft onset-detection

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

GPU性能请求,什么是最佳解决方案?

我从事音频处理项目,需要进行大量的基本计算(+, - ,*),如FFT(快速傅里叶变换)计算.

我们正在考虑使用显卡来加速这些计算.但我们不知道这是否是最好的解决方案.我们理想的解决方案需要是一个价格低于500美元的好计算系统.

我们使用Matlab编程,我们有声卡采集必须插入系统.

你知道除了显卡+主板以外的解决方案吗?

hardware matlab gpgpu fft

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

为什么我的KISS FFT图显示在y轴上镜像的重复峰?

我是FFT概念的初学者,所以我理解的是,如果我输入1024个信号,我将获得513个区间,范围从0hz到22050Hz(在44100Hz采样率的情况下).在Cinder中使用KISS FFT,getBinSize函数返回1024个信号输入的预期513值.我不明白为什么会出现重复的峰值.运行经过20Hz到22000Hz频率(按顺序)的测试音频样本,我看到整个时间有两个峰值.它看起来像:

__ _ __ |__ _ __ _ __ |__ _ __

随着音频播放,峰值似乎彼此相向移动,因此第二个峰值似乎确实是第一个峰值的镜像副本.我经历过的每个例子似乎只是继续绘制所有513个值并且它们似乎没有这个镜像问题.我不确定我错过了什么.

plot fft kissfft cinder

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

CUFFT具有双精度

我在使用CUDA FFT库时遇到一些问题。

我将输入声明为cuDoubleComplex,但编译器返回以下错误:此类型与cufftComplex类型的参数不兼容。通过Internet搜索后,我发现文件cufft.h,其中有一行typedef cuComplex cufftComplex;。我的问题是,在cuComplex.h库中,很显然cuComplex具有单浮点精度(typedef cuFloatComplex cuComplex;),但是我想要双精度。

这可能吗?

特别是,我获得以下信息:

error: argument of type "cufftDoubleComplex *" is incompatible with parameter of type "cufftComplex *"
Run Code Online (Sandbox Code Playgroud)

在这一行:

cufftExecC2C(plan, data1, data2, CUFFT_FORWARD);
Run Code Online (Sandbox Code Playgroud)

cuda fft double-precision cufft

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

应用FFT后的对称部分是针对哪些频率的?

我有一个4096个采样长44.1 kHz的音频剪辑.在应用FFT之后,我获得了4096个频段.

然后每个频段将跨越10.77 Hz(44100/4096).

我被告知频率的下半部分与前半部分共轭对称.

考虑到这是我上面的计算正确还是我错过了重要的事情?

signal-processing fft

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

Android使用两个设备之间的声音获取距离

想法是Phone A同时发送声音信号和蓝牙信号,Phone B将计算两个信号之间的延迟.

在实践中,我得到了不一致的结果,延迟时间从90ms到160ms.我尽可能地尝试优化两端.

在输出端: 在AudioTrack.write和AudioTrack处于流模式之后,
一旦蓝牙和音频输出都有自己的线程
蓝牙仅输出,就会生成音调,因此它
应该在写入完成之前开始输出.

在接收端:
再次两个单独的线程
在每个AudioRecord.read之前记录系统时间

采样规格:
44.1khz
读取整个缓冲区
使用fft一次采样100个样本
考虑自初始读取后转换的样本数量()

android bluetooth fft audiorecord audiotrack

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

FFT实现

我正在使用应用程序来增强图像FFT.

我已经实现了以下代码FFT:

在此输入图像描述

对于上图中的第一个公式,我实现了如下代码:

  void fft(int x , int y , int size) {

    for(int i=x; i<x+32 ; i++){
        for(int j=y ; j<y+32 ; j++){
            double kth = -2 * Math.PI * (((i*x)/size)+((j*y)/size));
            ComplexNumber expo = new ComplexNumber(Math.cos(kth),Math.sin(kth));
            output.values[i][j] = ComplexNumber.cMult(input.values[x][y],expo) ;
            intermediate.values[i][j] = output.values[i][j];
            input.values[i][j] = output.values[i][j];
        }

    }

}
Run Code Online (Sandbox Code Playgroud)

我还实现了第二个和第三个公式的代码,但我得到的结果不正确.我该怎么办 ?

为第一个方程实现的代码是否正确?

编辑

我已尝试在指纹图像上使用Catalano框架中的建议函数.应用Catalano框架后输入图像和输出图像:

输入图像

在此输入图像描述

傅里叶变换

在此输入图像描述

频率滤波器

在此输入图像描述

产量

在此输入图像描述

当我将它应用于指纹图像时,输入图像和输出图像之间的差异并不那么有效.即使在应用FFT之后,指纹图像中的脊和谷之间的对比也不能明显区分.所以需要做任何附加参数对指纹图像进行操作?

java fft

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

为什么使用复共轭进行傅立叶光谱分割?

我看到写了几个代码,其中傅里叶光谱用复共轭分割,如下所示:

af = fftn(double(img1));
bf = fftn(double(img2));
cp = af .* conj(bf) ./ abs(af .* conj(bf));
Run Code Online (Sandbox Code Playgroud)

这个脚本中.

这与处理复杂的划分有关吗?阅读有关./运算符的文档,声明它处理复杂的数字.这是错的吗?:

af./bf
Run Code Online (Sandbox Code Playgroud)

matlab fft complex-numbers

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

整数类不完全支持MTIMES.至少一个输入必须是标量

我试图在不使用matlab内置函数(如fft())的情况下实现一维DFT.这是我的代码

function [Xk] = dft1(xn)
N=length(xn);
n = 0:1:N-1; % row vector for n
k = 0:1:N-1; % row vecor for k
WN = exp(-1j*2*pi/N); % Twiddle factor (w)
nk = n'*k; % creates a N by N matrix of nk values
WNnk = WN .^ nk; % DFT matrix
Xk = (WNnk*xn );
Run Code Online (Sandbox Code Playgroud)

当我使用以下命令后运行代码时:

I = imread('sample.jpg')
R = dft1(I)
Run Code Online (Sandbox Code Playgroud)

我得到这个特殊的错误: 整数类不完全支持使用*MTIMES的错误.至少一个输入必须是标量.要计算元素TIMES,请改用TIMES(.*).

有人可以帮我弄清楚如何解决这个问题

注意:我还在学习Matlab的最初阶段非常感谢你

matlab fft image-processing dft

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

在Julia中实施STFT(短时傅立叶变换)的最佳方法是什么

因此,我想知道如何在Julia中实现STFT,可能使用Hamming窗口。我在互联网上找不到任何东西。

最好的方法是什么?我宁愿不使用Python库,而尽可能使用纯本地Julia。也许这是Juila正在开发的功能...?

谢谢!

fft julia

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