IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

FMOD Discussion :

Lire un certain sample d'un fichier *.mod


Sujet :

FMOD

  1. #1
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut Lire un certain sample d'un fichier *.mod
    Bonjour,
    Voilà, j'ai un fichier *.mod constitué de plusieurs musiques à l'interieur qu'on appelle des samples.
    Voici le screen :


    et moi je souhaite dans le programme jouer la sample 07 correspondant à la ligne
    07 : 15 à 16 : Fast Ghost...

    par d"faut, lorsque je charge juste la musique et la lance en boucle, il me joue seulement le sample 04.
    J'ssaie donc moi de jouer la 07.
    Je me suis documenté dans l'aide de FMOD, et j'ai testé pas mal de truc, et là j'en suis en ce point, et ca fonctionne toujours pas ( ce code n'est qu'un test hasardeux en essayant de trouver la solution )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    FMUSIC_MODULE *musique = NULL;
    FSOUND_SAMPLE *sample = NULL;
     
    musique = FMUSIC_LoadSong("music_game.mod");
     
    sample = FMUSIC_GetSample(musique,7);
    FMUSIC_SetSample(musique,7,sample);
     
    FMUSIC_PlaySong(musique);
    FMUSIC_SetLooping(musique, 1);
    Si quelqu'un connaitrai la reponse :/

  2. #2
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Salut,

    D'abord, tu trouveras les fonctions qui t'intéressent ici :
    http://www.fmod.org/docs/HTML/FMUSIC.html#Functions

    Ensuite, je crois que tu confonds pas mal de choses. J'ai mis un peu de temps à comprendre ce que tu voulais faire (et j'espère avoir compris). Par ailleurs, je tiens à préciser que je n'ai jamais utilisé fmod pour manipuler des modules. Mais j'espère quand même t'être utile.

    La musique en exemple (au passage, elle est excellente cette musique) possède 8 samples. Ce sont les 8 premières lignes (celles où il y a une colonne length). Un sample est juste un son wave. Ce son est généralement très court (quelques secondes) et correspond juste à une note. Pour faire une mélodie, on utilise plusieurs samples et plusieurs fois chaque sample (en modifiant la fréquence pour changer de note).

    La musique que tu donnes possède un certain nombre de patterns. Au moins 25, d'après les commentaires. Un pattern, c'est un morceau de la musique. Un pattern utilise de nombreux samples.

    D'après le commentaire, le "main theme" correspond aux patterns de 0 à 11 et est joué en boucle. Le passage "fast ghost" correspond aux patterns 15 à 16.

    La fonction getsample te renvoie un sample (par exemple, une note de piano). La fonction setsample sert à remplacer un sample par un autre. Par exemple, tu peux dynamiquement remplacer un piano par une guitare dans une musique.

    La fonction que tu cherches, pour changer de position la musique s'appelle SetOrder. Utilise SetOrder avec la valeur 15 (en hexa, je crois), et je suis convaincu que ça marchera...


    Une question, quand même : as-tu l'autorisation d'utiliser cette musique ? Tu dois demander l'autorisation à Rez.

  3. #3
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut
    Bonjour,
    Je ne suis pas chez moi pour pouvoir tester setOrder...
    J'te tiendrais au courant mercredi.
    L'usage de la musique n'es qu'à titre personnelle, j'débute dans la programmation 2D, et je m'amuse à faire plusieurs programmes qui servent à rien pour tester et améliorer mes compétences.
    et là, j'voulais juste comprendre comment fonctionnait ce fichier *.mod et j'ten remercie grandement.
    A mercredi !

  4. #4
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    D'accord.

    Si tu as d'autres questions sur le format mod, tu peux poser, je connais assez bien. Mais c'est rare de voir des gens l'utiliser : il est vieux et dépassé depuis 10 ans.

    Les formats .xm, puis .it l'ont remplacé. Ils utilisent le même principe, mais sont plus puissants.

    Ces formats sont intéressants à connaitre, puisqu'ils font partie de la culture informatique (que tout informaticien devrait connaitre...), mais ils sont de moins en moins utilisés car ils n'offrent généralement pas la qualité des ogg/mp3.

  5. #5
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut
    Voilà, j'ai enfin pu tester, et il fallait bien utiliser setOrder, mais pas à la position 15... en effet, ceci me fesait commencer juste plus loin la musique, mais en testant un peu chaque nombre, j'ai trouvé la partie que j'voulais, et il fallait indiquer 33. Mais pourquoi ce nombre?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	musique = FMUSIC_LoadSong("music_game.mod");
     
     
    	FMUSIC_PlaySong(musique);
    	FMUSIC_SetOrder(musique,33);
    	FMUSIC_SetLooping(musique, 1);

  6. #6
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Les valeurs données sont en hexa (comme je l'avais signalé).

    Le pattern que tu cherchais est le 21.
    Le 33 est Afraid.

  7. #7
    Membre éclairé
    Avatar de ZouBi
    Inscrit en
    Octobre 2007
    Messages
    508
    Détails du profil
    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 508
    Points : 812
    Points
    812
    Par défaut
    excuse moi, j'avais compris l'inverse, et qu'il fallait rentrer en hexadecimal dans le setOrder, soit 15->0xF, enfin bon...
    Bon la musique que j'voulais apparement est "afraid" et non "fast ghost" j'ai du comprendre, mais bon le plus imporant c'est que j'ai compris comment ca fonctionne, et que ce topic aidera ceux ayant la meme difficulté que j'ai eu...

    J'te remercie enormement beaucoup de ton aide, car peu de personne doivent avoir cette culture sur ces musiques du genre... Encore merci !

  8. #8
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Citation Envoyé par ZouBi Voir le message
    excuse moi, j'avais compris l'inverse, et qu'il fallait rentrer en hexadecimal dans le setOrder, soit 15->0xF, enfin bon...
    Si tu regardes le commentaire dans le fichier mod, tu verras que Rez comptait en hexadécimal (il parle de 1e).

    Donc, quand il dit 15, il faut comprendre 0x15. Donc, dans le code, écris soit 21, soit 0x15.

    15 et 0xF représentent la même valeur. Si tu remplaces l'un par l'autre dans le code, tu auras le même résultat.

    Citation Envoyé par ZouBi Voir le message
    J'te remercie enormement beaucoup de ton aide, car peu de personne doivent avoir cette culture sur ces musiques du genre... Encore merci !
    C'est vrai qu'on rencontre de moins en moins de personnes qui utilisent ces formats (alors qu'entre 90 et 2000, tous les jeux commerciaux les utilisaient). Je connais un certain nombre de personnes qui les utilisent, mais la plupart d'entre eux sont musiciens et non programmeurs.

  9. #9
    Expert confirmé
    Avatar de shenron666
    Homme Profil pro
    avancé
    Inscrit en
    Avril 2005
    Messages
    2 524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : avancé

    Informations forums :
    Inscription : Avril 2005
    Messages : 2 524
    Points : 5 184
    Points
    5 184
    Par défaut
    pour moi ces formats (mod, xm, it) datent de l'époque atari st et amiga
    j'y avait touché à l'époque mais sur mon atari j'avais tout ce qu'il falait pour ça

    je me demande s'il serait intéressant d'avoir un format similaire dont les samples sont en ogg par exemple ou si ça existe déjà ce genre de fichier
    Tutoriels OpenGL
    Je ne répondrai à aucune question en MP
    - Si c'est simple tu dis que c'est compliqué et tu le fait
    - Si c'est compliqué tu dis que c'est simple et tu le sous-traite ou le fait faire par un stagiaire.

  10. #10
    LLB
    LLB est déconnecté
    Membre expérimenté
    Inscrit en
    Mars 2002
    Messages
    967
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 967
    Points : 1 410
    Points
    1 410
    Par défaut
    Ce formats ont en effet connu leur essor avec l'Amiga (mais ils sont toujours utilisés... enfin, le .it surtout).

    Pour les formats compressés, il y a le .oxm (xm avec samples en ogg) qui peut être lu par FMod. Il y a aussi le .mo3 (.xm/.it/.mod/.s3m... avec samples en ogg/mp3). Mais ce format est fermé il me semble et n'est joué que par la bibliothèque bass.

    Ces formats sont peu reconnus par les players, ils sont donc assez rares (mais ça peut être un bon choix pour un jeu).

Discussions similaires

  1. Lire uniquement certaines lignes d'un fichier
    Par tomasi dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 26/03/2021, 10h02
  2. [Batch] Lire une certaine partie d'un fichier texte
    Par Alwaysin dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 29/03/2012, 19h51
  3. [Batch] Lire une certaine ligne d'un fichier ini
    Par ptilemare dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 02/08/2010, 08h11
  4. lire certaines données d'un fichier
    Par flo456 dans le forum ASP
    Réponses: 10
    Dernier message: 22/06/2006, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo