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

Programmation pour enfants Discussion :

Transformer un PC en synthétiseur : le clavier devient un instrument de musique


Sujet :

Programmation pour enfants

  1. #1
    Membre à l'essai
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2015
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2015
    Messages : 16
    Points : 14
    Points
    14
    Par défaut Transformer un PC en synthétiseur : le clavier devient un instrument de musique
    Bonjour,
    Je suis prof de technologie collège et je souhaite programmer un PC pour le transformer en synthétiseur ; le clavier devient un instrument de musique.
    je souhaite donc que chaque touche soit associée à une fréquence et que l'on puisse choisir une sonorité (piano, guitare...)
    Le but c'est de faire faire ce travail par des élèves de collège, en collaboration avec leur prof de musique et de maths.
    Quel langage me recommandez-vous ?
    Certains d'entre vous ont-ils déjà développé ce genre de programme ? si oui, qui accepte de me donner un coup de main? de me guider ? au moins pour démarrer ?
    Je suis novice en programmation PC.
    J'ai toutefois quelques notions dans un langage très ancien ou très peu répandu : LOGO.

  2. #2
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Il y a 36 ans, quand j'étais gamin, je débutais en informatique et je programmais en basic sur MSX un programme comme celui là.
    C'était très facile. Je pense qu'il fallait envoyer une certaine fréquence vers le port son...

    Bien entendu tu ne vas pas développer pour MSX mais je ne te conseillle pas le language LOGO.
    Ce ne sera jamais utilisé.
    Pourquoi ne pas revenir à un Basic classique sur PC ou même sur Android mais là, vous serez confronté au GUI... pas facile pour un design récent.

    Il doit y avoir un paquet d'interpréteurs/compilateurs BASIC pour PC.
    Regarde VB.NET dans ce cas pour un GUI facile.

    Maintenant tu pourrais aussi bien le faire en C# (.NET), c'est pareil et plus facile que le C.
    Le C# c'est le standard .NET.
    C'est également porté sur linux.
    Si la réponse vous a aidé, pensez à cliquer sur +1

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 82
    Points : 114
    Points
    114
    Par défaut
    Je pense que le plus simple et le plus abordable serait puredata : http://puredata.info/
    Très simple pour capter les info clavier, très simple pour générer des sons, de plus l'aspect visuel des bloc entrée/sortie est très intuitif et fort pédagogique.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2013
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2013
    Messages : 108
    Points : 171
    Points
    171
    Par défaut
    Moi je penche plus pour Python avec pygame , possible ensuite d'utiliser sous Linux, arduino, et d'autres OS ou matériels, http://christophe.malhaire.pagespers..._keyboard.htmlarduino, ...

  5. #5
    Membre du Club
    Homme Profil pro
    codeur
    Inscrit en
    Mars 2018
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : codeur

    Informations forums :
    Inscription : Mars 2018
    Messages : 158
    Points : 64
    Points
    64
    Par défaut je programme avec Ada
    Bonjour,

    j'écris ou enrichie un programme pour faire de la musique avec Ada.
    C'est très simple à faire si l'on sait ce que l'on veux au final ; Par là je veux dire que repérsenter un clavier d'un instrument de musique ou "tablature" de Guitare sur un clavier alphanumérique est chose relativement facile et question d'observation.

    J'utilise une interface en C nommé portmidi pour exploiter le synthétiseur avec le langage Ada.

    j'ai écris une petite bibliothèque Ada pour interfacer mon programme Ada avec l'interface C portmidi.
    Elle est à votre disposition dans un des Projet dédier à la musique : sur arknos.net : http://arknos.net

    Vous trouvez dans les sources deux fichers nommés portmidi.ads et portmidi.adb ansi qu'un fichier porttime.ads.

    Ces ficher son à vérifier tout de même, et à compélter.
    En effet, je n'ai su jusqu'à présent, iméplementer les fonction de message système exclusif.

    En vous souhaitant bonne continuation et réussite de votre ambition.
    Logique sans matière est matière de logique.

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/02/2016, 20h21
  2. Réponses: 5
    Dernier message: 13/08/2009, 23h34
  3. Réponses: 4
    Dernier message: 01/09/2008, 22h00
  4. Réponses: 2
    Dernier message: 17/11/2006, 13h48
  5. FFT(Fast Fourier Transform)
    Par IngBen dans le forum Traitement du signal
    Réponses: 6
    Dernier message: 23/05/2002, 16h35

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