Я пытаюсь написать программный синтезатор, который воссоздает звуки, сделанные классическими синтезаторами, такими как Moog и DX7. Кто-нибудь знает какие-либо ресурсы кода для чего-то вроде этого? Спасибо.
Кто-нибудь знает какие-либо библиотеки кода C/С++/С#, которые используют эмуляцию синтезатора звука?
Ответ 1
Существует множество библиотек C/С++, большинство из которых больше не обновляются. Там не много для С#, но я видел пару. Я действительно не использовал их в гневе, поэтому я не могу дать никаких рекомендаций.
Я бы начал с Harmony Central и посмотрел, найдешь ли там что-нибудь там.
В качестве альтернативы, поиск аналога синтеза на sourceforge.net имеет множество результатов.
Ответ 2
CCRMA в Стэнфорде может стать хорошим ресурсом для аудиопрограмм. Synthesis ToolKit в С++ (STK) выглядит так, как будто это может помочь вам.
Ответ 3
Moog и Yamaha DX7 сильно отличаются друг от друга. DX7 использует синтез FM, что очень странно. Очень отличается от обычных аналоги VCO/VCA/VCF, таких как Moog.
В течение долгого времени Yamaha боролась за защиту своих патентов FM, но, похоже, они все истекли. Фазовое искажение Casio было похоже на Yamaha FM, и мне удалось избежать ярости Yamaha (насколько я знаю).
Я бы начал с выбора того или другого. Виртуальный аналог (эмуляция аналоговых синтезаторов) - все это ярость с тех пор, как появился лидер Nord Lead и Access Virus. И гораздо легче созерцать. Поэтому я пошел бы туда, если вы хотите ходить с толпой бедра.
Начните с хороших генераторов с ограниченным диапазоном, сделайте генератор конвертов, сделайте фильтр. Для вдохновения ознакомьтесь с Валлийской сборной повара, чтобы узнать, как можно создавать всевозможные звуки с помощью синтезатора с двумя генераторами. Я бы начал с реализации минимальных функций, необходимых для этих исправлений.
FM и PD дикие. Если вы идете по этому маршруту, все дело в том, чтобы связать достаточно FM-операторов вместе в интересных конфигурациях, чтобы получить спектр интересных звуков. Предупреждение: это большая работа, чтобы избежать сглаживания в FM.
Ответ 4
Synthmaker и SynthEdit будут генерировать код VST для вас. SynthEdit определенно выводит нескомпилированные исходные файлы на С++ и является бесплатным.
Ответ 5
лучше всего проверить форумы разработчиков в KvR. Они смогут указать вам направление лучших двигателей с открытым исходным кодом DSP/синтеза, а также некоторые плагины VSTi с открытым исходным кодом, от которых вы можете вдохновиться. Все это будет в C/С++. На данный момент в управляемом коде имеется только самый базовый аудио-синтез.
Ответ 6
musicdsp веб-сайт также имеет отличную библиотеку синтеза . Множество примеров кода на C/С++ о том, как делать вещи.
Ответ 7
Посмотрите на ответы на Python Music Library. Хотя вопрос говорит о "Python", Python построен на C. Так что все, что можно использовать с Python, также будет иметь библиотеку C.
Ответ 8
Chuck - это лучшее, что я знаю, но его С++, а не С++.
Ответ 9
Я написал простую библиотеку synth как часть приложения для iPhone. Возможно, это сработает и для ваших синтетических потребностей. Возможно нет. http://mobilesynth.googlecode.com/svn/trunk/mobilesynth/Classes/synth/
Ответ 10
Эти учебные пособия (особенно из части 8 и далее) охватывают программирование всех частей классического субтрактивного синтезатора в С++: осцилляторы, конверты, фильтры и LFO.
Ответ 11
У меня был некоторый успех в библиотеке BASS, но поддержка .Net была немного грубой, когда я в последний раз играл с ней. Это в основном низкоуровневое кодирование потока и т.д., Но оно поддерживает некоторые эффекты DX8.
Ответ 12
В CodeProject есть две статьи, которые вы можете проверить. Лесли Стэнфорд создал набор инструментов Synth в С# (насколько я знаю, он полностью управляется).
С# Synth Toolkit - часть I С# Synth Toolkit - Часть II
Кроме того, я только что нашел fooobar.com/info/280341/..., который имеет некоторые хорошие ссылки, хотя он связан с Java