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

Вот пример использования двух разных решателей (сначала я не имел доступа к Optimization Toolbox и использовал доступный fminsearch)

function [] = main()

    z = [1 2 3;
         4 5 6;
         7 8 9];

    a = [1;3;5];

    b = [1;7;2];

    opt_fms = optimset('Display','iter');

    x0 = 1;
    %[x, fval] = fminsearch(@myfun,x0, opt_fms, z, a, b)
    [x, fval] = lsqnonlin(@myfun,x0, [], [], opt_fms, z, a, b)
end

function F = myfun(o, z, a, b)
    F = 0;
    n = numel(a);
    for i = 1:n
        for j = 1:n
            F = F + (z(i, j) - (sqrt(a(i, 1)+b(j, 1)) + o)).^2;
        end
    end
end

lsqnonlin результат (функция возвращает значение в Степень 2):

x =
    2.5631
fval =
   2.1663e+03

Результат fminsearch:

x =
    2.5631
fval =
   46.5441

Вот график функции с результатом оптимизации (из fminsearch):

[ 116] enter image description here

18
задан MusiGenesis 30 October 2008 в 14:41
поделиться

11 ответов

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

я запустил бы с Гармония, Центральная , и видел бы, находите ли Вы что-нибудь использования там.

, С другой стороны, поиск аналоговый синтез на sourceforge.net имеет много результатов.

14
ответ дан 30 November 2019 в 06:36
поделиться

Chuck является лучшим, я знаю о, но его C++ как, не C++.

2
ответ дан 30 November 2019 в 06:36
поделиться

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

1
ответ дан 30 November 2019 в 06:36
поделиться

Существует две статьи о CodeProject, который Вы могли бы хотеть проверить. Leslie Stanford создал инструментарий Синтезатора в C# (насколько я знаю, что им полностью управляют).

Инструментарий Синтезатора C# - Первая часть Инструментарий Синтезатора C# - Вторая часть

кроме того, я просто нашел этот Вопрос о StackOverflow , который имеет некоторые хорошие ссылки, хотя это - Java, связанный

1
ответ дан 30 November 2019 в 06:36
поделиться

Посмотрите на ответы на Музыкальная Библиотека Python вопрос. В то время как вопрос говорит "Python", Python основан на C. Таким образом, что-либо применимое из Python будет иметь библиотеку C, также.

2
ответ дан 30 November 2019 в 06:36
поделиться

Ваш лучший выбор состоит в том, чтобы проверить форумы разработчика в KvR. Они смогут указать на Вас в направлении лучших механизмов DSP/синтеза с открытым исходным кодом, а также некоторых плагинов VSTi с открытым исходным кодом, от которых можно взять вдохновение. Это все будет в C / C++ все же. Там является только самым основным из аудио синтеза, доступного в управляемом коде в данный момент.

3
ответ дан 30 November 2019 в 06:36
поделиться

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

7
ответ дан 30 November 2019 в 06:36
поделиться

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

http://www.synthedit.com/

http://synthmaker.co.uk/

5
ответ дан 30 November 2019 в 06:36
поделиться

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

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

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

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

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

6
ответ дан 30 November 2019 в 06:36
поделиться

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

3
ответ дан 30 November 2019 в 06:36
поделиться

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

2
ответ дан 30 November 2019 в 06:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: