Как получить произвольную фазу для каждой ноты, сыгранной с помощью AKOscillatorBank? - PullRequest
0 голосов
/ 06 июня 2019

Я использую AKMIDINode, связанный с AKOscillatorBank.Мне бы хотелось, чтобы каждый раз, когда нота играла AKOscillatorBank, фаза волновой таблицы выбиралась случайным образом.Похоже, что AudioKit не предоставляют такую ​​функцию.Я быстро взглянул на реализацию C ++, вплоть до AKBankDSPKernel, но мне не ясно, насколько независимым является синтез различных заметок на одном осцилляторе.

Возможно ли перегрузка в swiftчасть AKOscillatorBank, чтобы каждая миди-нота использовала различное смещение при взгляде на AKTable?

Эта функция может значительно улучшить звучание атаки аккорда при использовании «согревающего» волнового стола и медленного/ Неизвестное время атаки, особенно пилообразная.Это значительно улучшит звук моего продукта.

1 Ответ

0 голосов
/ 15 июня 2019

Ядро банка осцилляторов содержит структуру NoteState, которая, я думаю, содержит состояние осциллятора для каждого голоса. Я полагаю, что вы могли бы использовать sp_tabread_compute для чтения сэмплов из волновой таблицы (как в AKPhaseDistortionOscillator) и рандомизировать его смещение в функции noteOn.

...