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 从麦克风录制声音。为啥不能正确地从列表中记录整个缓冲区?