Questions tagged «music»

3
级联双二阶部分以实现高阶滤波器的工作原理?
我正在尝试实现8阶IIR滤波器,并且我阅读的每个应用笔记和教科书都说,最好将2阶以上的任何滤波器实现为二阶部分。我tf2sos在MATLAB中使用了二阶部分的系数,这与我预期的4个二阶部分的6x4系数有关。在实施为SOS之前,八阶滤波器需要存储7个先前的采样值(以及输出值)。现在,当实现为二阶部分时,流程如何从输入到输出工作,我是否仅需要存储2个先前的样本值?还是第一个滤波器的输出馈x_in入第二个滤波器,依此类推?
20 filters  filter-design  infinite-impulse-response  biquad  audio  image-processing  distance-metrics  algorithms  interpolation  audio  hardware  performance  sampling  computer-vision  dsp-core  music  frequency-spectrum  matlab  power-spectral-density  filter-design  ica  source-separation  fourier-transform  fourier-transform  sampling  bandpass  audio  algorithms  edge-detection  filters  computer-vision  stereo-vision  filters  finite-impulse-response  infinite-impulse-response  image-processing  blur  impulse-response  state-space  linear-systems  dft  floating-point  software-implementation  oscillator  matched-filter  digital-communications  digital-communications  deconvolution  continuous-signals  discrete-signals  transfer-function  image-processing  computer-vision  3d 

1
使用FFT频谱查找相似的音乐
我已经尝试了几个星期,以找到一种在包含不同音乐流派的图书馆中匹配/查找相似歌曲的方法。 我的第一个尝试是检测诸如Tempo之类的功能或在歌曲中有多少低音以形成组,但由于采用了这种方法(基于音量变化的节拍检测),我并没有走得太远,因为不必计算大约20%的歌曲节拍总是,有时是它们的1/2或1/3,我无法实现。 经过数周的尝试失败后,我得到了一个新的主意,本文稍后会对此进行介绍。简而言之,它通过对文件的频谱样本进行采样,使之类似于文件的“平均频谱”来进行比较。背后的想法是,例如Hardstyle比一般的摇滚音乐拥有更多的低音,我还通过查看Audacity中的一些Spectrum来验证了这一点。 文件1:获取完整的文件FFT频谱(2048个样本大小atm,对数幅度标度) 对所有频谱阵列求和,取每个仓的平均值 与其他文件相同,存储所有结果 列出文件1和其他文件之间FFT值差异的列表 对文件1和文件X之间的差异求平均值 按这些平均值升序排列 “差值”最低的歌曲被视为相似。 你们中有一些知识渊博的人可以告诉我这是否是实施我的想法的正确/好的方法吗?
16 audio  fft  music 

4
实时以接近人类的准确性提取音频信号频率分量的最有效方法
我正在尝试找出如何(如果可能)以类似FFT的方式提取任意音频样本(通常是音乐)的频率分量,但是在我对FFT算法的研究中,我了解到它遭受了一些困扰为此目的有严格的限制。 FFT存在3个问题: 因为FFT二进制分辨率等于您的窗口大小,所以要获得相当合理的精度(例如1 Hz),您需要一个不合理的长窗口(例如1秒)。这意味着您无法快速检测到瞬态或新引入的频率。这也意味着使用更快的CPU和更高的采样率无法解决问题-限制本质上与时间有关。 人们对数地感知频率,但是FFT仓是线性间隔的。例如,在我们听力的低端,相差20hz 很大,而在高端处,相差20hz是不可察觉的。因此,要获得低频所需的精度,我们必须计算的远远超过高频所需的精度。 这些问题中的一些可以通过在FFT区间之间进行插值来解决。这可能适用于许多音乐音频,因为频率通常会相隔很远,因此不会有超过1个频率泄漏到一对音槽中。但这并非总是如此,特别是对于打击乐器之类的非谐音。因此,插值实际上只是猜测。 根据我对DFT / FFT算法的了解,输出(仓幅度)实际上是每个仓频率下正弦/余弦的相关性。令我吃惊的是,如果可以重新设计算法,使bin频率非线性地间隔(即,我们将一组不同的正弦/余弦相关联),那么我们就可以在所有频率上达到听觉相等的分辨率。这是可能的,还是基于我对所涉及数学的不完全理解而做的梦pipe以求? 我想我也可以通过在每个感兴趣的频率上关联正弦/余弦来用蛮力解决问题。这可能吗?什么样的效率?能解决我的问题吗? 是否有其他方法可以实现信号的更准确,实时的频率分解?CPU效率是一个关注点,但不是主要关注点-我对在理论上是否可以做到这一点感兴趣。但是,在现代台式机上实时可行的方法是理想的。

2
逆和弦和弦识别
目前,复音音乐转录似乎并不是一个可以解决的问题。 一小部分问题的逆过程如何。是否有某种频谱特征(来自STFT)可用于消除概率空间中的某些和弦?(例如,此声音片段很可能不包含任何C#和弦,或任何种类的小和弦,或者这是单个音符而不是和弦等) 假设音频片段或多或少是静止的(消除了瞬态攻击等),并且大多数或所有单个音符的泛音很可能会出现。(这个问题不是关于和弦。)

1
哪个转换最能模仿人类的听觉系统?
的傅里叶变换通常用于声音的频率分析。但是,在分析人类对声音的感知时,它具有一些缺点。例如,其频率仓是线性的,而人耳对数的响应是对数的,而不是线性的。 与傅立叶变换不同,小波变换可以修改不同频率范围的分辨率。的小波变换的属性允许大颞载体对于较低频率,同时保持短的时间宽度为更高的频率。 该Morlet小波是密切相关的听证会的人类感知。它可以应用于音乐转录并产生非常精确的结果,这是使用傅立叶变换技术无法实现的。它能够捕获每个重复音符和交替音符的短脉冲,每个音符都有清晰的开始和结束时间。 所述恒定-Q变换(密切相关的Morlet小波变换)也非常适合于音乐数据。由于变换的输出实际上是幅度/相位相对于对数频率的信号,因此需要较少的频谱仓即可有效地覆盖给定范围,这在频率跨度为几个八度音阶时证明是有用的。 该变换表现出具有较高频率箱的频率分辨率降低,这对于听觉应用是理想的。它反映了人类的听觉系统,从而在较低频率下频谱分辨率更好,而在较高频率下时间分辨率提高。 我的问题是:还有其他模仿人类听觉系统的转换吗?有没有人试图设计一种在解剖学/神经学上尽可能匹配人类听觉系统的变换? 例如,已知人耳对声音强度具有对数响应。还已知等响度轮廓不仅随强度变化,而且随频谱分量的频率间隔变化。即使总声压保持恒定,在许多关键频带中包含频谱成分的声音也会被感知到更大声。 最后,人耳具有与频率有关的有限时间分辨率。也许也可以考虑到这一点。

2
声音合成效果可产生自然声音
我目前正在开发手风琴合成器,我想使其听起来尽可能自然。 我真的很喜欢以下波浪声: https://dl.dropbox.com/u/20437903/onda%20acordeon.wav 波浪看起来像这样: 看着波浪,看起来好像有谐波加减了。我错了吗? 我对声音合成有点陌生,如果有人可以帮助我确定应用于波浪的效果以及应用效果的一些指导,我将不胜感激。谢谢。
12 music  sound 

2
用来区分不同(音乐?)音调的方法
我正在尝试研究并弄清楚如何最好地解决这个问题。它横跨音乐处理,图像处理和信号处理,因此有无数种查看方法。我想询问最佳方法,因为在纯sig-proc域中看似复杂的事情可能对进行图像或音乐处理的人来说是简单的(并且已经解决了)。无论如何,问题如下: 如果您原谅我对问题的看法,我们可以看到以下内容: 从上图可以看出,我有3种不同的信号“类型”。第一个是一个脉冲,其频率从到,然后重复。它具有特定的脉冲持续时间和特定的脉冲重复时间。f1f1f_1f4f4f_4 第二个仅存在于,但脉冲长度较短,脉冲重复频率较高。f1f1f_1 最后,第三个只是在的音调。f1f1f_1 问题是,我以何种方式解决此问题,以便编写可以区分信号1,信号2和信号3的分类器。也就是说,如果您向它提供信号之一,它应该能够告诉您该信号是这样的。什么最佳分类器会给我对角线混淆矩阵? 一些其他背景以及到目前为止我一直在想的是: 正如我所说的,这跨越了许多领域。我想问一想,在我坐下来与之作战之前可能已经存在哪些方法。我不想无意中重新发明轮子。以下是我从不同角度看过的一些想法。 信号处理观点: 我看过的一件事是进行倒频谱分析,然后可能使用倒频谱的Gabor带宽将信号3与其他信号2区分开,然后测量倒频谱的最高峰来区分信号3。信号2中为1。那是我当前的信号处理工作解决方案。 图像处理观点:我在这里思考,因为我实际上可以针对频谱图创建图像,也许我可以利用该领域的某些东西?我对这部分不是很熟悉,但是如何使用Hough变换进行“线”检测,然后以某种方式“计数”线(如果它们不是线和斑点,又如何呢?)然后从那里开始呢?当然,在我拍摄频谱图的任何时间点,您看到的所有脉冲都可能沿时间轴移动,那么这有关系吗?不确定... 音乐处理的观点:可以肯定的是信号处理的一个子集,但是在我看来,信号1具有一定的(也许是重复的)(音乐?)质量,音乐处理过程中的人们一直都能看到并且已经解决了。也许是区分乐器?不确定,但是这种想法确实发生在我身上。也许,从这个观点出发,是最好的方法,它占用了大部分时域并调高了这些步进率?再说一次,这不是我的领域,但是我非常怀疑这是以前见过的东西……我们可以将所有三种信号视为不同类型的乐器吗? 我还应该补充一点,我拥有大量的训练数据,因此也许使用其中一些方法可能会让我进行一些特征提取,然后我可以将其与K-Nearest Neighbor一起使用,但这只是一个想法。 无论如何,这就是我现在的立场,我们将不胜感激。 谢谢! 根据评论进行的编辑: 是的,预先知道,,,。(有些差异,但很小。例如,假设我们知道 = 400 Khz,但它可能以401.32 Khz出现。但是到距离很高,因此相比之下可能为500 Khz。)Signal-1将始终踩到这4个已知频率。Signal-2将始终具有1个频率。f1f1f_1f2f2f_2f3f3f_3f4f4f_4f1f1f_1f2f2f_2f2f2f_2 还预先知道所有三类信号的脉冲重复率和脉冲长度。(再次有一些差异,但很少)。尽管有些警告,但信号1和2的脉冲重复频率和脉冲长度始终是已知的,但它们是一个范围。幸运的是,这些范围根本不重叠。 输入是实时的连续时间序列,但是我们可以假设信号1、2和3是互斥的,因为在任何时间点仅存在一个信号。对于在任何时间点要花费多少时间块,我们也具有很大的灵活性。 数据可能是嘈杂的,是的,在我们已知的,,,不在的频段中可能存在虚假的音调等。这是完全有可能的。我们可以假设中等信噪比只是为了“开始”解决这个问题。f1f1f_1f2f2f_2f3f3f_3f4f4f_4

2
将弯音(MIDI)值转换为“正常”音调值
我正在尝试使用此处给出的rt_lpc(实时LPC)实现进行离线LPC分析和综合。该程序中有一些功能可用于脱机LPC分析和综合程序。rt_lpc代码主要用于作曲家等,这意味着它使用MIDI或声门脉冲输入。程序中有一些代码可将音高值(从自相关获得)转换为该bend值。该关系如下所示: pitch = (int)( Stk::sampleRate() / midi2pitch[ananya.data[1]] ) / pow( 1.0653f, bend/64.0f*11.0f ); power *= ananya.data[2] / 64.0f; bend = ge.data[1] / 128.0f + ge.data[2] - 64; 有几点: 一。ananya是一个MidiMsg似乎正在动态填充的类型的对象。 b。ge也是一个MidiMsg似乎也在飞行中填充的类型的对象。 C。这两个对象是在程序实时运行时创建的(mine是一个脱机版本,它在我自己的main.cpp中运行它的特定部分。 我的问题: 1.什么是弯音? 2.如何将螺距值转换为折弯值?有哪些映射关系? 我已经用谷歌搜索解决方案,但没有找到明确的答案。
11 music  pitch 


1
对音频信号执行以产生有趣声音的基本操作类别是什么?
我不知道这个问题是否有意义,因为我是dsp的新手。 在我对音频dsp的有限尝试中,我遇到了: 调频 调幅 添加剂合成 减法合成 我的问题是:这些是信号处理(特别是音频)的主要基本类别吗? 换句话说,具有全套插件的FL Studio可以完成的所有效果和奇特的事情可以分解为上述4种操作的一系列和组合吗?还是还有一大堆?从理论上讲,带插件的现代DAW可以按这种方式分为任何类别吗?以上四个类别本身是否有意义? 背景知识:基本上,我正在尝试制作一个非常基本(但非常灵活)的音频合成器/编辑器,作为一个学习编程和音频dsp的项目。使用Java时,我首先模仿了现实世界中类似合成器的基本类,调用了Oscillator和LFO之类的东西,但是每次学习新东西时,我发现自己不得不重写所有内容以使新概念适合该程序。 我现在尝试重新开始,并提出程序的基本对象和结构。为了做到这一点,我需要知道如何允许这些对象进行交互等。 谢谢! 编辑* * * 感谢您提供有用的评论和答案。我意识到我可能一直低估了东西的dsp方面,我将无法仅为简单的合成器创建基本的模板和结构,然后对其进行扩展/构建。当我学习新东西和做事的“正确”方法时,我可能不得不一次又一次地进行重建……这将花费更长的时间,但是也许我会学到更多?同样抱歉,我似乎还没有足够的代表来投票支持任何人……我会尽快。 编辑*编辑*** 我应该补充一点,在谷歌搜索中发现了有关“合成类型”的基本指南,我发现它是相关且有趣的。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.