estoy trabajando en proyecto midi y quería visualizar la música midi como espectrografía de música Mp3 ... Quiero saber cómo convertir Midi Ticks a segundos de reproducción real ... como si hubiera un midi tick en PPQ (Pulso por negra) por ejemplo 1120. ¿Hay una fórmula para convertirlo en segundos de reproducción del mundo real?Midi Ticks a PlayBack segundos reales !!! (Midi Music)
Respuesta
La fórmula es 60000/(BPM * PPQ)
(milisegundos).
Donde BPM es el tempo de la pista (Beats Per Minute).
(es decir, una pista de 120 BPM tendría un tiempo MIDI o de (60000/(120 * 192))
2.604 ms para 1 garrapata.
Si usted no sabe el valor de BPM entonces usted tendrá que determinar que en primer lugar. MIDI veces son totalmente . depende del tempo pista
Sería genial si esta respuesta explica cómo calcular BPM. – Oddthinking
@Oddthinking: calcúlalo de qué? – Aaronaught
BPM no es un concepto nativo de MIDI. Se deriva de los microsegundos por trimestre Nota (de SET_TEMPO) y la firma de tiempo. Ver [esta publicación en el blog] (http://www.lastrayofhope.com/2009/12/23/midi-delta-time-ticks-to-seconds/) para obtener más detalles sobre cómo se calcula. – Oddthinking
60 bpm es de 1 minuto 1000 milisegundos es de 1 seg 60 segundos es de 1 minuto o 60.000 milisegundos
así para convertir milisegundos a BPM para un evento de garrapata: bpm (en milisegundos) es igual a 60000 dividido por (BpmVa Lue)
para establecer evento Tick de */8 medidas (como en 7/8): lpm (en milisegundos) es igual a 60000 dividido por (BpmValue) dividido por 2
estoy trabajando en un C# Metrónomo ahora. Si está programando, vuélvalo a entero para redondear. fracciones de milisegundos no deberían ser un problema. aunque si la precisión es tu problema, asegúrate de configurar el resultado en un punto flotante.
pregunta: ¿el objeto del temporizador C# permite el valor del punto flotante asignado a milisegundos?
cualquier comentario o sugerencia relacionado con la implementación de C# son muy apreciados. si mi matemática es defectuosa, por favor también hágamelo saber. ¡Gracias!
Tenga cuidado con el uso de temporizadores C# que tienen una resolución de solo unos 15 ms. Ver http://stackoverflow.com/questions/3744032/why-are-net-timers-limited-to-15-ms-resolution – pilotcam
Realmente aprecio tu comentario ya que no me di cuenta. pero para llegar a 50 mil, el tempo tendría que ser de 1120 latidos por minuto, lol – Adam
, veo tu punto ahora que leí el artículo. ¿Convertir los valores en tipos enteros más pequeños mejora la velocidad de la resolución? noob aquí, así que vaya fácil – Adam
- 1. reproducir archivos MIDI con el Reproductor Musical & Music Secuencia
- 2. conversión wav-a-midi
- 3. PHP MIDI Generator
- 4. Lectura de archivos MIDI
- 5. generar MIDI en javascript
- 6. Enviando mensajes MIDI a DAW en C#
- 7. Python: midi a la transmisión de audio
- 8. Enviar señal midi desde C# a ableton
- 9. Acceso a un dispositivo Midi en Java
- 10. Software para convertir audio a MIDI
- 11. Simulando un dispositivo MIDI - Windows
- 12. Alternativas de Java MIDI Sequencer
- 13. XG Formato de archivo MIDI
- 14. Crear un puerto MIDI virtual
- 15. python sintetizar midi con fluidsynth
- 16. reproducir archivos MIDI en python?
- 17. Biblioteca C/C++ para leer señales MIDI desde un dispositivo MIDI USB
- 18. Enviando MIDI por el USB usando Arduino
- 19. Java MIDI: ¿obtiene datos del piano?
- 20. Java sound api - Escaneo para dispositivos midi
- 21. Salidas MIDI para el complemento VST
- 22. ¿Puede Silverlight comunicarse con un instrumento MIDI?
- 23. Java recibiendo entrada del teclado MIDI
- 24. Implementación de Midi dentro de .Net
- 25. CoreMIDI/PGMidi Error midi virtual en iOS6
- 26. Obtener datos de notas del archivo MIDI
- 27. Java Midi en Mac OSX ¿Roto?
- 28. ¿Cómo se reproduce MIDI en el iPhone?
- 29. Biblioteca MIDI simple, multiplataforma para Python
- 30. Generar MIDI en vivo desde Javascript
no obtengo ... Digamos que tengo una música que tiene un tempo constante de 424 BPM ... Ahora tengo fluctuaciones de tics midi en PPQ ... por ejemplo 70272,70344,70372 etc ... ahora para cada miditick quiero tener un segundo equivalente de reproducción en el mundo real .... si tomo el ejemplo 145240 PPQ (marcación midi) ... (muestra midi tick tomada del archivo de música midi de muestra) ... entonces tu fórmula es dándome este 0.9116185787866357 no de milisegundos ... que se convierte en 0.0009116185787866358 en segundos ... lo cual me desconcierta porque 145240 midi tick se produce después de 1 segundo en la reproducción de la música midi .... Ayuda por mayor – Taha