10

我熟悉计算机视觉嗯,知道它),其中一个应用程序可以是图像识别,例如光学字符识别,我相信。但是,我更感兴趣的是“计算机聆听”,我刚刚学过的被认为是数字信号处理

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

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

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

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

4

4 回答 4

16

信号处理最让我感兴趣的是在音乐中的潜在应用。我记得前段时间我看到了一个应用程序的预览(对不起,忘记名字了)

也许古巴

它可以收听某人弹吉他的录音,并在时间线上自动将其与实际演奏的音符/和弦绘制成图表

深度简化,当你弹奏一个音符时,你会产生一个具有给定频率的周期性波。有一个数学技巧(傅里叶变换 DFT)将波转换为频谱,而不是根据时间呈现强度,而是根据波的频率显示它。例如,来自音叉的完美 A 音符会产生 440 Hz 的振荡波。在时域中,这将显示为正弦波。在频域中,它将显示为以 440 Hz 为中心的单个窄尖峰。

现在,当您弹奏吉他时,您不会产生完美的正弦波。敲击 A 会产生基本频率 440 Hz,但也会产生很多额外的频率(例如 880,高八度,但也有很多其他更高和更低的频率),由于振动弦的物理特性,材料和吉他的形状等。这些额外的频率被称为谐波,它们与基音混合以产生“吉他的声音”(在音乐术语中称为音色)。不同的乐器(比如钢琴)将有不同的谐波与基音混合,产生不同的音色。

DSP 程序所做的是对输入信号执行 DFT。通过额外的技巧,他们可以找到基波和谐波,并根据他们的发现推断出你演奏的音符。这必须快速发生,因为您可以在现场演奏并触发特殊技巧时找到音符。例如,您可以在吉他上弹奏一个 A 音符,DSP 将其理解为 A 并将其替换为钢琴的 A,因此您可以从扬声器中获得钢琴的声音。

使用该程序,用户可以移动它们甚至编辑它们。现在,显然这要复杂得多,但它涉及同样的事情吗?信号处理?我还对音乐可视化器和智能照明系统中的可能应用感兴趣。

是的。一旦进入频域,事情就变得非常简单。例如,您可以根据语音频率点亮一个特定的灯,然后用低音鼓点亮另一个灯。

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

他们是两个不同的东西。MP3 是一种来自声波的压缩格式。基本上,它需要控制扬声器的内容并对其进行压缩。这个想法是一样的:DFT,然后删除不太可能听到的东西(例如,在高强度声音之后出现的高音不太可能被听到,所以它被删除了)。

另一方面,MIDI 是事件的卷轴(你知道,就像遥远西部的那些钢琴,带有卷纸卷轴)。该文件不包含音乐。相反,它包含 MIDI 播放器在特定时间使用特定乐器演奏特定音符的说明。“乐器库”的质量(除其他外)是区分糟糕的 MIDI 播放器(听起来像儿童玩具)和好的 MIDI 播放器(听起来很逼真,特别是对于钢琴和小提琴,对于管乐器我仍然必须听到一个现实的)。

它需要从 MIDI 到 MP3,您只需通过 MIDI 播放器进行演奏。反过来做是完全不同的故事,而且要复杂得多,正如您所说,这就是 DSP 发挥作用的地方。

这就像煮一个鱼缸。你得到一个鱼汤。但要从鱼汤中回到鱼缸,就困难多了。

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

PCM 是一种将模拟信号转换为数字信号的技术。所以你的问题有一个根本的误解,即不存在 PCM 格式(RAW 格式是一个很接近的电话,基本上只包含原始数据)。如果您问未压缩的 WAV(包含 PCM 数据)是否比 MP3 更好,那么是的,但有时问题是这对人耳来说真正重要多少,以及您必须对这些数据执行多少后处理。

知道是否有任何现有的库可以促进这一点,或者与该主题相关的面向计算机科学/编程的文章,也许还有示例代码。即使是开源声音/音乐可视化器或任何其他开源声音处理代码也会很棒。

如果你喜欢python,看看这个页面

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

我也没有,但我玩弄了一点。

于 2009-10-27T01:12:04.430 回答
6

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

MIDI 本质上存储乐器信息和音符。还有其他效果(音量、弯音、颤音、起音速度等)

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

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

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

但是,如果你想确定在录音中演奏的是哪种乐器,那么人类不敏感的频率中可能隐藏着有用的信息。

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

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

于 2009-10-27T00:42:48.030 回答
1

我记得不久前我看到了一个应用程序的预览(抱歉,忘记了名字),它可以收听某人弹吉他的录音,并在时间线上自动将其与实际演奏的音符/和弦绘制成图表.

您可能还会想到 Melodyne:http ://www.celemony.com/cms/

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

于 2011-08-22T15:08:51.147 回答
0

我认为您需要准确定义您正在寻找什么以及您正在尝试做什么。

如果您想了解DSPMIDIPCM ,那么在 Wikipedia 和参考资料上有大量信息。

有许多可用的音频处理应用程序。您在问题中描述的是每个数字录音棚(如今几乎所有录音棚)每天都在发生什么。

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

典型的 MP3 包含左右声道(音轨),因此它在技术上是多轨的。当音乐被录制(至少是专业的)不同的信号被录制到不同的轨道上时,精确地使得它们可以在以后被离散地编辑和处理。

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

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

于 2009-10-27T01:46:43.690 回答