Можно ли изменять последовательности AudioKit по отдельности и воспроизводить как одну дорожку?

Я хотел бы создать класс /struct/other, который будет содержать каждый такт песни, дополненный независимым темпом и количеством ударов, а затем воспроизвести всю песню обратно (с потенциальными обновлениями из пользовательского ввода). Я только знаю, как изменить эти переменные на треке AKSequencer в целом; Есть ли способ сохранить эти данные независимо, а затем воспроизвести их как единое целое? И соблюдать согласованность мер, чтобы не "прыгать" между ними? Спасибо!

1 ответ

Решение

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

Почему бы вам не установить длину на что-то произвольно длинное и не соединить вместе ваши измерения MIDI-событий за измерением без зацикливания? Следите за тем, сколько ударов было написано до сих пор, и просто продолжайте добавлять после этого. Делать это во время работы секвенсора не должно быть проблем. Вы даже можете автоматизировать запись следующего бара, запустив функцию обратного вызова в конце каждого показателя, заставляя его записывать следующий сегмент (который можно выбрать или "настроить" во время выполнения). Вы можете запланировать темп событий с addTempoEventAt(), с отправной точкой для следующего сегмента.

Когда пользователь остановит последовательность, очистите дорожку (и), сбросьте темп, перемотайте последовательность и начните все сначала.

Другие вопросы по тегам