Кто-нибудь знает о каких-либо библиотеках кода C / C ++ / C #, которые делают эмуляцию аудио синтезатора? [закрыто]

StackOverflow https://stackoverflow.com/questions/250394

Вопрос

Я пытаюсь написать программный синтезатор, который воссоздает звуки, издаваемые классическими синтезаторами, такими как Moog и DX7. Кто-нибудь знает какие-либо ресурсы кода для чего-то вроде этого? Спасибо.

Это было полезно?

Решение

Существует огромное количество библиотек C / C ++, большинство из которых больше не обновляется. Там не так много для C #, но я видел пару. Я не использовал никого из них в гневе, поэтому не могу дать никаких рекомендаций.

Я хотел бы начать с Harmony Central и посмотреть, не найдете ли вы там что-нибудь полезное .

В качестве альтернативы можно выполнить поиск аналогового синтеза. на sourceforge.net имеет множество результатов.

Другие советы

CCRMA в Стэнфорде может быть хорошим ресурсом для аудио программного обеспечения. Synthesis ToolKit в C ++ (STK) выглядит так, как будто он может вам помочь.

Moog и Yamaha DX7 кардинально отличаются. DX7 использует синтез FM, что очень странно. Очень отличается от обычных аналогов VCO / VCA / VCF, таких как Moog.

В течение долгого времени Yamaha пыталась защищать свои патенты FM, но, я полагаю, срок их действия истек. Искажение фазы у Casio было похоже на FM от Yamaha, и ему удалось избежать гнева Yamaha (насколько я знаю).

Я бы начал с выбора одного или другого. Виртуальный аналог (эмуляция аналоговых синтезаторов) - все это в моде с момента появления Nord Lead и Access Virus. И намного проще созерцать. Так что я бы пошел по этому пути, если вы хотите гулять с толпой модников.

Начните с хороших генераторов с ограниченной полосой, сделайте генератор огибающей, сделайте фильтр. Для вдохновения просмотрите Welsh's Synthesizer Cookbook , чтобы узнать, как можно создавать все виды звуков с помощью двух- осциллятор синтезатор. Я бы начал с реализации минимальных функций, необходимых для этих патчей.

FM и PD дикие. Если вы идете по этому пути, это все о соединении достаточного количества FM-операторов в интересные конфигурации, чтобы получить спектр интересных звуков. Предупреждение: много работы, чтобы избежать псевдонимов в FM.

Synthmaker и SynthEdit сгенерируют для вас код VST. SynthEdit определенно выводит не скомпилированные исходные файлы C ++ и является бесплатным.

http://www.synthedit.com/

http://synthmaker.co.uk/

На musicdsp веб-сайте также есть отличный библиотека синтеза . Много примеров кода на C / C ++ о том, как что-то делать.

Посмотрите ответы на вопрос Python Music Library . Хотя в вопросе говорится «Python», Python построен на C. Поэтому все, что можно использовать в Python, также будет иметь библиотеку C.

Я написал простую синтезаторную библиотеку как часть приложения для iPhone. Возможно, это подойдет и для ваших нужд. Возможно нет. http://mobilesynth.googlecode.com/svn/trunk/mobilesynth/Classes / синт /

Эти учебные пособия (особенно начиная с части 8 и далее) охватывают программирование всех частей классического субтрактивного синтезатора в C ++: осцилляторы, огибающие, фильтр и LFO.

Чак - это лучшее, что я знаю, но он похож на C ++, а не на C ++.

У меня был некоторый успех с библиотекой BASS , но поддержка .Net была немного сырой когда в последний раз я играл с ним. В основном это низкоуровневое потоковое кодирование и тому подобное, но в нем есть поддержка некоторых эффектов DX8.

В CodeProject есть две статьи, которые вы можете попробовать. Лесли Стэнфорд создал инструментарий Synth в C # (насколько я знаю, он полностью управляем).

C # Synth Toolkit - часть I C # Synth Toolkit - Часть II

Кроме того, я только что нашел этот вопрос StackOverflow , в котором есть несколько хороших ссылок, хотя он связан с Java

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top