微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 NAudio 应用音频均衡

如何解决如何使用 NAudio 应用音频均衡

我有一个执行以下操作的 WPF 应用程序:

  1. 导入视频文件
  2. 从使用 FFmpeg 中提取音频。
  3. 使用 NAudio 重新采样音频以符合 Speech-to-Text 引擎(16kHz/16bit/Mono)。
  4. 用户播放带有叠加字幕的视频。
  5. 允许用户纠正 STT 引擎可能犯的错误

使用 NAudio 进行简单的重采样:

using (var reader = new WaveFileReader(fileAudioTemp.FullName))
{
    var outFormat = new WaveFormat(16000,16,1);
    //var outFormat = WaveFormat.CreateIeeeFloatWaveFormat(16000,1);

    using (var resampler = new MediaFoundationResampler(reader,outFormat))
    {
        resampler.ResamplerQuality = 60; // Highest Quality in MF.
        WaveFileWriter.CreateWaveFile(fileAudio.FullName,resampler);
    }
}

问题在于这些视频的音频质量极差。声音低沉、低沉,很难辨认人名、地名等。这使得用户校对文本变得困难且耗时。请注意,STT 引擎对此没有任何问题,而且考虑到质量,其准确度令人惊讶。

我想做的是对这个音频应用均衡。我发现 VLC 中的内置 SKA 预设似乎让用户“稍微”更容易理解所说的内容

VLC Equalizer Settings

有没有办法使用 FFmpeg (Xabe) 或最好是 NAudio 来应用这样的过滤器?是这样吗?我看过很多关于声音缓冲区操作的例子,但一直在寻找一种更简单的方法,例如可以传递到重采样器的预设文件或参数。

任何指针将不胜感激。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。