Python Mido, как получить [заметку, время начала, время остановки, трек] в списке?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python Mido, как получить [заметку, время начала, время остановки, трек] в списке?

Сообщение Anonymous »

Мне нужна помощь в следующем: Я разрабатываю новую нотную запись. Я хочу прочитать MIDI-файл и получить список, содержащий каждую ноту/время начала/остановки/дорожку. Желаемый результат:

Код: Выделить всё

[[60, 0, 0.25, 1], [62, 0.25, 0.50, 1]]# the format is [note, start-time, stop-time, miditrack]
*обновление 1 – получение [note, note_on(time), note_off(time), канал]
следующий код создает словарь, в котором дельта-время преобразуется в линейное время (но я не уверен, что это правильный подход):

Код: Выделить всё

from mido import MidiFile

mid = MidiFile('testsunvox.mid')
midimsgs = []

# Put all note on/off in midinote as dictionary
for i in mid:
if i.type == 'note_on' or i.type == 'note_off':
midimsgs.append(i.dict())

# change time values from delta to relative time # don't know for sure if this is the right way...
mem1=0
for i in midimsgs:
time = i['time'] + mem1
i['time'] = time
mem1 = i['time']

# put note, starttime, stoptime, as nested list in a list. # format is [note, start, stop, channel]
for i in midimsgs:
print (i)
Сейчас я не могу найти правильный вопрос для этого, но цель состоит в том, чтобы получить:

Код: Выделить всё

[note, note_on(time), note_off(time), channel]
для каждой заметки. Но проблема в том, что есть два сообщения (включить/выключить заметку), и я хочу сделать их одним. Я опубликую свое решение, если найду его. (или, может быть, кто-то знает очень простой прием библиотеки Mido, позволяющий сделать это...)

Подробнее здесь: https://stackoverflow.com/questions/631 ... -in-a-list
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Mido на Python 3.5.1: нет модуля с именем «mido»
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Mido на Python 3.5.1: нет модуля под названием «Mido»
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Запустите приложение с помощью Siri, чтобы создать заметку с помощью распознавания речи.
    Anonymous » » в форуме IOS
    0 Ответы
    66 Просмотры
    Последнее сообщение Anonymous
  • Com.google.android.play:core добавил эту заметку для ядра: 1.8.0 - но версия приложения очень старая по электронной почт
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • Python Mido не обнаруживает ввод с клавиатуры в Raspberry Pi
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»