Создание цифровой аудио рабочей станции - PullRequest
9 голосов
/ 02 февраля 2011

Я пытаюсь написать свою собственную DAW, в основном просто для того, чтобы узнать математику о том, как обрабатываются сигналы для получения эффектов, но также и для развлечения. (Довольно большое начинание, но у меня есть время на данный момент). Я хотел бы, чтобы это работало что-то вроде Запись Propellerhead как в стойке особенно.

Я работаю на Mac, поэтому я думаю об использовании Audio Units для разных частей, а затем Core Audio для частей лесов. Таким образом, все это будет написано на C или Obj-C.

Однако раньше я не использовал ни аудиоустройства, ни Core-Audio, и интернет не помог мне в обучении.

Кто-нибудь знает, где я мог бы узнать об этом? Или Java (единственный другой язык, на котором мне было бы удобно пользоваться) была бы лучше, или я что-то упустил, пытаясь найти «легкий» способ сделать это?

Спасибо, Jon

Ответы [ 3 ]

10 голосов
/ 02 февраля 2011

, если вы хотите написать DAW:

  • как минимум, намочите существующий проект.если бы я лично выбрал проект, я бы внес свой вклад в Ardor.

  • обработка сигналов в DAW относительно проста.вам придется работать со смесителями, файлами и графикой.если вы уже знакомы с написанием приложений, то, вероятно, вы многому не научитесь (помимо основ).конечно, вы можете найти существующий проект и расширить его функциями, которые относятся к тому, что вы хотите изучить;Вы могли бы написать плагины или визуализации для него.

, если предпочитаете работать с обработкой сигнала:

  • AU или VST плагины будут хорошим введением - естьмногие существующие проекты, на которые вы можете ссылаться.со временем вы устанете ждать загрузки хоста для тестирования вашей программы.

язык:

  • Объект не может использоваться для рендеринга аудио в реальном времени.

  • Java очень необычна для этого приложения.на самом деле есть обертки для AU и CoreAudio ... но я не могу назвать один коммерческий Java AU для OS X.

  • большинство аудиомагазинов (о которых я знаю) используют C ++ - неC. (Оборудование отличается).это действительно кажется странным упущением в вашем списке - большинство DAW и плагинов используют C ++, и именно на этом языке вы найдете большинство примеров. Если вы уже знакомы с C и Java, я бы порекомендовал прийти к соглашениюс C ++, потому что это стандартный язык в отрасли для таргетинга на десктопы.

5 голосов
/ 02 февраля 2011

Посмотрите на кроссплатформенную библиотеку C ++ JUCE, это открытый исходный код с возможностью лицензировать код (цена неплохая).Его используют многие профессиональные разработчики DAW и VST, я один из них.

https://www.juce.com/

Внимание, с этой библиотекой очень весело играть.Это возобновило мой интерес к C ++, что было немалым подвигом.

3 голосов
/ 08 мая 2013

Вы правы, предполагая, что базовые аудио- и аудиоданные могут стать основой для системы (которая, возможно, не обязательно должна быть полноценной DAW, но может иметь некоторую комбинацию многодорожечной аудиозаписи, редактирования, воспроизведения и т. д.) гораздо проще, чем беспокоиться о кроссплатформенных проблемах, массивных всеобъемлющих средах, таких как Juce или ASIO, и других хакерских обходах. Я думаю, вы обнаружите, что звуковое программирование - это специальная дисциплина, и большинство людей здесь, в стеке, не готовы дать полезный совет. Java довольно не подходит, как и C #, так как интерпретируются языки FOR AUDIO, в частности для многоканального звука, DSP и т. Д., Из-за временных ограничений и необходимости работать на довольно низком уровне для многих критических циклов. вы найдете необходимые документы на developer.apple.com (вам нужно будет войти в систему), и вы можете найти примеры оболочки для вашего интереса непосредственно внутри примеров xcode ... удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...