Questions tagged «audio»

音频,或者就信号处理而言,音频信号是声音的模拟或数字表示,通常是电压。



4
OpenCV的类似库,用于音频处理/分析
我了解OpenCV是用于在C / C ++中对图像处理进行编程的事实上的库;我想知道是否有C或C ++库用于音频处理。我基本上想过滤来自麦克风的原始波,并使用一些机器学习算法对其进行分析。但我最终可能还需要: 多平台音频捕获和音频播放 DSP-音频滤波器 音调检测 音调特性分析 音调合成 识别给出一些识别语料和模型 语音/音乐合成 任何意见,将不胜感激。

10
混合音频信号而不削波的算法
我想以忠实于声音的方式(最好是近实时)(意味很少或根本没有预见)以数字方式混合两个或多个PCM音频通道(例如,记录的样本)。 物理上“正确”的方法是对样本求和。但是,当您添加两个任意样本时,结果值可能高达最大值的两倍。 例如,如果您的样本是16位值,则结果最多为65536 * 2。这导致剪裁。 幼稚的解决方案是除以N,其中N是要混合的声道数。然而,这导致每个样本的响度仅为1 / Nth,这是完全不现实的。在现实世界中,当两个乐器同时演奏时,每个乐器的音量不会变成一半。 从阅读的角度来看,一种常见的混合方法是:结果= A + B-AB,其中A和B是要混合的两个归一化样本,而AB是确保更大声的声音越来越“柔和”的术语。 但是,这会导致信号失真。这种失真水平在高质量音频合成中可以接受吗? 还有什么其他方法可以解决此问题?我对高效的低质量算法以及低效率的高质量算法感兴趣。 我是在数字音乐合成的背景下问我的问题,目的是将多个乐器音轨混合在一起。音轨可以是合成音频,预先录制的样本或实时麦克风输入。

6
检测音频包络开始和停止位置的最简单方法
以下是代表某人讲话记录的信号。我想基于此创建一系列较小的音频信号。想法是检测“重要”声音的开始和结束时间,并将其用作标记,以制作新的音频片段。换句话说,我想将静音用作指示音频“块”何时开始或停止的指标,并以此为基础创建新的音频缓冲区。 例如,如果某人记录自己说 Hi [some silence] My name is Bob [some silence] How are you? 那么我想从中制作三个音频片段。一个说Hi,一个说My name is Bob,一个说How are you?。 我最初的想法是通过音频缓冲区不断检查是否存在低振幅区域。也许我可以通过获取前十个样本来进行此操作,取平均值,如果结果很低,则将其标记为无声。我将通过检查接下来的十个样本来继续处理缓冲区。通过这种方式递增,我可以检测到信封的开始和停止位置。 如果有人对好的,简单的方法有任何建议,那就太好了。就我的目的而言,解决方案可能是非常基本的。 我不是DSP的专业人士,但了解一些基本概念。另外,我将以编程方式进行此操作,因此最好讨论算法和数字样本。 感谢您的所有帮助! 编辑1 到目前为止反应良好!只是想澄清一下,这不是实时音频,我将自己用C或Objective-C编写算法,因此使用库的任何解决方案都不是真正的选择。

5
相位延迟和群延迟之间有什么区别?
我正在研究一些DSP,但无法理解相位延迟和群延迟之间的差异。 在我看来,它们都测量通过滤波器的正弦波的延迟时间。 我认为正确吗? 如果是这样,那么这两个测量值有何不同? 有人可以举一个例子,说明一种度量比另一种更有用吗? 更新 在朱利叶斯·史密斯(Julius Smith)的《数字滤波器简介》的前瞻中,我发现两种测量至少给出不同结果的情况:仿射相滤波器。我想这只是我的问题的部分答案。

9
有没有找到无需DFT或FFT的频率的算法?
我在Android应用商店中寻找吉他调音器。我发现一个调谐器应用程序声称它比其他应用程序更快。它声称无需使用DFT就可以找到频率(我希望我仍然有该规范的URL)。 我从来没有听说过这个。您可以在不使用DFT或FFT算法的情况下获取音频信号并计算频率吗?
34 audio  fft  frequency  dft 

4
有什么好的方法可以检测记录中的信号削波?
给定记录,我需要检测是否发生了任何剪辑。 我可以安全地得出结论:如果有一个(一个)样本达到最大样本值,就会出现削波现象,还是我应该寻找一系列后续的最大样本值? 记录可以取自16或24位A / D转换器,并转换为范围内的浮点值。如果这种转换通过采用的划分的形式2 15 - 1或2 23 - 1,则推测负峰值可以稍微小于-1,并与值-1样品没有限幅?− 1 ... 1−1...1-1...1215− 1215−12^{15}-1223−1223−12^{23}-1 显然,人们总是可以创建一种专门打败削波检测算法的信号,但是我正在查看语音,音乐,正弦波或粉红/白色噪声的录音。
32 audio  algorithms 

4
希尔伯特变换来计算信号包络?
我听说希尔伯特变换可用于计算信号的包络。这是如何运作的?与仅通过整流信号得到的“希尔伯特信封”有何不同? 我特别感兴趣的是寻找一种方法来计算用于动态范围压缩(即自动“降低音量”音频信号大声部分的音量)的包络线。
27 audio 

5
如何创建可以在频率之间平稳过渡的正弦波发生器
我能够编写一个用于音频的基本正弦波发生器,但是我希望它能够从一个频率平稳过渡到另一个频率。如果我只是停止产生一个频率并立即切换到另一个频率,则信号将出现中断,并且会听到“喀哒”声。 我的问题是,有什么好的算法可以产生一个始于例如250Hz的波,然后过渡到300Hz,而不会引起任何喀哒声。如果算法包括可选的滑行/滑音时间,那就更好了。 我可以想到一些可能的方法,例如过采样后跟低通滤波器,或者使用波表,但是我确信这是一个足够普遍的问题,因此有一种标准的解决方法。
27 audio 

6
根据其样本计算波形的PDF
不久前,我尝试了不同的方式来绘制数字波形,而我尝试做的一件事是代替幅度包络线的标准轮廓,将其显示得更像示波器。这是示波器上的正弦波和方波: 最简单的方法是: 在输出图像的每个水平像素中将音频文件分成一个块 计算每个块的样本幅度直方图 通过亮度将直方图绘制为像素列 它产生如下内容: 如果每个块中有很多样本,并且信号的频率与采样频率无关,则效果很好。例如,如果信号频率恰好是采样频率的整数倍,则采样将始终在每个周期中以完全相同的幅度发生,并且直方图将只是几个点,即使在这些点之间存在实际的重构信号也是如此。该正弦脉冲应与左上角一样平滑,但这不是因为它正好是1 kHz,并且采样始终出现在相同的点附近: 我尝试增加采样数以增加点数,但这并不能解决问题,仅在某些情况下有助于解决问题。 因此,我真正想要的是一种从其数字样本(幅度与时间)计算连续重构信号的真实PDF(概率与幅度)的方法。我不知道该使用什么算法。通常,函数的PDF是其反函数的导数。 PDF的sin(x):ddxarcsinx=11−x2√ddxarcsin⁡x=11−x2\frac{d}{dx} \arcsin x = \frac{1}{\sqrt{1-x^2}} 但是我不知道如何计算逆函数是多值函数的波,或者如何快速进行计算。将其分解为分支,计算每个的逆,取导数并将它们加在一起?但这很复杂,而且可能有更简单的方法。 该“内插数据的PDF”也适用于我进行GPS轨迹的核密度估计的尝试。它应该是环形的,但是因为它仅查看样本,而没有考虑样本之间的插值点,所以KDE看起来更像是一个驼峰而不是一个圆环。如果我们只知道样本,那么这就是我们所能做的最好的。但是样本并不是我们所知道的。我们也知道样本之间存在一条路径。对于GPS,没有像带宽有限的音频那样完美的Nyquist重建,但是基本思想仍然适用,插值函数有些猜测。



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 

4
从频谱图重建音频信号
我有一组歌曲,使用重叠频率为50%的汉明窗提取了幅度谱图。提取频谱图后,我使用主成分分析(PCA)进行了降维。将其降低到较低的维度后,我从较低的维度重构了频谱图。因此,现在,原始频谱图和重建频谱图之间将出现一些错误。我想将此频谱图转换回音频信号并播放它,这样我就能知道从较低尺寸重建时的声音声音。 Matlab中有可用的功能吗?将幅度频谱图转换为音频信号

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.