2017-01-16 5 views
0

Когда я записываю с помощью nAudio, используя waveIn, значения буфера, которые я получаю, велики, моя диаграмма должна быть масштабирована приблизительно до 20 000, чтобы отобразить образцы правильно. Когда я воспроизвожу этот звук из записанного волнового файла и захватываю образцы из waveOut с помощью прокси-сервера SampleChannel, значения являются крошечными.Значения воспроизведения звука в формате NAudio намного меньше, чем записанные значения

Формат файла говорит, что значения, которые он дает мне, имеют blockAlign 8 с 32 бит на образец (float?) И 2 канала. Означает ли это, что 2x4 поплавки должны быть каким-то образом объединены для создания каждого значения канала?

Я заметил, что поплавки в поставляемых массивах буфера дискретны, они кратные 3.05175781E-05 в поплавком формате.

Я немного потерял, что делать здесь. Нужно ли обрабатывать поплавки, создаваемые всплеском sampleProvider?

ответ

0

С waveIn, вы, вероятно, записи 16-битных сэмплов, поэтому они short или Int16 значения в диапазоне от -32768 до +32767

Когда вы имеете дело с плавающей точкой (float или Single) образцы, они нормализуются в диапазоне от -1,0 до 1,0.

+0

OK имеет смысл, думал, что это был ответ вчера вечером, поэтому, чтобы соответствовать всплеску, я нормализую свои значения волновых волн, разделив их на 32768, спасибо, кучи, naudio отлично подойдут для проекта I ' и даны видеоролики о множественном числе, где очень полезно –

+0

причина, по которой значения выборки WaveOut не находятся в одном диапазоне, заключается в том, что samplechannel превращает их в плавающие точки –