Реальный низкий уровень генерации звука в C #?
Кто-нибудь знает разумный способ создать звуковую волну ARBITRARY в C # и воспроизводить ее из динамиков?
Эта проблема возвращалась время от времени в течение многих лет, и я всегда заканчивал тем, что отказывался от нее после большого количества неудач, не находя решения.
То, что я хочу сделать, это как обратный визуализатор, то есть я не хочу генерировать «цифры» из звука, я хочу генерировать звук из чисел.
Как получить функцию, которую я предоставляю с частотой дискретизации, размером выборки и звуковыми данными (например, массив целых чисел), и он будет генерировать соответствующий файл WAV из него (воспроизведение звука в режиме реального времени было бы идеально, но я буду более чем доволен этим тоже).
Я знаю, что спецификации файлов wav распространены по всему веб-сайту, и я сделал несколько попыток создания вышеупомянутой функции, добился некоторого успеха на низких частотах, но как только я начинаю связываться с битами на семпл и т. Д. ... это становится ОГРОМНЫМ, неуправляемым беспорядком.
Разве это еще не сделано каким-либо образом? Я не возражаю против того, что он использует, если для него есть управляемая оболочка .NET (и я могу получить к ней доступ из самой последней версии VS). Таким образом, XNA не поддерживает низкоуровневое аудио. Также найдено несколько примеров, которые претендуют на достижение чего-то похожего, но они либо не работают вообще, либо делают что-то совсем другое.
Спасибо.