PPCaP
Suivante

 

Accueil
Remonter
Synchro radio
Percussions
ProCaP II
Galerie PPCaP

 

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 7816et 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 est nécessaire de reprogrammer les cartes arduino.
    Le contenu des cartes de musique reste inchangé et rien n'est à effectuer de ce côté.
2. Le duplet de soft : ProCaP/PPCaP est le même quelque soit l'application finale : orgue classique ou e.serinette.
3. 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.

ProCaP : C'est le logiciel de gestion qui vous permettra :
- De programmer la carte arduino et de la paramétrer selon votre matériel.
- De transférer sur les cartes à mémoire vos arrangements originaux au format midi.

Deux versions sont disponibles. La version 8.0 inclut toutes les spécificités de la version 7.0. En revanche elle ne fonctionne pas sous W98 et XP.

ProCaP II - Version 8.0.20 (février 2022) : Prise en charge des cartes 128 K ainsi que diverses corrections mineures (gestion de l'énergie).

bulletA télécharger ici avec une doc minimale.
bulletDocumentation complète des versions 8.0.xx

ProCaP II  - Version 8.0 (déc. 2021) : Introduction du jeu multi-instrument avec le mode Pmidi. Pour Windows 7, 8 et 10 uniquement. Voir la page spécifique ici.

bulletTélécharger avec un mémo des spécificités du Pmidi Install_ProCaP_II.zip

ProCaP - Version 7.0 (juillet 2020) : Version de base avec gestion éventuelle des percussions. Pour Windows 98, XP etc... jusqu'à W10.

bulletA télécharger ici.
bulletDocumentation complète ProCaP : Manuel_V70.pdf.

Côté matériel :
Les circuits imprimés 6.2 sont toujours d'actualité y-compris avec ProCaP II.

bulletTélécharger les schémas des cartes au format Eagle Circuits_v62
 
bulletHabituellement, je fais tirer une dizaine d'exemplaires de chaque nouveau circuit imprimé (contraintes de fabrication "économique" chinoise). Me contacter si vous êtes intéressés par ce qui me reste.

Utile : Exemple de nomenclature des composants à approvisionner pour réaliser une commande électronique en 29 notes (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 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 avec la manivelle 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 ?

- 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 7 à 30 € selon la provenance. 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 comme 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