Я здесь в основном, чтобы спросить вас, что вы предлагаете сделать довольно низкоуровневое программное обеспечение для обработки цифрового сигнала (DSP) для Windows. Позвольте мне объяснить, в чем моя цель.Обработка цифрового сигнала в реальном времени. Какой язык использовать?
Я хотел бы разработать виртуальный усилитель, чтобы я мог подключить свою гитару к линии на моем компьютере, а затем обработать этот сигнал (добавление эффектов, таких как перегрузка, эхо и т. Д.), И дать ему выход по умолчанию устройство. Самое главное, что программное обеспечение должно работать в реальном времени, так что, если я играю, я могу услышать звук, как только я начну играть.
Я знаю C++, java, и я мог бы изучить C# при необходимости, но что вы предлагаете? Возможно ли, что этот проект?
Я бы пошел с C++ из-за эффективности, низкой латентности и программирования на низком уровне, но я не мог найти хорошую документальную библиотеку, которая позволяет мне это делать. Я знаю, что за каждым звуковым эффектом много математики, и я мог бы изучить его, по крайней мере, базовые, но в первую очередь мне нужно знать, смогу ли я его реализовать.
Я также подумал о внедрении VST-модуля, а затем написал свои собственные Vst-плагины, чтобы фактически обработать сигнал, и я нашел Naudio (aC# library), который мог бы выполнить эту работу, но тогда возникает вопрос: может ли быть в реальном времени большинство средних настольных компьютеров?
Благодарим вас за консультацию.
Слово предостережения здесь - обычно можно получить требуемый уровень математики с нескольких лет бакалавра в инженерной дисциплине, математике или физике. Что касается языков, вполне возможно сделать это на C# .NET, но время работы JITed всегда является плохими новостями для вещей в реальном времени, потому что у вас просто недостаточно контроля над тем, что происходит на самом деле. – marko
Итак, вы в основном говорите, что C# может полностью выполнять DSP, но вы сомневаетесь, что он может получить ответы в реальном времени, не так ли? –
Скачать для steinberg VST SDK. Затем вы можете просто написать часть моделирования усилителя и не беспокоиться о части сбора данных. – jaket