Есть ли функция или простой способ транспонировать поток к заданному ключу?music21 - Транспонирование потоков к заданному ключу
Я хочу использовать его в цикле, например, взять набор основных потоков и перенести все из них до C мажор (так что я могу сделать некоторые статистические работы с ними).
Все инструменты транспонирования, которые я видел, работают с интервалами или количеством тонов, а не с фиксированными клавишами. Это не должно быть так трудно написать свою функцию, но я полагаю, что это должно быть сделано ... Спасибо
Спасибо, Майкл. Я написал свой собственный код несколько дней назад (но он не работает нормально, так что, возможно, я должен попробовать это). Что касается основной/незначительной проблемы, я использую «анализ» перед транспонированием, поэтому сохраняю только основные или мелкие потоки. –
Просто небольшое улучшение: код не работает, потому что «k» и «C» не являются объектами Note. Правильный способ может заменить «C» запиской. Примечание ('C') и получение объекта примечания из k. Например: tonic = note.Note (pitch = k.pitchFromDegree (1)) и использование «тоника» вместо «k» в интервале. –
Спасибо! Исправлено (в примере) –