Как может OfflineAudioContext.startRendering()
вывести AudioBuffer
, который содержит битовую глубину моего выбора (16 бит или 24 бит)? Я знаю, что я могу легко установить частоту дискретизации с AudioContext.sampleRate
, но как установить глубину бит?Как визуализировать в определенной битовой глубине?
Мое понимание обработки звука довольно ограничено, поэтому, возможно, это не так просто, как я думаю.
Edit # 1:
На самом деле, AudioContext.sampleRate
это только для чтения, так что если у вас есть идея о том, как установить частоту дискретизации на выходе, это было бы слишком большим.
Edit # 2:
Я предполагаю, что частота дискретизации вставляется после числа каналов в кодированном формате WAV (в DataView
)
Хорошо, спасибо. Поэтому я умножаю каждое значение 'audioBuffer.getChannelData (0 | 1)' на 32768 или 8388608, и это все, мой последний .wav-файл будет иметь соответствующую битовую глубину? И я не уверен, что получаю, почему мне нужно разделить окончательный результат с 32768 или 8388608 ... Я не собираюсь возвращать исходные значения? – maximedupre
Во-первых, при создании автономного аудиоконтекста вам необходимо указать частоту дискретизации. –
В настоящее время в WebAudio нет поддержки для создания WAV-файла из AudioBuffer. Вам нужно будет найти библиотеку, чтобы сделать это для вас. (Или научитесь делать это самостоятельно. Файлы WAV довольно просты.) –