PPCaP
Suivante

 

Accueil
Remonter
Synchronisation radio

 

bulletDe quoi s'agit-il ?

PPCaP est un système** qui permet la lecture et l'écriture de fichiers de musique sur un support de type carte à mémoire, à raison d'un ou de deux fichiers par carte. Ces cartes sont conformes à la norme ISO 7816, et comportent uniquement de la mémoire. 

Télécharger (Merci de lire les avertissements ci-dessous)

A noter :
1. Après toute nouvelle installation du logiciel de gestion, il faut reprogrammer le microcontrôleur car les deux programmes vont de pair.
2. Le duplet de soft : ProCaP/PPCaP est le même quelque soit l'application finale. PPCaP peut être chargé sur des cartes Uno, Duemilanove ou Nano et contrôler des instruments 27-29 ou 32 notes, 42 ou 45 notes, en utilisant ou non la sortie midi, de même que tout autre instrument définissable par l'utilisateur dans la limite de 45 notes.

Version 5.0 (Mai 2017) :
Voici les principales nouveautés de cette nouvelle version.

Côté logiciel de gestion ProCaP
- Prise en compte des temps d'attente supérieurs à 8 s.
- Correctif sur l'utilitaire de séparation des notes.

Côté Arduino
- Correctif d'un bug sur la fonction de bouclage dans les morceaux.
- Mise en œuvre d'une synchronisation radio basée sur des modules bas coût en 433 MHz.

bulletPPCaP_v50 : Programme de gestion ProCaP et binaire du microcontrôleur. Pour l'instant, se référer à cette page pour la documentation additionnelle sur les fonctions radio : Synchronisation radio

La version précédente est toujours disponible avec la documentation complète, les drivers etc...

bulletlogiciel_v41

Côté matériel :
- Correction d'une inversion sur le CI de la carte 42-45 notes.
- Toujours le petit circuit pour les e.serinettes.
- Et le circuit minimal pour réaliser un programmateur autonome.
J'ai quelques exemplaires de ces CI en rab... Contactez-moi si vous êtes intéressés.

bullet matériel_v41 : Schémas et circuits imprimés 29-45 notes, programmateur autonome, e.serinette.

Utile : Exemple de nomenclature des composants à approvisionner (au 01 04 2014 - Merci à Bernard Baudouin).

Avertissements
1. Il s'agit d'un outil d'amateur, dont le but n'est pas de rivaliser avec des systèmes commerciaux du même genre qui sont sans doute plus performants et avec lesquels il n'est pas compatible. 
2. Je l'ai conçu et réalisé pour mon usage personnel. Si cela vous tente, mes programmes et mes schémas sont à votre disposition.
3. Cet ensemble ne peut être destiné à la revente (usage personnel uniquement). Les réalisations commerciales analogues peuvent être sous la protection de brevets.
4. Il va de soi que vous devez être, ou propriétaire, ou avoir les droits d'utilisation, des fichiers midi que vous pourrez programmer sur les cartes à mémoire. 

 

bulletDescription

On distingue deux parties indissociables : une carte à microcontrôleur et son programme d'une part, ainsi qu'un logiciel de gestion d'autre part.

PPCaP_dessus.JPG (423536 octets)    PPCaP_dessous.JPG (474872 octets)

  La carte PPCaP vue de dessus et de dessous. Tout est là : lecture et décodage.

L'électronique est construite autour d'une carte arduino à base d'un processeur Atmega328. On pourra utiliser indifféremment des cartes Uno, Nano ou Duemilanove. Ces cartes disposent d'une connexion vers un port USB et de ce fait, le lecteur fait également office de de programmateur.
Selon la terminologie usuelle, la carte PPCaP peut être considérée comme un "shield" venant étendre les possibilités de la carte arduino seule. Le schéma de base offre 29 sorties sur darlington (ULN2803), et s'alimente sous 12V.

Le logiciel de gestion se dénomme ProCaP et il communique avec le module hardware via un port USB. Il permet de programmer les cartes à mémoire, de les effacer, de les tester, ainsi que de les copier (uniquement ces cartes là) et d'en ré-extraire des fichiers midi. Il assure également la programmation du microcontrôleur.


Copie d'écran de l'IHM ProCaP (Version initiale) 

bulletPourquoi utiliser une telle carte à mémoire ?

Et non une carte SD ou un stick usb par exemple, et qui permettraient le stockage d'un bien plus grand nombre de morceaux. En voilà une question qu'elle est bonne :o))

Pas pour la simplicité de développement en tous cas ! Il m'a fallut écrire pas mal de choses spécifique, alors que pour les cartes SD et les afficheurs LCD, les bibliothèques sont toutes prêtes et qu'il suffit d'instancier les fonctions dont on a besoin.

En fait c'est surtout pour ne pas dématérialiser complètement les choses. On reste dans la même démarche qu'avec le carton : Une carte = un morceau de musique. On le fabrique, on l'illustre, on le manipule. Il existe quoi.
C'est un peu la différence qu'il y a entre écouter un album sur Deezer, ou choisir un CD sur ses étagères pour le mettre dans sa chaîne.
Bon hein, chacun son truc.

Et puis c'est aussi pour le plaisir de développer un truc perso de A à Z, différent, et sans être dépendant des choix qui ont été faits par d'autres. Ça me plait plutôt bien de prendre un problème à la base et de le résoudre de bout en bout.

bulletQu'y a-t-il sur la carte mémoire ?

Ce n'est pas le fichier midi. Celui-ci reste chez son propriétaire, comme dans le cas d'un carton.
La carte contient une image du midifile qui est en quelque sorte une représentation électronique et compactée du carton. Mais l'utilisateur n'a que faire de ce format, puisqu'il ne manipule que le fichier midi et n'a jamais besoin d'avoir directement accès au contenu de la carte.

Pourquoi avoir fait comme ça ?
- Parce que cela simplifie considérablement les traitements lors de la lecture et notamment le synchronisme auquel je tiens particulièrement.
En gros, les opérations compliquées sont exécutées par le programme de gestion. Il mâche le travail, et la lecture devient triviale, à tel point qu'un microcontrôleur ne serait même pas nécessaire si on se limitait à la lecture seule.
- Les fichiers à stocker sont un peu plus légers, en générale, bien que ce ne soit pas toujours le cas.
- Et puis ça apporte -peut-être- un poil de sécurité (tout petit je l'admets) à un auteur de musique. Le fichier midi d'origine peut être très sophistiqué (multipiste, boucles, changements de tempo etc.), mais il ne se ballade pas dans la nature.

Je dis tout cela dans le cas d'un orgue de barbarie, car c'est bien l'unique fil conducteur de ce site. Je ne parle pas de piloter un piano ou un Orchestrion pour lesquels les commandes midi, ou pourquoi pas d'autre techniques plus récentes, sont vraisemblablement mieux adaptées.

bulletComment ça marche ?

La carte électronique sert à la fois de programmateur et de lecteur.

PPCaP_Schema.gif (42018 octets)  PPCaP_pcb.gif (124293 octets)

Schéma de la carte et son pcb 
(Images données à titre d'illustration. Chargez le package matériel pour obtenir les dernières versions)

Programmation : Les fichiers de musique originaux sont pris en charge par le logiciel de gestion, puis transférés sur la carte à mémoire via un câble connecté à un port USB d'un PC. Tous les formats midi sont acceptés, tels qu'ils sont. 
Dans l'autre sens, un fichier stocké sur carte peut être directement copié sur une autre carte, ou réenregistré au format midi* sur le PC hôte. 

* A ce propos il ne faut pas s'attendre à retrouver le fichier original avec sa découpe en pistes par exemple. Certaines informations inutiles pour la commande de l'orgue n'ont pas été retenues lors du premier transfert, et il est quasiment impossible de les retrouver par la seule analyse des notes. Néanmoins, à l'écoute le fichier reconstruit est en tous points identique à l'original. Il peut donc être retravaillé avec les outils habituels puis à nouveau transféré sur une carte, et ce autant de fois qu'on le veut.

En gros... C'est comme si ces fichiers résultaient du scan parfait d'un carton qui aurait lui-même été perforé parfaitement. Avec zéro erreur de lecture ou de positionnement. ;o)

Lecture : La mise sous tension est automatique. Il suffit d'introduire une carte dans le lecteur et de tourner la manivelle. Le système produira alors les commandes requises au rythme des impulsions fournies par le capteur de vitesse. Avec une fréquence de 240 impulsions par seconde, on retrouve le tempo du fichier midi original.

La prise en compte des variations de vitesse est instantanée. Il est parfaitement possible de "poser un accord" ou d'introduire des "respirations" comme le dit Pierre Charial. On peut accentuer la vitesse d'un passage, s'arrêter et reprendre quelques millisecondes plus tard par la seule action de la manivelle. Bref, ça marche comme un carton. Chacun est libre d'interpréter son morceau comme il le sent au moment où il le joue.

Fonctionnalités particulières (liste non exhaustive, voir le mode d'emploi):
1. Il est possible d'enregistrer 2 morceaux de musique sur la même carte, un peu comme faceA/faceB des anciens 45 tours. On peut regrouper deux morceaux du même auteur, du même genre musical, deux arrangements du même morceau etc.

2. Le système de lecture est doté d'un bouton (et d'un seul). Il permet :
   - De sélectionner le morceau à jouer.
   - D'avancer dans le morceau par "pages" équivalentes à 32 cm de carton.
   - De jouer au tempo fixe du fichier original.
   - Et d'autres fonctions plus rigolotes ou d'ordre utilitaire qui sont décrites dans le mode d'emploi.

3. Un test des répétitions des notes de l'orgue est intégré. Pas besoin de carton ni de fichier midi spécifique.

4. Standards d'instruments. Bien que le système soit en premier lieu destiné aux instruments de type 27 notes Erman et à son extension 29 notes, les composants utilisés permettent de gérer 32 notes. Dans ce cas, la définition des 3 notes supplémentaires est laissée au choix de l'utilisateur. Libre à chacun de créer son propre 32, ou d'utiliser ces commandes additionnelles à sa guise (registre, percussions, etc...).
Une petite extension permet désormais (02/2015) de prendre en charge jusqu'à 45 notes, et de manière native le 42 notes chromatique.

5. Energie. Un test est effectué toutes les 5 lectures, de manière à vérifier s'il reste assez d'énergie avant de commencer à jouer. On fait tirer 12 relais pendant 300 ms, on mesure, et si la tension est inférieure à un seuil programmable par l'utilisateur, le clignotement d'une led signale qu'il y a un risque de dysfonctionnement de certains relais.

6. Sécurité/échauffement. Quand on arrête de tourner au milieu d'un carton, il ne se passe pas grand chose, à part le beuglement provoqué par la réserve qui se vide. Ici ça beugle également, mais des relais peuvent rester activés. Si on les laisse comme ça, ils vont consommer de l'énergie pour rien et surtout chauffer. Dans le cas où l'on ne détecte plus d'activité sur la manivelle, les relais qui seraient encore activés sont relâchés au bout de 8 s. A toute nouvelle impulsion, on repart exactement où on était.

bulletComment on le construit ?

Je mets à disposition le layout (Eagle) des circuits imprimés double face avec trous métallisés, ainsi qu'un package logiciel, et un mini mode d'emploi pour se servir de tout cela. Le logiciel de gestion assure la programmation du microcontrôleur via le port USB. Pas besoin de quoi que ce soit d'autre.
Tout est gratuit, mais aucun code source ne sera fournit.

Téléchargement ici.

bulletA combien ça revient ?

Remarque : Les prix sont purement indicatifs et datent d'août 2014.

- Les logiciels, le schéma électrique et le dessin du circuit imprimé : C'est ici et c'est gratuit.
- Une carte arduino Duemilanove ou Uno : De 13 à 30 €. Par définition elles sont compatibles quelque soit le fournisseur (hardware open source).
- Circuit imprimé : 3 € max si on les fait fabriquer par 10 chez les chinois. Par exemple ici. Il m'arrive d'en commander... Me contacter.
- Les autres composants : 20 à 25 €. Voir Gotronic, Conrad, Selectronic, par exemple.
- Une carte à mémoire de 32 Ko coûte environ 3 €. Ici par exemple. La plupart des morceaux de musique tiennent en moins de 16 ko. On en trouve pour trois fois moins cher en Chine. Pour la commande, veiller à spécifier le type de puce qui l'équipe. Ex : 24C256 signifie 256 Kbits, soit 32 Koctets. Par exemple, la référence exacte de la puce Atmel est : AT24C256.
- Pour réaliser un système complet, penser également à la batterie et son chargeur, au coffret, à la peinture etc... 

- A titre indicatif, voici une nomenclature des composants à approvisionner établie au 01 04 2014 par Bernard Baudouin

bulletEst-ce que ça va évoluer ?

Oui, forcément. Comme tout ce qui contient du soft. Et puisque je maîtrise la totalité de la chaîne, je ne vais pas m'en priver ! ;o)

Alors si ça vous tente... Amusez-vous à le construire et à l'utiliser, tout autant que je me suis amusé à le mettre au point.

** Ce système, de même que sa dénomination (PPCaP), ainsi que le dispositif dénommé "carton électronique" ont fait l'objet d'un dépôt auprès de l'INPI.

Première application : un carton électronique