bounty将在2天后过期。回答此问题可获得+50声望奖励。Mr_P希望引起更多人对此问题的关注:一定有办法8·)很想解决这个问题
我目前正在使用以下方法播放歌曲中的符干:
1.将stem_01.mp3加载到AKAudioFile中
1.将AKAudioFile添加到AKMIDIS采样器
1.将AKMIDIS采样器添加到AKMixer
1.重复1-3以确定股骨柄数量
1.使用自定义MIDI文件创建AKSequencer:此MIDI文件为歌曲中的每个茎都有一个单独的轨道。MIDI文件中的每个轨道上都有一个音符(在C3上),该音符在歌曲的持续时间内持续。
1.我为每个词干向AKSequencer添加一个新音轨,并使用音序器控制词干的播放
我的问题是:有没有办法自动创建这个MIDI文件。我知道词干的数量,和歌曲的持续时间;我可以动态创建Audiokit启用AKSequencer所需的MIDI文件吗?
任何想法或想法,这是最受欢迎的,因为它将保存大量的手工工作时,添加新的歌曲。😎谢谢!
1条答案
按热度按时间dced5bon1#
是的,可以自动创建用于AKSequencer的MIDI文件。一种方法是使用MIDI库(如python-midi或mido)编程创建MIDI文件。
下面是一个示例,说明您如何使用python-midi资源库来创建MIDI文件,其中每个词干都有一个单独的轨道,每个轨道上有一个音符,该音符在歌曲的持续时间内持续:
然后,您可以在
AKSequencer
中使用创建的song.mid
文件,并且可以使用歌曲的茎干数和持续时间作为变量来动态创建midi文件。也可以使用其他库,如mido、music 21或pretty_midi,它们也支持在Python中创建和编辑MIDI文件。
确保你已经安装并导入了python-midi库。