Осуществлять музыку на iPhone? - программирование
Подтвердить что ты не робот

Осуществлять музыку на iPhone?

Я абсолютно наивен, когда речь идет об аудио и музыке на iPhone или на любой платформе в целом.

Скажем, я хотел создать простое приложение для пианино - можно ли генерировать звуки для каждого ключа программно?

Или мне нужно предоставить файл .wav для каждого возможного звука?

Мне интересно, как такие программы, как GarageBand, могут предоставлять такие разнообразные звуки - может быть, у них есть файл для каждого возможного звука?

Или есть способ динамически генерировать эти звуки?

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

4b9b3361

Ответ 1

Вы можете генерировать тоны программно, как описано в этом учебнике. Пример показывает, как создать чистую синусоидальную волну с использованием аудиоустройств.

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

Ответ 2

Синтезаторы пианино, как правило, реализуются с воспроизведением сэмплов - и это включает в себя цифровые пианино в реальном мире. Обычно значительно меньше одного образца на ключ используется совместно с осциллятором DDS.

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

Исходный код для VST3 SDK