Me gustaría generar una secuencia de notas MIDI en javascript y luego reproducirlo. Muchos complementos son compatibles con MIDI, pero no conozco ninguna URL de "datos" de respaldo. Generar contenido MIDI no es gran cosa, pero alimentar este contenido con el reproductor sí lo es. Alguien sabe cómo se puede hacer esto, si no en general, al menos para un complemento específico como QuickTime.generar MIDI en javascript
Respuesta
Parece que la forma más fácil sería pasar los datos MIDI a, p. un script PHP que luego devuelve la entrada. Luego puede usar "yourscript.php? Your-midi-data" en lugar de "data: your-mini-data".
Muy buen problema. He estado trabajando mucho últimamente con imágenes codificadas en base64 y he usado regularmente http://www.greywyvern.com/code/php/binary2base64 para la codificación de imágenes. Solo traté de convertir un archivo MIDI y poner la secuencia de texto base64 en un HTML y jugó muy bien en Firefox (lo que me sorprendió). Aquí está el código (con la corriente de base 64 retirado por razones de brevedad):
<embed
autostart="true"
loop="false"
volume="100"
hidden="false"
src="data:audio/x-midi;base64,abc...."
></embed>
No estoy seguro de que es posible pasar de una imagen binaria de base 64 en JS, pero sospecho que va desde MIDI podría ser. Es un comienzo.
Es posible que desee echar un vistazo a la siguiente publicación de blog mía. Se trata de una biblioteca que hace exactamente lo que estás tratando de hacer, del lado del cliente. Sin embargo, tenga en cuenta que la reproducibilidad cruzada del navegador MIDI en los navegadores no es realmente uniforme.
http://sergimansilla.com/blog/dinamically-generating-midi-in-javascript/
Además de utilizar Javascript (ver el post de Sergi), puede utilizar Java como un método de respaldo con mi Javascript para Java puente que expone partes del marco MIDI: http://mudcube7.blogspot.com/2010/08/dynamic-midi-generation-in-browser.html
QuickTime con los datos url funciona tanto con Firefox como con Chrome (versiones recientes, sin versiones beta). Tiene que seguir las instrucciones desde quicktime website: inicializar QuickTime llamando a la función QT_WriteOBJECT
(tuve que proporcionar src inicial que apunta al archivo mp3 de Beethoven, solo para evitar quejarse, tal vez no es necesario), registre oyentes como se detalla en el dicho re ference, y después de obtener la devolución de llamada qt_load, llame al método document.movie1.SetURL(myDataURL)
. Utilicé la codificación base64 en la url de datos: "data:audio/midi;base64,..."
. (el contenido fue generado por javascript). Todo funcionó sensacionalmente bien: Play(), Stop(), etc. La parte más difícil es leer su doc monumental (tenga en cuenta que también tiene la parte "HTML")
enlace no es bueno ... – milesaron
- 1. Generar MIDI en vivo desde Javascript
- 2. reproducir archivos MIDI en python?
- 3. Midi Ticks a PlayBack segundos reales !!! (Midi Music)
- 4. conversión wav-a-midi
- 5. PHP MIDI Generator
- 6. Lectura de archivos MIDI
- 7. Generar documento XML en memoria con JavaScript
- 8. ¿Cómo puedo generar Javascript dinámico?
- 9. Cómo generar JavaScript con PHP
- 10. Lectura de un archivo MIDI en Python
- 11. Enviando mensajes MIDI a DAW en C#
- 12. Acceso a un dispositivo Midi en Java
- 13. ¿Cómo se reproduce MIDI en el iPhone?
- 14. Java Midi en Mac OSX ¿Roto?
- 15. CoreMIDI/PGMidi Error midi virtual en iOS6
- 16. Simulando un dispositivo MIDI - Windows
- 17. Alternativas de Java MIDI Sequencer
- 18. Crear un puerto MIDI virtual
- 19. XG Formato de archivo MIDI
- 20. python sintetizar midi con fluidsynth
- 21. Generación y reproducción de Dynamic Midi en Android: ¿posible?
- 22. Generar objetos de JavaScript de Django Modelos
- 23. Cómo generar PDF usando HTML5 y JavaScript
- 24. Generar documentación de JavaScript con Doxygen
- 25. ¿Cómo generar postback falso con javascript?
- 26. javascript API para generar códigos QR
- 27. cómo generar un círculo utilizando javascript
- 28. ¿Generar números de página usando javascript/jquery?
- 29. Biblioteca C/C++ para leer señales MIDI desde un dispositivo MIDI USB
- 30. ¿Biblioteca Javascript para generar el formato iCal?
Sergi, su solución no parece abordar el problema principal . Si usa "incrustar" u "objeto", no tiene control sobre la reproducción. La interfaz de QuickTime resuelve el problema. Usted tiene control total sobre él desde javascript, incluso puede generar y agregar cosas dinámicamente. Y funciona con la URL de datos. Que fue un punto completo de la pregunta original. – shurik