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

Bibliothèques Discussion :

[midifile][python3] Problème de structure


Sujet :

Bibliothèques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut [midifile][python3] Problème de structure
    Hello,

    J'essaie de parser un midifle grâce à quelques documents du genre de celui ci. Après avoir survécu à quelques pièges, je me retrouve avec du data inattendu à l'offset 0x43, un octet inférieur à 0x80. Quelqu'un maîtrisant le sujet et ayant quelques minutes à perdre pourrait m'aiguiller vers le pourquoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    0000:4d 54 68 64 // header 'MThd'
    0000:00 00 00 06 00 01 00 03 01 e0 // size:6 mf_type:1 nb_tracks:3 resolution:480
    0000:4d 54 72 6b // track 0 'MTrk'
    0016:00 // delta_time 0
    0017:ff 58 04 04 02 18 08 // time_signature:4/2
    001e:00 // delta_time 0
    001f:ff 51 03 05 16 15 // tempo:180
    0025:01 // delta_time 1
    0026:ff 2f 00 // end of track 0
    0026:4d 54 72 6b // track 1 'MTrk'
    0031:00 // delta_time 0
    0032:ff 59 21e 01 00 // key_signature:1 sharp(s), G major
    0037:00 // delta_time 0
    0038:b1 79 00 // control change channel:1 c_num:121 c_value:0 // reset_all_controlers
    003b:00 // delta_time 0
    003c:c1 4f // patch change channel:1 program:Whistle
    003e:00 // delta_time 0
    003f:b1 07 64 // control change channel:1 c_num:7 c_value:100 // volume
    0042:00 // delta_time 0
    < mismatch in midifile, got 0x0a instead of a running status >
    < end of analysis >
    0043:0a 40 00 5b 00 00 5d 00 00 ff 21 01 00 83 60 91  .@.[..]...!...`.
    0053:4c 50 81 6f 4c 00 01 47 50 81 6f 47 00 01 4a 50  LP.oL..GP.oG..JP
    0063:81 6f 4a 00 01 4c 50 81 6f 4c 00 81 71 46 50 81  .oJ..LP.oL..qFP.

  2. #2
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Bon, ben problème résolu, c'est une histoire de running status.Je n'aurai jamais pensé que ça fonctionnait aussi dans les midifiles. En gros quand un message du genre note_on[0x90, note, velocity] passe, on peut envoyer après d'autre couples note/velocity sans répéter l'entête 0x90.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de structure "récursive"
    Par Pxnet dans le forum C
    Réponses: 5
    Dernier message: 21/01/2007, 17h20
  2. Problème de structures
    Par Zikas-r dans le forum C
    Réponses: 6
    Dernier message: 27/12/2006, 00h01
  3. Réponses: 16
    Dernier message: 21/08/2006, 14h12
  4. [Structures]Problème sur structures
    Par kendras dans le forum C++
    Réponses: 5
    Dernier message: 07/06/2006, 10h20
  5. [OCaml] Problème de structure/parser
    Par marv1 dans le forum Caml
    Réponses: 4
    Dernier message: 09/05/2005, 12h16

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