У меня есть код, который читает ноты (begining_time, высоту тона, продолжительность) из одной дорожки миди и записывает эти ноты в другой миди, но исходный миди содержит паузы, в конце эти паузы не появляются на выходе миди. Кто-нибудь знает, почему Music21 игнорирует отдых?? Спасибо всем за ваши комментарии.
import math
from music21 import stream, note, tempo
ruta_archivo_seleccionado = 'Original.mid'
print("\nLeyendo el MIDI")
#Cargar el archivo MIDI*
mf = converter.parse(ruta_archivo_seleccionado)
#Obtener el primer track*
t = mf.parts[0]
#Listas y Diccionarios
notas = []#Crear una lista para almacenar las notas con su altura, momento de inicio, duración y compás*
notas_por_compas = {}#Crear una lista o diccionario para almacenar las notas con su altura, momento de inicio, duración y compás*
melodia_padre = {}#Crear una lista o diccionario para almacenar las notas con su altura, momento de inicio, duración y compás*
#Iterar sobre las notas del track*
#tiempo_actual = 0
h = 0
#print("\nLista Notas:")
#print(" [nota compas tiempo altura nombre duración]")
print("Extrayendo las notas y calculando las entropias\n")
for n in t.flatten().notes:
altura_numerica = n.pitches[0].midi # Altura de la nota en formato numérico (midi)
altura_literal = n.pitches[0].nameWithOctave # Altura de la nota en formato literal (do, re, etc.)
momento_inicio = round(float(n.offset),2)
#tick_inicio = int(n.offset * mf.ticksPerQuarter)
duracion = round(float(n.duration.quarterLength),2)
compas = n.measureNumber # Compás donde está ubicada la nota
notas.append({'altura_numerica': altura_numerica, 'altura_literal': altura_literal, 'inicio': momento_inicio, 'duracion': duracion, 'compas': compas})
#print(compas, momento_inicio, altura_numerica, altura_literal, duracion )
#print(f"Nota: {h:
Подробнее здесь: https://stackoverflow.com/questions/787 ... ical-rests