Как рассчитать продолжительность ноты в файле Midi с помощью MidoPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как рассчитать продолжительность ноты в файле Midi с помощью Mido

Сообщение Anonymous »

Для этой программы я пытаюсь найти атрибуты Midi-файла, такие как частота и продолжительность каждой ноты, и сохранить их в базе данных (Sqlite3).
Мне это удалось. мне удалось выполнить частотную часть, однако мне не удалось заставить работать длительность каждой ноты.

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

import mido
import sqlite3

def midi_to_frequency(midi_note):
return 440 * (2 ** ((midi_note - 69) / 12))

midi_file = "Queen.mid"

con = sqlite3.connect('SciFair.db')
cur = con.cursor()

cur.execute('''CREATE TABLE IF NOT EXISTS frequencies
(id INTEGER PRIMARY KEY, frequency)''')

mid = mido.MidiFile(midi_file)

for msg in mid:
if msg.type == 'note_on':
frequency = midi_to_frequency(msg.note)
cur.execute("INSERT INTO frequencies (frequency) VALUES (?)", (frequency,))
print(frequency)

con.commit()
con.close()
Я пробовал использовать

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

msg.time
Однако, чтобы определить продолжительность каждой ноты, результаты оказались не лучшими. Например, когда я пытаюсь это сделать, иногда выводится значение «0» для длительности, что невозможно, поскольку она не может быть нотой, если у нее нет длительности.
Кроме того, насколько я понимаю Mido, он использует тики, а не секунды или какие-либо другие обычные показатели. Как мне преобразовать эти тики в секунды?
Есть предложения, как это сделать?

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

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

Изменение регистра текста: 
Смайлики
:) :( :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 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Получение сообщения «Система не может найти указанный файл» при преобразовании MIDI в mp3 с использованием Mido и pydub.
    Anonymous » » в форуме Python
    0 Ответы
    46 Просмотры
    Последнее сообщение Anonymous
  • Файл output.mid не передает ноты аккордов MIDI
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Длинные ноты в MIDI
    Anonymous » » в форуме JAVA
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous

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