当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《以编程方式"聆听"声音(信号处理?)》经验,为你挑选了2个好方法。

我熟悉计算机视觉(嗯,知道它),其中一个应用程序可以是图像识别,例如光学字符识别,我相信.然而,我更感兴趣的是"计算机监听",我刚学到的东西被认为是数字信号处理.

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

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

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

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



1> Stefano Bori..:

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

也许是cubase?

它可以收听某人弹吉他的录音,并在时间线上自动绘制出来,并播放实际音符/和弦

深度简化,当您播放音符时,您会产生具有给定频率的周期波.有一个数学技巧(傅里叶变换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发挥作用的地方.

这就像煮一个fisk坦克.你得到一条鱼汤.但是要从鱼汤中回到鱼缸,这要困难得多.

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

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

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

如果您喜欢python,请查看此页面

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

我也不是,但我玩弄了一下.


在意大利语中它是timbro,音乐家经常使用意大利语.定影.

2> Artelius..:

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

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

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

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

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

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

我认为科学家和工程师的数字信号处理指南是程序员的一个很好的参考.第8章解释了离散傅立叶变换(用于MP3处理和许多其他地方分离出波的分量频率).

我用它来帮助制作一个图形程序,让你用鼠标绘制波形,然后应用DFT,并让你选择要包含的频率.这是一个很棒的运动.

推荐阅读
拾味湖
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有