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

Discussion :

Quel langage ("facile") pour faire une interface graphique?

  1. #1
    Invité
    Invité(e)
    Par défaut Quel langage ("facile") pour faire une interface graphique?
    Bonjour!

    J'ai un projet à faire, pour lequel je dois créer un programme (sous Linux) qui va analyser le son venant du microphone (musique) et afficher le résultat via une interface graphique (créer une partition et y placer les notes détectées)

    L'analyse du son sera fait en C grâce à la librairie FMOD Ex (il y'a même un exemple de détection de note que je vais réadapter).

    Maintenant, je ne sais pas trop quoi faire pour l'interface graphique. (affichage d'une partition et placement des notes détectées)
    Connaissez vous des librairies en C qui conviendraient pour créer plus ou moins facilement mon interface graphique, ou est-ce que je peux changer de langage de programmation pour cette partie là du programme?
    (De préférence avec la possibilité de porter le programme sous Mac OS X ou Windows)


    Merci à ceux qui me répondront!
    Bonne journée!
    Dernière modification par sevyc64 ; 10/01/2013 à 17h50.

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 731
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 731
    Points : 15 134
    Points
    15 134
    Par défaut
    Salut !
    Citation Envoyé par Libljhj Voir le message
    (...) (De préférence avec la possibilité de porter le programme sous Mac OS X ou Windows)
    Merci à ceux qui me répondront!
    Bonne journée!
    Lazarus ?
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 621
    Points : 56 866
    Points
    56 866
    Billets dans le blog
    40
    Par défaut
    bonsoir,

    une idée peut-être si tu aimes Java...

    Processing

    Open Source avec des versions Windows, Linux et Mac os.

    d'après wikipedia:
    Le principe majeur de Processing est la simplicité, dans la mise en œuvre des programmes comme dans la syntaxe du langage. Adapté à la création graphique, Processing réclame moins d'efforts que Java pour effectuer des tâches simples telles que la modification d'une animation à intervalle régulier (qui permet des créations animées). Ses fonctionnalités sont limitées aux besoins des créateurs d'images 2D et 3D générées par programmation mais peuvent être étendues, par le biais de modules externes, à la capture d'un flux video, à la génération et à la manipulation de son, à l'interfaçage des ports d'entrées-sorties, etc.

    Processing s'adresse aux artistes en « arts numériques » ...

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 621
    Points : 56 866
    Points
    56 866
    Billets dans le blog
    40
    Par défaut
    Dans Processing, tu as une démo avec un programme GetLineIn:
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    import ddf.minim.*;
    
    Minim minim;
    AudioInput in;
    
    void setup()
    {
      size(512, 200, P2D);
    
      minim = new Minim(this);
      minim.debugOn();
      
      // get a line in from Minim, default bit depth is 16
      in = minim.getLineIn(Minim.STEREO, 512);
    }
    
    void draw()
    {
      background(0);
      stroke(255);
      
      // draw the waveforms
      for(int i = 0; i < in.bufferSize() - 1; i++)
      {
        line(i, 50 + in.left.get(i)*50, i+1, 50 + in.left.get(i+1)*50);
        line(i, 150 + in.right.get(i)*50, i+1, 150 + in.right.get(i+1)*50);
      }
    }
    
    void stop()
    {
      // always close Minim audio classes when you are done with them
      in.close();
      minim.stop();
      
      super.stop();
    }
    Tu lances la démo, tu siffles devant le micro et le programme t'anime des sinusoïdes. Je trouve ça pas mal étant donné la longueur du code.

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/02/2015, 11h16
  2. Réponses: 5
    Dernier message: 29/05/2009, 09h10
  3. Réponses: 0
    Dernier message: 09/04/2009, 15h18
  4. [Templates] Quoi utiliser pour faire une interface graphique rapidement
    Par une_tite_question dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 13/10/2008, 22h35

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