以编程方式“聆听”声音(信号处理?)

时间:2009-10-27 00:24:00

标签: visualization signal-processing pitch-tracking

我熟悉Computer Vision嗯,知道它的),其中一个应用程序可以是图像识别,例如Optical Character Recognition,我相信。但是,我更感兴趣的是“计算机听力”,我刚刚学到的是Digital Signal Processing

对信号处理最感兴趣的是音乐中的潜在应用。我记得前一段时间我看到了一个应用程序的预览(抱歉,忘记了名字),它可以收听某人弹吉他的录音,并自动在时间线上绘制出来。演奏的实际音符/和弦。使用该程序,用户可以移动它们甚至编辑它们。现在,显然这更复杂,但它是否涉及同样的事情?信号处理?我也对音乐可视化器和智能照明系统的可能应用感兴趣。

我的理解是,对MP3等压缩音频格式进行此处理不会产生与包含单独轨道的MIDI相同的结果(可能是我误解了)。 PCM等未压缩格式会比MP3更好吗?我对声音处理一无所知,这正是我从目前读到的内容中推断的。

我已经看过this question,它有很好的答案和链接,涵盖了我的很多问题。但是,我发现的大多数链接都是理论上的,我确信这些链接都很有趣,鉴于我对这个主题的兴趣,我绝对值得阅读,但我想知道是否有任何现有的库可以促进这一点,或者与该主题相关的文章,这些文章面向计算机科学/编程,可能还有示例代码。即使是开源声音/音乐可视化器或任何其他开源声音处理代码也会很棒。

对不起,如果我没有任何意义。就像我说的,我不知道我在说什么。

4 个答案:

答案 0 :(得分:14)

答案 1 :(得分:6)

  
    

我的理解是,对MP3等压缩音频格式进行此处理不会产生与包含单独轨道的MIDI相同的结果(可能是我误解了)。

  

MIDI基本上存储乐器信息和音符。还有其他效果(音量,弯音,颤音,攻击率等)

不是真正的数字信号处理。

  
    

PCM等未压缩格式会比MP3更好吗?

  

可能有点;这取决于应用程序。 MP3降低了对其不敏感的频率的精确度。如果你想做可视化,那么MP3可能就好了。

但是,如果您想要确定录音中正在演奏什么类型的乐器,那么可能会有隐藏在人类不敏感的频率中的有用信息。

我认为The Scientist and Engineer's Guide to Digital Signal Processing是程序员的伟大的参考。第8章解释了离散傅里叶变换(用于MP3处理和许多其他地方分离出波的分量频率)。

我用它来制作一个图形程序,让你用鼠标绘制波形,然后应用DFT,让你选择要包含的频率。这是一个很棒的练习。

答案 2 :(得分:1)

  

我记得前一段时间我看到了一个应用程序的预览(对不起,忘记了名字),它可以收听某人弹吉他的录音,并自动将它与实际的音符/和弦一起划出时间线被播放了。

你可能也在考虑Melodyne:http://www.celemony.com/cms/

虽然较新版本的Cubase中的Vari音频非常相似。 :)

答案 3 :(得分:0)

我认为您需要准确定义您要查找的内容以及您要执行的操作。

如果您想了解DSPMIDIPCM,那么维基百科和参考资料中有大量信息。

有许多可用于音频操作的应用程序。您在问题中描述的是每一天在每个数字录音室(现在几乎所有工作室都占几乎所有)都会发生的事情。

如果您打算对吉他声音执行一些DSP,那么理想情况下您可以录制吉他本身(而不是包含鼓或人声的混合音轨)。很明显,如果没有额外的噪声分析离散信号,你将获得更好的结果,而不是分析含有大量“噪音”的信号。所以是的,多轨录音比“MP3”更好。

典型的MP3包含左右声道(音轨),因此从技术上讲它是多轨道。录制音乐时(至少是专业的),不同的信号会被记录到不同的轨道上,以便以后可以对它们进行离散编辑和处理。

那么,你想用声音做什么?

正如其他答案所指出的那样,这根本与MIDI无关。

相关问题