Вопрос по программированию звука.
Пишу программу-синтезатор ( не используя MIDI ).
Язык программирования - C# (Пойму так-же примеры на Delphi и C++ ).
Я не могу понять, как можно выводить звук в реальном времени (т. е. нажал на кнопку - звук добавился к текущему, отпустил - добавленный звук СРАЗУ изменился ). У меня получилось с генерацией файла wav в память и его воспроизведением пи помощи SoundPlayer.Play(); Работает, но при попытке воспроизвести еще один звук, старый останавливается, и вообще генерация долгая (1 сек. за 10 сек. звука - потом оптимизирую (таблицей готовых значений наверно) ) Если делать генерацию порциями по 200 мс, то происходят паузы, но они происходят даже если все уже сгенереровано и готово - остается воспроизвести.
Наверное я использую не то, что для этого надо. Если это так, то напишите пожалуйста, что для этого лучше подходит ( только не MIDI - там слишком легко и меньше возможностей ( если в него можно добавить свой инструмент - подскажите пожалуйста как)) .
Или подскажите как это можно сделать используя SoundPlayer.Play().
Заранее спасибо за помощь!