C'est vrai qu'il y a une certaine logique !
lordkraken > paradoxalement, je ne suis pas le mieux placé pour répondre à tes questions
J'ai juste codé la bibliothèque audio de base (à la base, c'était un simple essai pour tester une idée) ; toute la partie intégration dans Raptor/rB+/Jagstudio et outils de conversion/build ont été faits par d'autres membres de Reboot, et je n'ai jamais regardé en détails comment ça fonctionnait.
Effectivement, le MP3 n'est pas supporté directement ; les formats supportés sont du 8 bits linéaire classique (signé ou non signé), et du 8 bits µLaw (non linéaire, la qualité audio est généralement meilleure à taille identique). J'imagine que le process de build inclut une étape qui convertit d'abord le MP3 en l'un de ces formats. Ton problème de vitesse de lecture est probablement lié au fait que les fréquences d'échantillonnage supportées que celles des MP3. Du coup je te recommande de rééchantillonner d'abord à une fréquence supportée avec un logiciel comme Audacity, et de sauvegarder au format WAV 16 bits non compressé.
Pour ce qui est du choix de la bibliothèque audio, je te renvoie aux posts de ggn et moi ici :
rb+ tutorial #3: rb+ and audio - untangling a mess!AtariAge ForumsAt its conception rb+ was very closely tied to raptor, which uses the U235 Sound Engine. Raptor has its own way of doing things and audio is no exception. Including a tune meant opening rapapp.s and adding it there, adding samples would mean converting them to the right format by hand and then fe... En résumé, la qualité n'est qu'un facteur : si la musique que tu veux utiliser a été composée avec un tracker (ou assimilé), c'est plus intéressant d'utiliser U235 par exemple.
Pour ce qui est de l'utilisation des ressources, j'avoue que j'ai jamais pris la peine de faire de benchmarks... vu que l'utilisateur principal est Cyrano Jones, et qu'il ne s'est jamais plaint des perfs
Et ça va beaucoup dépendre de la fréquence d'échantillonnage que tu choisis ainsi que du nombre de canaux à jouer en même temps. La limitation viendra de l'utilisation du bus qui est commun à tout (vidéo, audio, code), pas de l'utilisation CPU vu que l'audio est essentiellement gérée par le DSP. Comme c'est la vidéo qui a la priorité, si ta musique commence à sonner bizarrement quand il y a trop de trucs à l'écran, c'est que tu as poussé le bouchon trop loin.
En tout état de cause, pour de la musique streamée (en gros, le morceau est un seul gros sample audio), mon code n'est pas censé consommer plus de ressources qu'U235, tout en ayant une qualité audio supérieure à taille équivalente. Et pour les modules, comme il n'y a qu'U235 qui le fait, la question ne se pose pas - à moins de convertir à l'avance le module en fichier WAV, mais comme ça prend beaucoup plus de mémoire ça n'a pas vraiment de sens.
La meilleure solution pour voir ce qui fonctionne bien pour ton jeu, c'est encore de faire des essais