Dj Charles Cros

De fablabo
Révision de 22 mars 2016 à 15:41 par LaurentM (discussion | contributions)

(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher


Cabine de Dj Charles Cros, inventeur du phonographe à rouleaux



Présentation

Résumé

Customisation de deux phonographes à rouleau et manivelle pour reproduire la cabine de Dj de Charles Cros, poête et inventeur du XIXème siècle dans le cadre du Cabinet de curiosité du corpus des langues de France

Voir sur le site de l'exposition.

Djcharlescros final.JPG


Djcharlescros final 2.JPG

Pitch

Le phonographe à rouleaux est l’un des premiers dispositifs permettant d’enregistrer des sons et de les diffuser.

Inventé simultanément, durant l’année 1877, par le poète et inventeur français Charles Cros (sous le nom de «Paléophone») et par le célèbre ingénieur américain Thomas Edison. Il aura permis aux linguistes du début du vingtième siècle de réaliser les premières campagnes d’enregistrement de corpus oraux. Il est également l’ancêtre des gramophones à disque rotatif sur plateau, platines tourne-disques, lecteurs de Compact Disc®, MiniDisc® et autres Blu-ray® et est ainsi à l’origine de l’industrie du disque.

182 ans après l’invention du phonographe à rouleaux, cette installation permet au public d’expérimenter une autre innovation avant gardiste mais méconnue de Charles Cros : le stratching ou turntablism.


Cette pratique musicale aujourd’hui désuète, qui reste pratiquée par quelques nostalgiques, ne se développa en réalité que dans les années 1970, soit près d’un siècle après les premiers essais de Charles Cros, dont les compositions très expérimentales pour l’époque n’auront jamais réussi à séduire le public.

Principe

On récupère deux phonographes à rouleaux dont le mécanisme fonctionne. On ajoute un capteur qui permet de détecter assez finement la position de la manivelle pour contrôler la lecture d'un sample.

C'est la vitesse de rotation du rouleau, entraîné mécaniquement par un moteur à ressort lui-même régulé par un régulateur de Watt, qui contrôle la vitesse de lecture du son.

Les sons sont lus sur un raspberry pi caché dans le modulateur, une boîte qui permets de mixer les sons provenant des deux phonographes.


Liste de courses

Deux phonographes à rouleaux

Livraison du deuxième phonographe :

Djcharlescros phono2 1.JPG Djcharlescros phono2 2.JPG


De l'électronique

  • un raspberry pi
  • un arduino micro
  • deux roues codeuses "haut de gamme"
  • trois potentiomètres
  • une paire d'enceinte usb

Des matériaux divers (pour le modulateur)

  • contreplaqué 5mm
  • contreplaqué 12mm
  • chutes de contreplaqué 3mm
  • pour le traitement du bois : brou de noix et cire à bois
  • une plaque d'inox
  • vis en laiton
  • tube souple en plastique transparent

Les techniques utilisées

  • impression 3d : tête de lecture, cône pour les enceintes
  • découpe laser :
    • bois : boîte du modulateur, support des encodeurs, décoration du modulateur
    • plexi : roue dentée (plexi)
  • fraiseuse numérique : couvercle du modulateur
  • perceuse à colonne, scie à onglet
  • outillage à main divers : scie sauteuse (avec de bonnes lames), défonceuse, ponceuse

Modification des phonographes

Réparation des phonographe / fabrication d'une courroie en cuir

Dans l'ensemble, les mécanismes des deux phonographes fonctionnent parfaitement. Il manque juste une courroie de transmission sur le premier reçu. Celle du deuxième est en cuir. J'ai donc acheté de la lanière de cuir de 5 mm de large sur le site [[1]]

Voici les étapes de la fabrication d'une courroie en cuir :


Ça tourne !

Djcharlescros courroie 5.jpg

Capteur de position et de vitesse du rouleau

Plusieurs solutions ont été envisagées dans un premier temps :

C'est finalement la troisième solution qui a été mis en oeuvre. ( Y aller directement.)

Test avec un potentiomètre

J'ai réalisé un premier test avec un simple potentiomètre avec une butée (on ne peut faire qu'un tour). Le montage arduino est celui du tutoriel 'potentiomète' sur le site d'Arduino. https://www.arduino.cc/en/Tutorial/Potentiometer

La position du potentiomètre est envoyé à supercollider qui la récupère grâce à l'objet 'SerialPort'. Le message reçu est envoyé dans un bus de donnée, qui est mappé à la variable "speed" d'un synthétiseur qui permet de changer la vitesse de lecture du buffer.

La précision de la mesure analogique de l'arduino est pas mal : 1024 "pas" par tours et le rendu sonore a l'air correct, mais la butée rend quand même le potentiomètre inutilisable pour scratcher.

À voir : retirer la butée (?) et détecter le passage d'un tour

Test avec la roue codeuse d'imprimante

Le deuxième essai a été réalisé avec une roue codeuse d'imprimante scanner lexmark. J'ai démonté l'ensemble de la machine pour ne garder que la structure en alu qui supporte le moteur, la roue codeuse et le rouleau d'entraînement de la feuille.

Le lecteur de la roue codeuse est composé de trois éléments : une led infrarouge (ou rouge), et deux photodiodes. La première étape consiste à repérer les 4 connexions :

  • le 5V qui va alimenter la diode et servir d'entrée aux deux photodiodes,
  • la masse qui est relié à l'autre pin de la led,
  • les deux sorties des photodiodes.

Le PCB qui supporte le composant est relié à la carte de contrôle par un connecteur et une petite nappe. J'en ai découpé une la bonne largeur dans une nappe plus large, puis gratté la couche de plastique pour faire apparaître la couche métallique avant de séparer les quatre pistes. Ça permet de tout connecter à l'aide de pinces crocodiles.

On câble le 5v et la masse aux pins correspondant de l'arduino, et les deux autres à deux pins numériques qui supportent la fonction "interrupt" d'arduino : le deux et le trois sur l'arduino UNO et l'arduino micro.

Le code arduino pour envoyer du serial en fonction du signal reçu par l'encodeur, et le petit script supercollider qui lit le message serie et qui scratch  : File:djcharlescros_oalv_code.zip

Le tambour permet maintenant de scratcher avec supercollider via arduino.

Djcharlescros oavl8 tambour.JPG

Encodeur rotatif

Pour des raisons pratiques, le choix à a finalement été fait d'investir dans deux roues codeuses industrielles prévues pour la robotique. vers le site commercial

Au niveau électroniques, ils se câblent exactement comme les roues codeuses d'imprimantes, avec 4 fils : deux signaux, une alimentation 5v, une masse. L'avantage c'est que cette fois ci on sait directement quel fil sert à quoi. C'est même marqué sur l'encodeur. Et au niveau du code Arduino c'est également la même chose.

Installation des encodeurs

Les encodeurs sont placés à l'intérieur de la boîte de chaque phonographe et sont reliés à l'arbre du support du rouleau par une courroie.

C'est assez délicat car l'espacement entre l'arbre du rouleau et le ressort est assez étroit. Il faut donc une poulie/roue dentée la plus petite possible.

J'ai donc commencé par réaliser un schéma sur inkscape pour voir par où la courroie pouvait passer. (voir le fichier File:djcharlescros_plan.svg)

Djcharlescros plan courroie.png


Ce plan m'a aussi permis de dessiner le support de la roue codeuse, réalisé en trois pièces de contreplaqué de 5mm. J'ai mis un certain temps avant de comprendre que la meilleure place pour fixer l'encodeur était le dessous du couvercle.

La principale contrainte pour la conception du support était que l'encodeur devait pouvoir être placé au plus près du bord de la boîte et du couvercle. Il fallait aussi pouvoir faire faire plusieurs réglages dans tout le plan de la courroie (avant/arrière, haut/bas), car il était peu probable que j'arrive à faire une courroie de la taille exacte. (voir le fichier source ici)

Djcharlescros support 2.png

Transmission

J'ai d'abord cherché à récupérer une courroie crantée d'imprimante et fait des roues dentées en plexiglas à la découpe laser pour trouver le bon nombre de dents. Mais je n'ai pas trouvé de moyen propre pour la refermer sans créer un point dur et je me suis donc reporté sur une courroie en cuir. J'ai donc utilisé la même technique que pour celle qui sert à transmettre le mouvement du ressort au support du rouleaux (voir plus haut).

J'ai quand même gardé les roues dentés réalisées en plexi à la découpe laser.

Il y a deux épaisseur de plexi collées à la colle acrylique. Sur la partie non dentée, un trou est réalisé pour mettre une vis afin de serrer la roue sur l'arbre. Le filetage se fait tout seul au premier vissage.

Djcharlescros pingnonplexi.JPG

Le modulateur

J'ai appelé "modulateur" la boîte centrale situé entre les deux phonographes qui permets de mixer le son à l'aide du "modulateur de fondu croisé" (aka crossfader). Cette boîte contient également toute l'électronique ainsi que des enceintes.

La boite du modulateur

Les bords et le traitement du bois

Le modulateur de fondu croisé sert à définir si on entend le phonographe de gauche ou celui de droite ou les deux. Il y a aussi des leviers pour régler le volume de chacun des phonographe.

Il sert aussi à cacher l'électronique (rasberrypi, arduino) ainsi que les enceintes dont le son est reporté jusqu'aux pavillons des phonographes par l'intermédiaire d'un tube souple en plastique transparent.

Il s'agit donc de réaliser une boîte qui ressemble le plus possible à celles des phonographes.

La boîte est réalisée à la découpe laser dans du contreplaqué de 5mm. Afin que les joints en créneaux/doigts ressemble à ceux des boîtes des phonographes, je double l'épaisseur au niveau de angles pour attendre une épaisseur de 10mm.

Les sources sont ici Djcharlescros modulateur bords export 2.png

On aurait pu essayer de se rapprocher de la teinte un peu rouge (acajou?) des phonographes mais c'est bien aussi au brou de noix.

Le couvercle

Le couvercle est usiné dans du contreplaqué d'épicéa de 12 mm avec SentierBattu. Il y a juste trois fentes à faire pour faire passer les leviers des potentiomètres. Et le bords et un creusé sur une largeur de 10mm.

Djcharlescros modulateur dessus export 2.png

J'ai utilisé fabmodule version html5 pour créer le gcode, en rebidouillant à la main parce que les vitesses restaient toujours très très lentes. TODO : paramètres de coupe

Le dessus du couvercle est partiellement recouvert d'une plaque en inox. Il s'agit encore une fois de reproduire l'esthétique des boîtes de phonographe.

L'usinage des fentes est amorcé à la perceuse à colonnes par des trous aux extrémités, puis finis à la scie sauteuse.

Djcharlescros modulateur plaque 1.JPG Djcharlescros modulateur plaque 2.JPG

Comme les bords étaient loins d'être parfaits, j'ai fait des petites plaques à la découpe laser dans des chutes de CP 3mm. Les voici après être passé au brou de noix.

Djcharlescros modulateur plaque 3.JPG

La plaques en inox et les petits éléments en CP 3mm sont fixés à l'aide de belles vis en laiton à tête ronde et fendue.

La corniche

Pour faire la base du support, j'ai cherché des baguettes de bois profilées comme les autres boîtes mais je n'en ai pas trouvé. Alors j'ai essayé de le faire moi même dans du tasseaux carré avec la défonceuse.

J'ai obtenu un profil plutôt joli en trois passes avec différentes fraises. Mais après il a fallu enlever une grande partie de la partie non usiné de l'autre côté du profil et là c'était la galère. À faire avec des vraies machines à bois (banc de scie, banc de toupie), ou des fraises de meilleure qualité je ne sais pas.

Haut parleurs

Installation dans le modulateur

Des enceintes usb sont cachées dans la boîte du modulateurs. Les hauts-parleurs sont reliés à des tuyaux en plastiques via un cône pour envoyer le son directement dans les pavillons, via de fausses têtes de lecture. Elles sont à l'intérieur d'une autre boîte en bois en contreplaqué 12mm afin que le son ne s'échappe pas et qu'on entende pas le son venir du modulateur.

Les tests ont montrés que des cônes permettant d'adapter progressivement le diamètre du haut-parleur au tuyau sont indispensable pour que le son soit bien transmis. Ils ont été modélisé sous blender puis imprimé en 3d.

Il était envisagé de faire aussi un casque en petits pavillons reliés avec des tubes en plastiques mais ça sera pour la prochaine fois.

Tête de lecture

Le son est transmis aux pavillons des phonographe par une tube en plastique via une fausse tête de lecture qui ressemble à une de celle que j'ai reçu avec un phonographe mais qui ne contient qu'un coude.

Djcharlescros tete de lecture.png

Le défi pour l'imprimer était d'avoir un peu d'échafaudage en dessous pour tenir l'extérieur des tuyaux sans qu'il y en ait à l'intérieur. J'ai donc utilisé cura pour faire le gcode. J'ai du m'y reprendre à plusieurs fois afin que les diamètres s'adaptent bien au tuyau et au pavillon. J'ai du aussi augmenter l'épaisseur de la surface supérieure de la pièce afin qu'on ne voit pas trop la grille du remplissage.

Voici :

Je voulais une finition matte qui laisse voir le moins possible la technique d'impression. J'ai donc passé deux couche de bombe de peinture noire matte.

Voici ce que ça donne une fois en place :

Djcharlescros tete de lecture installee.JPG

Potentiomètres et leviers

Fabrication des leviers

Afin de cacher les potentiomètres (et aussi de donner un look steampunk) des leviers en métal à tête de bois sont fabriquées. Ils doivent passer à travers les fentes du couvercle pour actionner les potentiomètres fixés en dessous.

J'utilise un cylindre en bois de hêtre de 14mm de diamètre et une bande d'acier de 10mm de large et 2mm d'épaisseur.


Une fois en place, je me rends compte que à flotte un peu. Aussi et surtout, le poids des leviers suffit à les faire tomber. J'ajoute un frein composé d'un bout de tissu doux sur un cube de bois. Le perçage pour le fixer est un peu oblong afin de permettre de régler le serrage.

Djcharlescros potentiometre levier 10.jpg


Câblage des potentiomètres

On commence par souder les potentiomètres à des petites plaques de PCB à trou.

Électronique

Câblage de l'arduino

J'ai 5 composants à câbler :

  • les 2 encodeurs à 4 fils : 5V, masse et deux signaux à brancher sur des entrées digitale dont une qui supporte la fonction "interrupt()" d'arduino (les pin D2 et D3 sur l'arduino micro) soit :
    • 5V, masse, D2 et D4 pour le premier encodeur
    • 5V, masse, D3 et D5 pour le deuxième
  • les 3 potentiomètres à 3 fils : 5V, masse et signal analogique (A1, A2 et A3)

Voici le schéma de câblage de l'arduino :

Djcharlescros fritzing schema.png

J'utilise une plaque de prototypage en pcb pastillé pour réaliser toute les connexions. J'ai choisi un arduino micro parce qu'on peu l'enficher directement dans un support pour PCB. La plaque sert à relier les pins de l'arduino à quatre connecteurs :

  • deux de 5 broches pour les encodeurs (dont on en utilise que 4),
  • un de deux broches pour le 5v et la masse des potentiomètres,
  • un de trois broches pour les signaux de chacun des potentiomètres.

Voici comment j'ai organisé la plaque de prototypage :

Djcharlescros pcb.png

Et ce que ça donne dans la vie réelle :

Djcharlescros circuit 2.jpg Djcharlescros circuit 3.jpg


Djcharlescros circuit 4.jpg

Programmation arduino

Partie logicielle

Raspberry pi

L'arduino micro semble difficilement reconnue par wheezy -> Installation de Raspian Jesse

Problèmes et solution :

  • modification de /etc/default/keyboard pour prendre en compte le clavier français
  • scide, l'ide de supercollider , semble buggé -> Utillisation de supercollider-emacs
  • avec la carte son d'origine, jack est fortement bruité -> achat d'une carte son pas chère, finalement remplacée par des enceintes usb

Installation de supercollider et emacs, utilisation avec jack

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install supercollider-emacs
# sudo apt-get install screen # en bonux

Réglage du volume des enceintes avec alsamixer (F6 pour choisir la carte son)

Chantier

Roue

File:roue_2.svg

File:djcharlescros_pignon_test.svg

File:djcharlescros_pignon_2.svg


Support roue codeuse =

File:djcharlescros_support.svg

File:djcharlescros_support_export.svg


Tête de lecture

File:tete_de_lecture.stl

File:tete_de_lecture.fcstd.zip

File:tete_de_lecture_2.stl

File:tete_de_lecture_3.stl

File:tete_de_lecture_4.stl


Modulateur

File:djcharlescros_dessus_2_5mm.svg

Boite son

File:djcharlescros_boite_son_12mm.svg

File:djcharlescros_boite_son_12mm_exp.gcode

File:boite_son.gcode

File:djcharlescros_modulateur_dessus_creux.gcode

File:djcharlescros_modulateur_dessus_export.gcode