【问题标题】:How to draw a waveform for 2 or more channels:Getting amplitude from 2 or more channels?如何为 2 个或更多通道绘制波形:从 2 个或更多通道获取幅度?
【发布时间】:2012-12-23 06:11:48
【问题描述】:

我正在做一个项目,需要在向我提供波形文件时对音频进行信号处理。 我知道如何使用公式使用通道的样本值计算幅度

   20*log(Sample Value/Maximum attainable sample Value)

但是该怎么办如果我有 6 个通道,我需要对每个通道的采样值做什么来获得绘制波形的幅度。我正在使用

读取波形文件
   AudioInputStream 

这可能会给我帧中的样本值

   [1|2|3|4|5|6],[1|2|3|4|5|6],[3rd Frame] and so on...

其中每个样本都是 8 位或 16 位值。

【问题讨论】:

  • "使用公式计算通道的样本值的幅度" 瞬时样本电平与声音的幅度或响度无关。为此,您需要 dB 或 RMS,它们都需要一组样本才能使用。
  • 其实我知道但我需要找出波形DB中的瞬时幅度,有人告诉我我需要从使用FFT从通道获得的每个波形中总结波谱,但似乎这不是一个好的答案,因为汇总频谱可能会导致建设性或破坏性干扰,有时会导致声音过度放大或有时会变成静音。我认为从通道获得的波形不会相互干扰-

标签: java wav javasound waveform amplitude


【解决方案1】:

我得到了答案: 由于通道适用于多个扬声器系统,我们接收到的音频可能会受到来自其他扬声器的信号的建设性或破坏性干扰的影响。因此,必须将每个通道转换为波形,然后将通道的频谱相加以获得一个频谱,现在使用这个频谱我必须制作一个波形,它可以在瞬间为我提供正确的音频信号幅度值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 2011-11-11
    相关资源
    最近更新 更多