Naudio 声音正常化

Posted

技术标签:

【中文标题】Naudio 声音正常化【英文标题】:Naudio sound normalize 【发布时间】:2012-04-05 20:15:59 【问题描述】:

我正在使用 Naudio,我有一个流,我需要将其读取为数组,然后当我找到最大值时,我需要将每个值乘以 (1/最大),然后我的数组中的值应该为 [- 1,1]。

【问题讨论】:

你知道类型字节不支持负数吗? 【参考方案1】:

我不明白你所说的“转换”是什么意思,但你可以做的不是你写的代码:

var bytes = stream.ToArray();
var biggest = (float)bytes.Max();
var floats = bytes.Select(b => b / biggest).ToArray();

这将导致浮点数介于 0 和 1 之间,因为字节总是正数。

【讨论】:

【参考方案2】:

浮动到空头:

浮点数1; 短 num6 = (短)num1;

http://www.convertdatatypes.com/Convert-short-to-byte-in-CSharp.html

http://www.c-sharpcorner.com/uploadfile/mahesh/convert-long-short-single-to-byte-array-in-C-Sharp/

【讨论】:

请提供更多详细信息(同意您不能添加评论但不要写更像 cmets 的答案)

以上是关于Naudio 声音正常化的主要内容,如果未能解决你的问题,请参考以下文章

使用 NAudio 从麦克风录制声音。为啥不能正确地从列表中记录整个缓冲区?

使用 NAudio 库播放原始文件

使用 NAudio 在特定频道上播放声音

Naudio:听不到声音

从 NAudio 访问 WPF MediaElement 声音流

使用 NAudio 改变左右声道的声音平衡