【发布时间】:2023-01-14 21:42:26
【问题描述】:
我正在寻找有关如何使用 NAudio 进行响度标准化 (LUFS EBU128) 的信息。
我需要读取可能是单声道/立体声/多声道的 .wav 文件(而不是播放它们)并获取它们的响度值,我实际上不需要修改文件就可以获取值。我阅读改编自 NAudio 示例之一的文件没有问题:
private static void ReadWavFile(FileInfo inputFile)
{
using (var inAudio = new WaveFileReader(inputFile.FullName))
{
//Calculate required byte[] buffer.
var buffer = new byte[10 * inAudio.WaveFormat.AverageBytesPerSecond];//Assume average will be constant for WAV format.
int index = 0;
do
{
int bytesRead = 0;
do
{
bytesRead = inAudio.Read(buffer, 0, buffer.Length - bytesRead);
} while (bytesRead > 0 && bytesRead < buffer.Length);
index++;
} while (inAudio.Position < inAudio.Length);
}
}
但是我找不到如何在 NAudio 中进行响度归一化部分。是否可以 ?
如果不可能,我还找到了其他工具,但它们要求使用双[][] 缓冲区,而 NAudio 提供字节[] 或浮点[] 缓冲区。可以转换吗?
谢谢 !
【问题讨论】:
标签: c# audio buffer wav naudio