2012-03-21 4 views
1

Я использую Naudio, и у меня есть поток, который мне нужно прочитать как массив, а затем, когда я нашел максимум, мне нужно умножить каждое значение на (1/наибольшее), а затем у меня должны быть значения в моем массиве как [-1,1].Naudio sound normalize

+0

Вы знаете, что тип байта не поддерживает отрицательные числа? – Carsten

ответ

2

Я не вижу на самом деле то, что вы имеете в виду под «преобразовать», но вместо кода вы написали вы можете просто сделать:

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

Это приведет к с поплавками между 0 и 1, так как байты всегда положительны.

0
+0

Пожалуйста, укажите более подробную информацию (Согласен, вы не можете добавить комментарий, но не пишите ответы, которые больше похожи на комментарии) – V4Vendetta