Origines du projet
Curieusement, on trouve très peu de réalisations concernant l’animation sonore d’un réseau miniature au niveau du décor, du moins dans les revues spécialisées. On entend surtout parler de la sonorisation des locomotives. Pourtant certains sites comme Biscatrain ou le Train de Jules ont évoqué ce besoin et certains artisans comme Loco-DigiLab proposent même du matériel.
Mon système de commande du réseau n’étant pas basé sur une commande numérique du commerce il ne m’est guère possible de profiter des systèmes de sonorisation des locomotives. En effet, rappelons que notre système de commande des trains est une conception maison. C’est une solution numérique mais où toute l’électronique est externalisée, c’est-à-dire en dehors des motrices. Le système est basé sur le principe du cab-control qui ne date pas d’hier et qui a été rendu populaire par Loco-Revue dans les années 70 avec les publications de Pierre Chenevez. Dans ce contexte j’ai abandonné l’idée d’émettre des sons depuis les locomotives.
Si je place de petits modules sonores sous le réseau, il n’y a pas de raison à se limiter au bruit des trains. Pourquoi ne pas reproduire aussi les bruits de l’environnement ? Les moutons qui bêlent, les clarines des vaches et leur meuglements, les cloches de l’église, la cours de récréation de l’école, le vent dans les branches des arbres, sans oublier les annonces de gare, la liste est loin d’être limitative !
J’ai déjà réalisé un montage électronique sur plaque d’essai pour tester une commande de passage à niveau (Il n’y a pas encore d’article sur le sujet car ce n’est qu’une étude pour plus tard). Outre la fermeture et l’ouverture des barrières et le clignotement des feux rouges le micro-contrôleur produit aussi la sonnerie. Le son est celui d’une vraie sonnerie de passage à niveau mise au format WAV. Comme c’est un son répétitif, une simple boucle est mémorisée dans la mémoire du PIC et répétée autant qu’on le souhaite par le programme. Le résultat est spectaculaire ! La qualité est très bonne car on peut sortir le son sur des haut-parleurs de taille correcte. Fort de cette expérience encourageante, il n’y avait qu’un pas à franchir pour produire d’autres types de sons.
Du son pour plus de vie
Plusieurs idées conduisent la conception du système. Il ne faut pas que le son occupe trop de place dans la pièce. C’est pourquoi l’idée de sonoriser la salle dans sa globalité avec un ampli et des enceintes n’a jamais été envisagée. Pour les mêmes raisons, il ne faut pas non plus que tous les sons soient actifs en même temps ni trop forts. Mon idée est que le spectateur est dans la situation d’un randonneur sur un chemin à flanc de coteau qui admire la vallée et voit passer les trains. Les différents sons montent vers les hauteurs et viendront d’emplacement précis correspondant aux sources sonores. Leur intensité sera relativement faible pour évoquer un certain éloignement. Comme pour les éclairages de maisons, les sons seront déclenchés de manière aléatoire avec un réglage possible des fréquences moyenne de déclenchement.
J’ai été conduit à concevoir une carte électronique qui comporte 4 sorties sonores indépendantes de 325mW chacune ce qui est très suffisant. La carte comporte un seul PIC qui gère en parallèle les 4 sorties. Il peut sortir 4 sons différents mémorisés dans des circuits de mémoire de la carte. La carte peut recevoir un ou deux circuits de 8 Mo chacune. Les premiers essais on été réalisés avec un son numérisé à 44100 Hz sur 8 bits. C’est du luxe pour le type de son que l’on souhaite émettre. On n’a pas besoin d’échantillonner autant (Pour fixer les idées, les CD audio utilisent un échantillonnage à 44100 Hz sur 16 bits) Des essais en échantillonnant à 15625 Hz, donne une sensation sonore similaire avec les sons qui nous intéressent. Ce ne sont pas des œuvres orchestrales ! Avec ces données on utilise donc 15625 octets par seconde et l’on peut donc mémoriser sur 8 Mo une durée de 8 000 000/ 15625 ≈ 512 s ≈ 8 min 30 s de sons. Sur une carte comportant 2 circuits de 8 Mo on peut donc monter à 17 min de son. La carte permettra de gérer plusieurs sons du moment que la somme totale des durée n’excède pas 17 min. Sur une même carte vont coexister en mémoire tous les sons ou boucle de son qu’on souhaite jouer dans les environs de la carte. Cette dernière comporte un ampli audio par sortie, de sorte que l’on peut directement tirer deux fils de la carte jusqu’à chacun des 4 hauts parleurs. Le niveau sonore de chaque sortie peut être réglé indépendamment par des potentiomètres numériques.
Le programme de la carte
Au niveau bas, le programme va lire en mémoire les échantillons sonores un par un (octets) au rythme de 15625 par seconde. Cette valeur entre 0 et 255 sert à définir le niveau d’une PWM programmé à 4 fois cette fréquence sur un port de sortie du PIC. Les quatre sorties sont gérées à tour de rôle.
Au niveau haut, le programme va produire des événements pour chaque sortie, événements qui consistent à déclencher un son. Pour cela à chaque sortie sont associés des paramètres qui définissent la nature des son (le numéro du son, le nombre de répétition, son niveau sonore, la façon de le déclencher). Pour chaque sortie on aura la possibilité de jouer à la suite deux ou plusieurs sons différents, chacun étant éventuellement répété un certain nombre de fois. Ce choix a été suggéré par l’église du village. Elle va pouvoir jouer plusieurs sortes de sons : le son du timbre de l’horloge sonnant les coups, le son d’un carillon chaque quart d’heure et bien sûr le son des cloches. Lorsque l’horloge sonne l’heure elle doit d’abord jouer une fois le son du carillon puis sonner le nombre de coups en fonction de l’heure. Ce dernier point sera respecté car le réseau est connecté à l’internet en WIFI et récupère ainsi l’heure sur le WEB. L’église de Clérieux pourra se vanter de donner l’heure avec une précision inégalée ! Pour chaque sortie on aura compris que l’on aura des événements de type aléatoire ou au contraire contrôlé par l’heure. Les bruits de la nature seront en principe de type aléatoire. Les annonces de gare seront elles aussi pilotées par l’heure afin de correspondre avec le contenu de l’annonce. Ainsi l’annonce :
« Le train de 18 h 51 en provenance de Villard d’Avers va entrer en gare, veuillez vous éloigner de la bordure du quai » sera émise effectivement à la bonne heure !
Je vais devoir faire quelques séances d’enregistrement pour avoir des annonces pour toute la journée afin de ne pas être obligé d’attendre l’heure fatidique trop longtemps !
La carte comporte aussi quatre potentiomètres permettant de régler le niveau sonore de chaque sortie. On peut ainsi régler le niveau des différents sons les uns par rapport aux autres mais aussi émettre un même son à des niveaux différents selon certains critères. Ceci est facile car les potentiomètres de type numérique sont eux aussi commandés par le programme.
Pour avoir l’heure la carte est conçue pour être reliée au bus CAN du réseau. Outre l’heure, on pourra donc aussi lui envoyer des commandes. Par exemple il sera commode d’avoir une commande qui règle une valeur par défaut de chaque sorties. Une autre pour déclencher une sortie à la demande ce qui sera utile soit lors de visites d’amis soit pour tester le système. Enfin on peut envisager l’ajout de capteurs de présence qui par exemple déclenchent un son lorsque l’on s’approche d’un endroit. Le troupeau de moutons pourrait avoir un tel capteur et le son serait déclenché plus fort de cette façon que lorsque c’est le déclenchement aléatoire. Il est possible aussi de produire un son en fonction du mouvement des trains : annonce lors de l’entrée en gare, meuglement lorsque le train passe à côté des vaches…
La carte
Elle est réalisé sur un circuit imprimé de 50 mm x 100 mm ce qui autorise la gravure de 2 plaques d’un coup sur une surface de 100 x 100 avec un coût très avantageux de 10,57€ (HT) pour 10 plaques chez ElectroDragon. Cela fait le circuit imprimé d’une carte son à moins de 65 centimes (TTC) !
La carte comporte une partie numérique avec le PIC 18F26K80 qui possède une interface CAN et la possibilité de sortir 4 PWM. Trois entrée/sortie peuvent être configurées pour gérer un bus SPI qui assure la liaison avec les Serial Flash (mémoire de 64 Mbits référence SST26VF064B-104I/SM). Les potentiomètres numériques mcp4251-103e/p sont également commandés via un bus SPI.
Pour la partie analogique j’utilise l’amplificateur audio LM386N-1/NOPB de Texas Instruments en boîtier dip8. Le montage analogique figure en quatre exemplaires (un par sortie). Une carte me revient à moins de 15€. J’envisage de placer jusqu’à 16 cartes sous le réseau, le système d’identification sur le bus CAN utilisant 4 bits. Il serait cependant facile d’aller bien au delà si le besoin s’en fait sentir.
Évolution future
Dans l’immédiat je m’intéresse seulement à la sonorisation du décor. Mais dans le futur, puisque le système centralisé est capable d’accrocher une source à un train et de le suivre de canton en canton, pourquoi ne pas imaginer de faire la même chose au niveau du son. Des haut-parleurs seront placés le long des voies associés à chaque canton. Les émetteurs sonores seraient activé les uns à la suite des autres de sorte que le son avancerait en même temps que le train. Cela semble réalisable en utilisant la carte son actuellement développée, quitte à enrichir le programme du PIC pour prendre en charge cette fonction.
Bien sûr certaines fonctions proposées par les systèmes numériques du commerce ne pourront pas être reproduites. Je pense par exemple à la synchronisation du son avec le mouvement des bielles dans le cas d’une loco à vapeur. Par contre le son pourra bien sûr être choisi en fonction du type de locomotive. Il est également possible de faire varier l’intensité sonore et la fréquence en fonction de la vitesse du train. Il n’y a rien à ajouter dans les motrices de sorte que cela fonctionne aussi en N (ce qui intéresse mes amis Pierre et Jean-Luc). Enfin, et c’est le point fort du système la qualité sonore peut être supérieure étant donnée la place disponible pour utiliser des haut-parleurs de taille correcte.