Можно ли изменять последовательности AudioKit по отдельности и воспроизводить как одну дорожку?
Я хотел бы создать класс /struct/other, который будет содержать каждый такт песни, дополненный независимым темпом и количеством ударов, а затем воспроизвести всю песню обратно (с потенциальными обновлениями из пользовательского ввода). Я только знаю, как изменить эти переменные на треке AKSequencer в целом; Есть ли способ сохранить эти данные независимо, а затем воспроизвести их как единое целое? И соблюдать согласованность мер, чтобы не "прыгать" между ними? Спасибо!
1 ответ
AKSequencer не очень хорош в настройке длины цикла на лету, но он вполне подходит для добавления или перезаписи содержимого дорожки во время работы секвенсора. Это включает в себя темп событий.
Почему бы вам не установить длину на что-то произвольно длинное и не соединить вместе ваши измерения MIDI-событий за измерением без зацикливания? Следите за тем, сколько ударов было написано до сих пор, и просто продолжайте добавлять после этого. Делать это во время работы секвенсора не должно быть проблем. Вы даже можете автоматизировать запись следующего бара, запустив функцию обратного вызова в конце каждого показателя, заставляя его записывать следующий сегмент (который можно выбрать или "настроить" во время выполнения). Вы можете запланировать темп событий с addTempoEventAt()
, с отправной точкой для следующего сегмента.
Когда пользователь остановит последовательность, очистите дорожку (и), сбросьте темп, перемотайте последовательность и начните все сначала.