Я использую Naudio, и у меня есть поток, который мне нужно прочитать как массив, а затем, когда я нашел максимум, мне нужно умножить каждое значение на (1/наибольшее), а затем у меня должны быть значения в моем массиве как [-1,1].Naudio sound normalize
ответ
Я не вижу на самом деле то, что вы имеете в виду под «преобразовать», но вместо кода вы написали вы можете просто сделать:
var bytes = stream.ToArray();
var biggest = (float)bytes.Max();
var floats = bytes.Select(b => b/biggest).ToArray();
Это приведет к с поплавками между 0 и 1, так как байты всегда положительны.
поплавок коротко:
поплавок num1; short 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/
Пожалуйста, укажите более подробную информацию (Согласен, вы не можете добавить комментарий, но не пишите ответы, которые больше похожи на комментарии) – V4Vendetta
Вы знаете, что тип байта не поддерживает отрицательные числа? – Carsten