Sansa clip+ et fichiers midi
classé dans Geekeries, MIDI, Musique/MAO
Édit 06.10.2014 23h35: réenregistrement (audio uniquement) des musiques jouées.
Un article court expliquant que ce petit lecteur, ne payant pas de mine, et ne coutant pas cher, sait également interpréter des fichiers midi.
Question bidouillabilité, je me demande où ça va s'arrêter, parce que ça devient de pire en pire.
Autant, permettre la lecture des fichiers audio, genre MP3, WMA, c'est normal. OGG/Vorbis et Flac, c'est moins courant.
Via Rockbox, supporter également le format monkey audio (ape), et autres formats exotiques, notamment ceux provenant du monde du jeu vidéo, comme le format ADX (http://en.wikipedia.org/wiki/ADX_%28file_format%29), ou le format SPC (http://en.wikipedia.org/wiki/Nintendo_S-SMP)… là, ça commence à être exceptionnel [1].
Avoir des jeux, un émulateur Game Boy dessus, ainsi que Doom (injouable, à cause de l'écran monochrome, mais là, c'est plus pour la prouesse technique), là, ça commence à être n'importe quoi
Désormais, ce lecteur est capable de jouer les fichiers midi. Oui, ceux là même, utilisés en musique/MAO.
La seule difficulté est de trouver le compromis entre qualité des patches (les instruments) et la taille (consommation mémoire).
En effet, ici, on est sur de l'embarqué et non sur PC. On ne peut pas dire : bon, je vais charger SGM.sf2 (qui fait dans les 250 Mo), voire Crisis (1,5 Go), et le lecteur pourra se débrouiller avec. Ici, si on a 4 Mo de ram, on a beaucoup de chance (tenir compte des buffers audio, des codecs/DSP, de l'OS, de la gestion des disques, etc).
Pour les patches, on ne peut pas utiliser le format SF2, qui est un format pourtant très répandu. Je pense que c'est pour une question de mémoire. En effet, il faudrait charger toute la soundfont, ce qui peut être ridicule, surtout si la partition n'utilise que deux (types d')instruments, comme les percussions et les cordes.
Ici, regardons plutôt dans le domaine de l'histoire de la musique de jeux vidéo sur PC, notamment la carte Gravis Ultrasound http://en.wikipedia.org/wiki/Gravis_Ultrasound. En effet, cette carte avait une particularité, c'était la possibilité de stocker les formes d'ondes (ou les samples des instruments) sur le disque dur de la machine, et non sur une mémoire de stockage (sur ROM). Les fameux fichiers .PAT.
À l'époque (1992), au démarrage de la machine sous MS-DOS, un programme résident (TSR) était lancé automatiquement, et chargeait dans la mémoire (RAM) de la carte son, les instruments (pat) que la carte jouerait. Les développeurs de jeu pouvaient également ne pas imposer l'utilisation de ce TSR, et chargeaient alors leurs propres instruments au démarrage du jeu, sur la carte.
Le gros avantage de cette méthode, c'est que l'on n'est pas limité par les instruments préinstallés dans la carte.
Quelques années plus tard, Creative Labs sortira à son tour, une carte permettant de charger des instruments de manière dynamique dans sa mémoire, la Sound Blaster AWE32… mais ceci est une autre histoire.
Du coup, quel rapport entre cette carte son (la GUS, Gravis Ultra Sound) et le lecteur "MP3" qui peut jouer des fichiers midi ?
Simplement le format des instruments, les fichiers .PAT Cf. http://www.rockbox.org/wiki/PluginMidiPlay sont utilisables directement avec Rockbox.
À noter : Timidity (sous GNU/Linux) peut également utiliser les patches GUS comme instruments pour la synthèse midi.
Donc, récupérons quelques patches (trouvable facilement à coup de moteur de recherche), et commençons les tests. Penser d'abord à installer les .pat et .cfg dans /.rockbox/patchset/, sinon, ça ne risque pas de marcher.
Suivant les fichiers midi joués (nombres d'instruments utilisés notamment), il se peut que le lecteur plante sur une erreur MALLOC.
Cela veut simplement dire qu'il n'y a pas assez de mémoire pour charger tous les instruments. Comme la mémoire n'est pas allouée dynamiquement (pas de MMU, Memory Management Unit), tout problème mémoire active le "chien de garde" (watchdog), et cause le plantage complet du système. Le seul moyen de s'en sortir est de redémarrer le lecteur.
Ci-dessous, une petite démonstration du lecteur en action. L'écoute au casque est fortement déconseillée.
Pour cause, les enceintes étant un peu trop éloignées (je ne m'en suis pas rendu compte sur le coup), j'ai du augmenter le volume du son dans la vidéo. Cela a bien évidemment augmenté le niveau de bruit. J'aurais du enregistrer le son à part. Encore désolé pour la mauvaise qualité audio.
Ouvrir / télécharger : http://blog.chibi-nah.fr/images/clipmidi/clip.mp4
Le lecteur est posé sur le bureau, une fiche jack 3,5mm branchée sur le côté, pour la sortie audio. Les musiques sont jouées en temps réel par le lecteur. Aucun expandeur midi matériel n'a été utilisé pour jouer les musiques.
Le lecteur est configuré en anglais, avec la "synthèse vocale" (que l'on voit entend à l'œuvre). L'appareil photo étant placé assez près, tous les bruits de manipulations semblent amplifiés, ce qui est normal.
Bonus : les conditions de tournage.
Oui, le lecteur MP3, c'est bien le tout petit truc noir avec un long fil blanc branché dessus, et qui est en partie masqué par la sangle de l'appareil photo.
Édit 06 oct 2014 : les musiques ont été rejouées, et cette fois, enregistrées correctement (via un zoom h2n).
Format ogg/vorbis non supporté ? Télécharger en mp3.
Au niveau qualité audio, c'est quand même meilleur qu'Android (où la qualité de la soundfont midi est franchement horrible).
1: j'ai déjà parlé de tout ça dans un précédent article.