Хочу сделать проект по звуковому программированию, но не знаю с чего начать

В моей старшей школе мы можем взять урок, где мы в основном изучаем предмет самостоятельно в течение семестра. Я думал, что хочу узнать о «звуковом программировании», но понял, что понятия не имею, что это влечет за собой. Мне интересно узнать, например, как работает синтезатор, как я могу написать VSTi и как работает звук в информатике. Это посильная тема? Есть ли хорошие учебники для кого-то совершенно нового в этом? Любые подсказки или предложения больш были бы оценены.

Изменить: Это меня интересует.


person ahota    schedule 24.01.2011    source источник
comment
Мне кажется (без каламбура), что вы интересуетесь областью аудиотехники. Есть ли в вашей школе программа Stagecraft? Это, в сочетании с классом программирования, может показаться хорошим началом.   -  person aqua    schedule 24.01.2011
comment
К каким компьютерным операционным системам у вас есть доступ и какие языки программирования вы знаете?   -  person Phrogz    schedule 24.01.2011
comment
aqua-Нет, моя школа не предлагает программу Stagecraft или, если уж на то пошло, какие-либо курсы программирования Phrogz-Windows/Ubuntu и C++.   -  person ahota    schedule 24.01.2011


Ответы (3)


Плагины VST обычно пишутся на C++. Но можно использовать и другие языки. Создание плагина VST с помощью C++ — довольно сложный проект. Без предшествующего опыта это, вероятно, слишком много для школьного проекта. Кроме того, вы, вероятно, потратите столько же или даже больше времени на реализацию части VST и графического интерфейса, сколько на реальное звуковое программирование.

Однако есть и другие способы создать плагин VST и при этом запачкать руки, написав код.

SynthEdit — это модульная среда для создания синтезаторов и эффектов. Модули, такие как осцилляторы, огибающие и т. д., визуально соединяются проводами. Патчи можно экспортировать как плагины VST. SynthEdit позволяет программировать дополнительные модули на C++.

SynthMaker — еще один вариант, похожий на SynthEdit. Он имеет модуль кода, который позволяет вам писать код DSP без сложности компиляции модулей на другом языке.

Преимущество использования SynthEdit или SynthMaker в вашей ситуации заключается в том, что вы можете сосредоточить свои усилия по программированию на определенной области, например, на создании модуля фильтра или генератора. Затем SynthEdit/SynthMaker может обрабатывать другие области (графический интерфейс, голосовая логика и т. д.).

Использование SynthEdit или SynthMaker также позволит вам быстрее создавать прототипы идей. Таким образом, у вас будет больше времени, чтобы поэкспериментировать с различными синтезаторами или архитектурами эффектов, прежде чем остановиться на чем-то, что нужно для школьного проекта.

Теория DSP может быть довольно сложной, а математика тяжелой, но само по себе это не должно вас отталкивать. В зависимости от того, что вы хотите сделать, базового понимания принципов цифрового звука и математики на уровне алгебры может быть достаточно, чтобы продвинуть вас на удивление долгий путь.

person Shannon Matthews    schedule 24.01.2011
comment
Спасибо за ответ. Я понимаю, что создание VSTi, вероятно, будет для меня непосильным, и я думаю, что я просто поместил это в OP, потому что это было что-то вроде того, к чему я пытался добраться. Тем не менее, я хочу сосредоточиться на части программирования, поэтому, думаю, мне следует просто вычеркнуть эту идею. Это: stackoverflow.com/questions/36567/beginner-digital-synth — это пост, который я нашел более правильно описывает то, что я хочу узнать, чем я могу описать. - person ahota; 24.01.2011
comment
Я слышал, что VSTi, созданные с помощью SynthEdit и SynthMaker, часто глючат. Это был ваш опыт, или это просто слухи, не имеющие под собой реальной основы? - person Warrior Bob; 26.01.2011
comment
@Warrior Bob: я знаю о SynthEdit и SynthMaker больше по репутации, чем по личному опыту. Но, насколько я знаю, они достаточно стабильны на большинстве хостов. У SynthEdit была давняя несовместимость с многоядерными машинами, но теперь эта ошибка исправлена. Однако, вероятно, существует довольно много плагинов SynthEdit, которые еще не были перекомпилированы с новой версией, поэтому все еще имеют ошибку. - person Shannon Matthews; 26.01.2011

Вы можете попробовать поискать ресурсы по DSP (цифровой обработке сигналов) и/или обработке аудиосигналов. Само программирование (если только вы не ищете существующую аудиотеку), скорее всего, будет более интенсивным с математикой, чем с интенсивным программированием, поэтому оно может хорошо подходить для запроса по адресу math.stackexchange.com.

person Kevin Stricker    schedule 24.01.2011

Существует очень гибкое и мощное аудиоприложение под названием Plogue Bidule. Вы можете использовать его, чтобы узнать об обработке и синтезе звука, создавая свои собственные «бидулы» или группы, используя низкоуровневые математические и логические строительные блоки. Существует существующее сообщество пользователей, и мне было трудно найти предел его возможностей. Вы не собираетесь писать код с помощью этого инструмента, но он отлично подходит для повышения производительности и изучения основ обработки и синтеза звука.

person jdev    schedule 26.01.2011