Orchestre de lecteurs de disquette

De L'abscisse - FabLab et Hackerspace de Dijon
Révision datée du 30 octobre 2014 à 15:10 par Pilatomic (discussion | contributions) (Téléchargement:)
Aller à : navigation, rechercher
Dialog-warning.png Article en cours de rédaction Dialog-warning.png


Une capture d'écran du programe

Présentation

Le programme Floppy Conductor 2 développé par Pila, est un fork de Moppy. Il permet de faire jouer de la musique à un ou plusieurs lecteurs de disquettes. L'avantage de ce programme est qu'il utilise des fichier musicaux en format MIDI et offre une interface simple à utiliser. (sisi)

Je vais tenté d'expliquer ici, comment créer simplement votre orchestre de lecteurs disquettes.

Coût

0€ si vous avez déjà les lecteurs de disquettes

Niveau de difficulté

Vert.png


Prérequis:

Indispensable:

Un arduino

Logiciel IDE arduino

des lecteurs disquettes

une alimentation de pc modifié [[1]]

Option:

connecteurs deux fils femelle comme sur carte mère ... Ils permettent de connecter plus simplement les lecteurs. Si vous n'avez pas accès à un Fablab, il vous faudra démonter un grand nombre de PC tout seul ;)


Récupération de floppy-conductor:

le site git du projet: https://gitorious.org/floppy-orchestra

Vous pouvez utilisez git directement pour récupérer les sources. Cette démarche n'est pas expliqué ici. Nous nous contenterons de récupérer les sources en les téléchargeant.

Téléchargement:

https://gitorious.org/floppy-orchestra/floppy-conductor/

https://gitorious.org/floppy-orchestra/moppy-for-floppy-orchestra/

Compilation de floppy-conductor:

Nota: j'ai fait la compilation avec QT4 mais il devrais compiler sans problème avec QT5

installation des paquets de développement QT4

sudo apt-get install qt4-dev-tools libqt4-gui

- dans le répertoire des sources exécuter la commande "qmake-qt4 floppyconductor2.pro"

- ensuite un simple "make" devrait construire le binaire


-problème de compilation QT4: si le compilateur ne trouve pas QApplication

dans le fichier main.cpp changer

#include <QtWidgets/QApplication>
en #include <QApplication>

source: http://stackoverflow.com/questions/8995399/error-qapplication-no-such-file-or-directory

Branchements:

https://github.com/SammyIAm/Moppy/blob/moppy-advanced/README.md http://pinouts.ru/Storage/InternalDisk_pinout.shtml [photo]

6em pin en partant de la gauche en haut: jumper avec celui du bas 9em et 10em pin en partant de la gauche en haut: à connecter avec l'arduino 10 en premier 9 en suivant. N'importe quelle pin de la rangée du bas: à interconnecter avec la masse de l'arduino le premier lecteur devrait donc être branché en 2/3 sur l'arduino.

Limite du nombre de lecteurs

Le nombre maximum absolu de lecteurs contrôlables par Floppy Conductor est de 64, cette valeur étant fixée par le protocole de communication utilisé entre Floppy Conductor et l'Arduino.

Le nombre maximum de lecteurs contrôlables par un Arduino standard (Duemilanove, Uno, Nano, etc... ) est limité à 8 par le nombre de broches I/O disponibles.

Cependant, il y a une autre limite : le nombre de lecteurs maximum que vous pouvez brancher est fonction de la puissance de votre alimentation.

Un lecteur disquette utilisé avec Floppy Conductor consomme environ 500mA sur le rail 5V (déplacement de la tête de lecture, plateau de rotation à l'arrêt).

Dès lors, une alimentation peut fournir du courant à un nombre de lecteur égal au double du nombre d'ampères qu'elle peut délivrer sur le rail 5V.

Exemple : une alimentation capable de fournir 10A en 5V est théoriquement capable d'alimenter 20 lecteurs disquettes.

Il est toutefois conseiller de conserver une marge d'au moins 25%, surtout avec des alimentations bas de gamme. Ainsi, sur l'alimentation de l'exemple précedent, il est plus sage de se limiter à 15 lecteurs.

Ajout de la lib timer1

Le programe utilisé dans l'Arduino a besoin d'une bibliothèque supplémentaire nommé Timer1. Elle ajoute visiblement des fonction de gestion du temps supplémentaire au langage Arduino.

site web: http://playground.arduino.cc/Code/Timer1

Téléchargement: http://code.google.com/p/arduino-timerone/downloads/list

lien directe: http://code.google.com/p/arduino-timerone/downloads/detail?name=TimerOne-r11.zip&can=2&q=

Renommer le fichier en TimerOne.zip

dans l'IDE arduino -> Croquis -> Importer bibliothèque -> add library

sélection du fichier TimerOne.zip et ok (pas de message d'erreur)

Programme Arduino

dans l'EDI arduino charger le programme moppy_for_FloppyOrchestra.ino et le téléversé dans l'arduino.

Floppy conductor

-settings -> select COM port: choisir le port de l'arduino

-Un clic sur le bouton de connexion pour activer la communication avec l'Arduino

-la partie "Drive management" permet de définir de combien de lecteurs on dispose pour jouer

-Avec le bouton "éject" choisir un fichier Midi à jouer

-Dans la colonne "Drive" sélectionner quelle lecteur doit jouer la piste de partition.

Vous pouvez vous aider avec le nombre de notes pour repérer les pistes importantes.

Les numéros le lecteurs commencent à zéro.

-La partie "Transpose" permet d'ajuster les notes trop hautes ou trop basses.

L'auto transpose marche très bien dans 80% des cas, il faut régler la fréquence max jouable par les lecteurs dans le champ "Floppy drives cut-off frequency". Une valeur de 500Hz correspond à la majorité des cas.

-Il est possible d'activer / désactiver la lecture de certaines pistes en cliquant sur l’icône verte en forme de note de musique de la piste correspondante. Floppy Conductor arrête alors la lecture pour calculer le nombre de lecteurs requis. Décocher la case "Auto-update..." permet d'activer / désactiver des pistes sans arrêter la lecture, mais le calcul du nombre de lecteurs nécessaires ne se fait plus automatiquement

Lecture

Une fois Floppy conductor configuré et le fichier MIDI chargé il ne reste plus qu'à lancer la lecture ;)

Il faut parfois chercher un peut avant de trouver les bonnes pistes à jouer sur les bon lecteurs. Repérez bien qui joue le plus fort, qui joue le plus grave, et vous saurez rapidement comment affecter chaque lecteurs.

Astuce: numérotez vos lecteurs, surtout s'il ne sont pas physiquement dans l'ordre des entrées de l'Arduino.


Certaines pistes indiquent qu'elles ont besoin de plusieurs lecteurs. Dans la plupart des cas ce n'est pas obligatoire pour avoir un bon rendu quand même.

Sauvegarde des paramètres de la musique

Une fois la bonne configuration trouvée pour une musique, il est possible de la sauvegarder en cliquant sur le menu "File" puis "Save song related settings". Cela provoque la création d'un fichier .flop, dans le dossier songs_settings, nommé comme le fichier MIDI auquel il correspond, contenant tous les paramètre liés à cette musique. Lors de l'ouverture d'un fichier MIDI avec Floppy Conductor, celui-ci recherche un fichier .flop correspond, et l'utilise pour charger tous les paramètres liés à cette musique.

Auteurs

  • Yogi
  • Pila