English Version
French Version
MIDIbox SID V1: marche à suivre
NOTE: This is a walkthrough for an expired design. The MIDIbox SID V2 Walkthrough is located here.
Cette page résume les étapes requises pour construire avec succés une MIDIbox SID.
J'ai fait en sorte de recenser ici la plupart des obstacles
rencontrés par tous ceux qui se sont lancés dans la
construction sans être familiers des projets MIDIbox.
Si quelques précisions ou conseils pouvaient
être ajoutés, n'hésitez pas à m'en faire
part, le but étant de réunir sur une même page les
information dispérsées entre le Site, le MIDIbox Wiki et le Forum.
Préparer la construction
-
- Si
il s'agit de votre première MIDIbox, il est plus prudent de
commencer par la configuration MIDIbox SID minimale, simplement
constituée d'un module CORE et d'un module SID.
Vous pourrez toujours faire évoluer votre MIDIbox plus tard en y
ajoutant une Surface de Conrôle (CS) et plusieurs SIDs esclaves,
sans rien jeter de cette première configuration!
- Vous
pouvez prévoir d'investir dans un écran LCD 2x20, cela
s'avèrera trés utile en phase de débuggage (si
nécessaire).
- Bien que votre MIDIbox SID puisse fonctionner sans BankStick,
il est préférable de s'en procurer au moins un, dans le
cas contraire, vous ne pourrez sauvegarder qu'un seul patch à la
fois.
- La Surface de Contrôle Step A
ne revient finalement pas trés chère, elle requiert
simplement un 74HC165, 8 résistances 10k, 6 boutons et un
encodeur rotatif. Elle vous permettra d'éditer tous les
paramètres sonores sans avoir besoin d'un ordinateur.
- La page MIDIbox SID
recense les différentes options matérielles. Vous y
trouverez également des liens vers les layouts des PCBs et les
listes de composants, ainsi qu'une estimation des coûts. Le plus
simple reste de commander les PCBs et les composants sous forme de
"kits" sur les sites http://mbhp.coinoptech.com ou www.mikes-elektronikseite.de
- Si vous prévoyez de commander séparément les pièces, consultez la page WhereToOrder , vous y trouverez des liens vers des fournisseurs permettant des commandes en ligne.
- Il
est parfois intéressant sur le long terme de commander les
pièces en plus grosse quantité que celle requise pour les
circuits. Par exemple, commander deux fois 20 résistances de
10k peut coûter plus cher que de commander directement un
pack de 100 pièces.
- Voici des composants fréquement utilisés pour la MIDIbox Hardware Platform:
- Résistances: 220 Ohm, 1k Ohm, 10k Ohm (toutes en 1/4 Watt)
- Condensateurs: 100 nF, 10 uF
- 74HC595 ("shift register DOUT") and 74HC165 ("shift register DIN")
- "BankSticks" (EEPROMs 24LC256)
- support pour CI 16pin
- connecteurs SIL 1-row et DIL 2-row
- nappe
- platine d'éssai/platine prototype/stripeboards pour le montage des composants (boutons, LEDs, etc..)
- En
plus des modules SID et CORE, vourez aussi besoin d'une alimentation
(PSU/Power-Supply-Unit). Dans la mesure ou les deux types de SID
nécessite chacun un voltage différent (6581: 12V, 8580:
9V), il est difficile de trouver une alimentation qui convienne au deux.
Exemple:
si vous choisissez une PSU avec du 15V pour le module SID et pour le
module CORE , le régulateur 78L12 ne consommera qu'une
différence de 3V coté SID, mais le régulateur 7805
du module CORE devrait consommer 15V-5V = 10V! au résultat, le
7805 va extrèmement chauffer, et encore plus si le module CORE
draîne un courant important (par exemple si un LCD
rétro-éclairé y est connecté). Du
coup, je vous recommande si possible d'utiliser l'alimentation
d'origine des C64, (que vous possédez probablement si vous avez
récupéré votre SID sur un vieux C64), car elles
délivre les voltages appropriés. J'ai pu également
remarquer que cette PSU donne de trés bon résultat en
terme de rapport signal/bruit pour les sorties audio du SID. Voici un lien vers le schéma de connections: mbhp_4xsid_c64_psu_optimized.pdf
(ne soyez pas embrouillé par la configuration 4 CORE/SID, ce
circuit fonctionne tout pareil pour une config avec un CORE / un SID)
- Boitier: vous pouvez pour commencer assembler
votre MIDIbox dans une boîte en carton (une boite de chaussure ou
le carton de vos pizzas ;-), et voir plus tard pour trouver un plus
joli boitier - récupérez celui d'un appareils hors
d'usage ou achetez en un neuf. Ceci dépends vraiment de vos
goûts personnels, je ne saurais mieux vous conseiller.
- Outillage
nécessaire: Fer à souder (min. 15W, pas plus de 30W), une
panne fine pour composants électronique, de la soudure,
tournevis, cutter (pour couper les câbles), une pince à
nez plat, un multi-mètre pour vérifier les tensions (un
modèle de base et pas cher suffira!)
- Autres outils utiles: pompes à déssouder, perceuse
- Comment souder: chercher dans google "réaliser une soudure" - exemple (en anglais): www.kpsec.freeuk.com/solder.htm
Mise en place du module CORE
-
- la page MBHP_CORE contient un guide pour la soudure des composants et la construction du module.
- Terminez
et testez le module CORE avant de continuer avec le module SID - cela
simplifiera le débuggage en cas de problème!
- Une fois assemblé, vous devez vérifier les tensions AVANT de d'installer les CI dans leurs support (voir la page MBHP_CORE)
- Si
vous avez acheté un PIC pré-programmé avec
le MIOS Bootstrap loader, vous pouvez passer à la suite,
dans le cas contraire vous devez d'abord charger le Loader dans le PIC
- référez-vous à cette page.
- Connectez les prises MIDI In et Out à votre ordinateur, ouvrez un moniteur MIDI tel que MIDI-Ox et vérifiez que le CORE envoie bien la "requète d'upload"
-
Vous devez maintenant uploader le MIOS (le système d'exploitation). je vous recommande pour ce faire MIOS Studio, car son utilisation est plus simple que pour d'autre éditeurs SysEx.
- Le MIOS ainsi que toutes les applications MIOS sont disponible sur la page MIOS Download.
- Si vous ne parvenez pas à uploader le MIOS, suivez les instructions données sur la page MIDI troubleshooting guide
avant de demander de l'aide sur le forum. Les plus fréquentes
causes d'échecs: court-circuits sur le module CORE, mauvaises
connections des embases MIDI In/Out, inversions des pins sur les
embases MIDI , dysfonctionnement de votre interface MIDI ou bugg
des pilotes MIDI.
- Notez que l'écran LCD (si vous
en avez connecté un) n'affichera aucun text tant que le MIOS
n'aura pas été uploadé. L'écran LCD doit
afficher des barres noires sur la ligne supérieure tant qu'il
n'a pas été initialisé. Si vous ne voyez rien,
vérifiez plus particulièrement le potentiomètre de
contraste ainsi qu'une fois de plus vos connections. Plus
d'informations sur la page MIDIbox Wiki - HowToConnectLCD.
- Vérifiez
si le MIOS a été corectement uploadé: le LCD
affichera un message de copyright aprés la mise sous tension,
vous devriez ensuite voir s'afficher "READY." sur la ligne
supérieure.
- Si aucun écran n'est
connecté, vous pouvez uploader l'utilitaire crc. Il enverra un
"checksum" via MIDI, que vous pourrez voir à l'aide d'un
moniteur MIDI.
NOTE: si votre interface MIDI
n'est pas "multi-client", vous devez fermer MIOS-Studio avant de lancer
votre moniteur MIDI. Ou vous pouvez plus simplement utiliser le
moniteur MIDI intégré à MIOS Studio (pour plus de
détails, voir: MIOS Studio
- Une
fois que toutes ces vérifications ont été
passées avec succés, vous pouvez passer au module SID.
Tests du module SID
-
- La page MBHP_SID contient un guide pour la soudure des composants et la construction du module.
- N'installer
pas le SID et les deux 74HC595 dans leurs supports avant d'effectuer
les vérifications préliminaires des tensions. Connectez
le SID au module CORE comme expliqué dans ces schémas: mbhp_sid_c64_psu.pdf, mbhp_4xsid_c64_psu.pdf, mbhp_4xsid_c64_psu_optimized.pdf.
Tous font référence aux alimentations des C64, mais elle
vous renseigneront aussi si vous utilisez d'autres types
d'alimentations.
- Notez que les interconnections avec CORE::J10 et CORE::J2 NE SONT PAS 1:1 . Le pin J2:SC du module SID NE DOIT PAS
être connecté au pin J10:SC du core, mais bien au pin
J10:MD du core. Ceci est clairement montré dans le diagramme
d'interconnection.
- Utilisez toujours la dernière version de l'application midibox_sid disponible à la page download .
Des versions plus anciennes pourraient être incompatibles avec
votre matériel. Les versions les plus récentes sont
souvent à l'état de "beta, et sont mises avant tout
à la disposition des utilisateurs expérimentés qui
ont consulté avec attention les sujets correspondants sur le
forum.
- Vous pouvez maintenant charger l'application
MIDIbox SID. Vous trouverez dans l'archive plusieurs fichiers .hex (et
.syx). Si vous utilisez MIOS Studio, seuls les fichiers .hex files vous
seront utiles. Les fichiers .syx sont convertis en fichiers .hex files
pour des uploads directs avec d'autres utilitaires SysEx.
- Cherchez le fichier the .hex qui correspond à vos besoin: main.hex
correspond au setup de ma propre MIDIbox SID avec la surface de
contrôle Step C et des SIDs 8580. Vous trouverez
différents setup pour les SIDs 8580 et 6581 SIDs, pour les
modules maîtres et esclaves.
- Si vous avez un doute, utilisez le fichier main.hex
pour vos premiers test. Cela n'a pas vraiment d'importance que la
Surface de Contrôle (CS) soit activée ou non, la
principale différence réside dans le comportement au
niveau des évènements MIDI entrants et sortants (par ex.
la version CS va envoyé trois dumps SysEx aux modules esclaves
aprés le démarrage).
- Jouez
une note sur le canal MIDI #1, vous pouvez aussi bien le faire à
l'aide d'un clavier MIDI, du clavier virtuel de MIOS Studio/MIDI-Ox, ou
d'un séquencer. Vous devriez entendre un son basique de type
"pulse". C'est le son pré-réglé, sauvegardé
dans l'EEPROM du PIC.
- Vous pouvez aussi uploader l'application sid_testtone, disponible sur la page MIOS download
. Cette application joue uniquement un son à 1kHz "triangle"
dés que le MIOS a démarré (pas besoin de
séquenceur ou de clavier MIDI pour jouer la note).
- Si
vous n'entendez aucun son, il est possible qu'il y ait un
problème de connection entre les modules SID et CORE, ou un
court-circuit/problème de soudure sur le module SID.
L'application mbsid_interconnection_test disponible sur la page MIOS download
vous permettra de vérifier si le module CORE pilote correctement
les pins du module SID. Vous trouverez dans le fichier main.asm de
cette application la marche à suivre. Si l'un des pins du SID ne
peut pas être piloté, vous saurez que le problème
est lié à votre matériel.
- Une fois
le test des interconnections réussi, il reste quelques
détails à connaître, qui ne sont pas
forcément anodins:
- Les
sorties audio du SID n'ont pas un niveau aussi élevé que
mes autres synthés, vous devez l'amplifier si nécessaire.
Ou ajoutez simplement un compresseur (hardware ou software) - cela vous
permettra d'obtenir des sons plus puissants!
- Vous entendez un
buzz (fort ou non) à 50Hz ou 60Hz en fond: cela peut être
soit un problème de cablage (boucle de masse) ou un
problèmle avec votre alimentation. Le schéma mbhp_4xsid_c64_psu_optimized.pdf
inclut quelques conseils afin d'éliminer ce buzz
(prédérez l'utilisation d'une alimentation de C64 PSU,
utilisez du câble blindé, vous pouvez également
enrouler vos câbles les uns autour des autres par paires, afin
d'améliorer leur isolation, et tâcher d'éloigner
vos câbles audio de ceux de l'alim!)
- Vous
entendez un bruit parasite à une haute fréquence en fond:
c'est propre aux chips SID. Les 6581 sont plus particulièrement
affectés par ce problème.
- Aprés
qu'un son ait été joué, vous l'entendrez parfois
continuer à jouer en fond: c'est également un
défaut propre au VCA du chip SID.
- La résonnance du filtre n'a presque pas d'effet: c'est propre au SID, consultez l'Interview with Bob Yannes
- Les
patches preset qui utilise le filtre sonne de manière bizarre:
les caractéristiques du filtre des 6581 sont différentes
de celles du 8580, du coup, vous trouverez deux librairies de presets
dans l'archive. Il est aussi trés
important que votre CORE soit uploadé avec la bonne
configuration pour le filtre - il y a deux fichiers .hex/.syx
pré-compilés dans l'archive, l'un pour le 6581, l'autre
pour le 8580, le réglage par défaut du fichier main.hex
correspond au filtre du 8580.
- Customisation
de l'application: ceci peut être fait en éditant votre
configuration dans le fichier main.asm
(ou dans le fichier setup_*.asm que vous avez choisi en fonction de vos
besoin). Si vous effectuez des changements, vous devez recompiler
l'application en suivant la procédure décrite ici.
- liser toutes les infos données en en-tête du fichier main.asm de l'application MIDIbox SID!
- DEFAULT_DEVICE_ID et AUTO_DEVICE_ID: ne touchez pas à ces réglages, ils sont parfaits.
- CBM8580_FILTER_FIX: doit être sur 1 si vous utilisez un SID 8580.
- CBM8580_FILTER_SWITCH*:
fonction optionnelle pour basculer entre les algorythme de
contrôle des filtres 6581 et 8580 à l'aide d'un switch ou
d'un jumper sur les pins IO correspondants. Ce réglages est
utile seulement lorsque deux modules SID (un avec un 6581,
l'autre avec un
8580) sont connectés sur le même CORE. Cette option a
été réclamée par un utilisateur pour
répondre aux besoins spécifiques à sa
configuration matérielle MIDIbox SID, dans les autres cas, vous
pouvez ignorer cette fonction!
- CS_ENABLED et AUTO_CS_ENABLED: active/désactive la surface de contrôle.
- CS_MENU_DISPLAYED_ITEMS: définie la taille de l'écran et le nombre de boutons "menu select" .
- CS_MENU_USE_INCDEC_BUTTONS:
optionnellement l'encodeur pour la datawheel de la surface de
contrôle Step A peut être remplacé par deux boutons
pour incrémenter/décrémenter les valeurs.
- CS_MENU_USE_DETENTED_ENCODER
et CS_MENU_ENC_SPEED_VALUE : réglages spécifiques aux
encodeurs rotatifs qui dépendent du type d'encodeurs que vous
utilisez. Notez que en plus le type (avec détente ou sans
détente) doit être spécifié dans le fichier
mios_tables.inc.
- CS_MENU_DEFAULT_LINK: doit être sur 1 pour un setup avec un couple Master-Slave sans surface de contrôle.
- ENABLE_AOUT: active l'extension sorties CV . 1 pour le module MBHP_AOUT , 2 pour le module MBHP_AOUT_LC .
- ENABLE_AIN_LFO_WAVEFORM:
permet d'utiliser les 6 entrées analogiques du port J5 du module
CORE COMME 6ème forme d'onde pour les LFOs - par ce biais,
des mouvements de potars ou de joystick peuvent être
routés via la matrice de modulation vers le Pitch, la Pulsewidth
et le Filtre.
- les autres options répondent
à des demandes spécifiques d'utilisateurs - si vous ne
comporenez pas la raison de leur présence, contentez-vous de les
laisser en l'état!
- Patches Preset: ils sont disponibles dans une archive .zip sur la page MIDIbox SID V1 et requiert ,pour êtres chargés au moins un BankStick. Vous pouvez utiliser l'éditeur JSynthLib ou le TL's Patch Manager.
- Edition des Patches sonores: plusieurs possibilités:
- En
utilisant un contrôleur MIDI ou votre séquenceur
hôte - les numéros de CC sont listés dans le
fichier sid_cc_implementation_chart.txt
- Il
existe aussi un VSTi qui vous permet d'éditer la plupart (mais
pas tous) des paramètres CC depuis un séquenceur
hôte: www.saschazone.de
- L'éditeur basé sur JSynthLib, qui vous donne accés à tous les paramètres, et qui vous permet de sauvegarder vos Patches.
- Ou simplement d'utiliser la Surface de contrôle Step A/B/C
- Important:
lorsqu'un nouveau BankStick est connecté, une procédure
de formatage est lancée, elle dure environ une minute. Vous
verrez s'afficher sur l'écran un message spécifique, et
le SID produira quelques bips à chaque slot de Patche
formaté
- mais pour les utilisateurs ne disposant pas d'écran LCD, cela
peut prêter à confusion dans la mesure où les
fonctionnalités MIDI sont désactivées le temps de
cette opération! Il est donc préférable de ne
connecter le Bankstick qu'une fois ces premiers tests terminés.
Construire une surface de contrôle Step A
-
- Bien qu'il soit possible, comme indiqué sur la page Step A
, de choisir entre plusieurs taille de LCD et différentes
configuration boutons/encodeurs, je vous recommande fortement
d'utiliser un écran LCD 2x20 , 6
boutons "menu" et un encodeur rotatif. la gestion des menus a
été optimisée pour cette configuration, les autres
solutions vous obligeraient à ces compromis:
- boutons
INC/DEC buttons: peu pratique à l'usage, les variations
progressives de paramètres deviennent trés difficile
à réaliser.
- LCD 2x16: seules 4 entrées du menu sont affichées, alors que parfois 5
seraient préférables, par ex.
pour la section ENV. Dans un tel cas, vous serez obligé de "scroller"
le menu afin d'atteindre le 5ième paramètre qui appartient au même
groupe.
-
2x40
LCD: meilleur affichage pour l'édition, dans la plupart des page
vous n'aurez pas besoin de "scroller", mais sur la page principale
(où le patch est affiché) seule la partie gauche est
utilisée, mais ce n'est pas inesthétique.
- Wisefire a lancé un bon Blog sur le sujet. J'ajouterais des commentaires sur cette partie si nécessaire.
Mise en place de la configuration Master-Slave (Step B)
-
- Les détails de cette étape (par ex. l'installation d'un SIDs esclave)sont recensés ici
Mise en place de la Surface de Contrôle Step C
-
- Tous les schémas, diagrammes, et projet de façade sont réunis ici
- Préparez toutes vos platines pour les boutons/encodeurs/LEDs et prenez-en des mesures avant
de vous lancer dans la réalisation ou la commande de la
façade! Assemblez-les dans un carton d'abord et assurez-vous
d'abord de l'ergonomie de votre design, ceci est plus
particulièrement requis si vous comptez ré-arranger vos
composants pour créer une MIDIbox originale, Testez tout avant
de passer commande!
- Ergonomie/navigation: lorsque vous
tournez un encodeur, ou lorsque vous appuyez sur un bouton, l'affichage
du LCD bascule sur la page apropriée, vous voyez ainsi la valeur
modifiée sur l'écran. Les encodeurs des sections OSC et
ENV sont arrangé dans le même ordre que sur l'écran
(5 entrées menu -> 5 encoders). Un autre exemple: en pressant
le bouton OSC Ctrl l'affichage bascule vers la page correspondant aux 5
paramètres "Misc". C'est à dire qu'en agissant sur les
boutons et les encodeurs, l'affichage s'actualise et reste ainsi
toujours en relation avec vos actions sur la Surface de contrôle.
- Les
groupes "assign" dans les sections OSC et
ENV peuvent être customisés via le fichier
cs_menu_enc_table.inc - vous pouvez assigner d'autres
paramètres, vous pouvez les utiliser pour envoyer des messages
de contrôle MIDI (absolus or relatifs) vers d'autres
synthétiseurs, ou vous pouvez les utiliser pour contrôler directement les paramètres affichés
(particulièrement utile pour la pager WT sequencer!) - par
défaut, le groupe Assign de la section OSC envoies les
CC#16..CC#20 sur le canal MIDI 16, et le groupe
Assign de la section ENV contrôle les entrées du menu
directement.
- L'assignement
des Boutons et des LEDs peut être adapté à votre
matériel dans le fichier cs_menu_io_tables.inc, l'assignation
par defaut correspond à ma propre config matérielle (voir
mbsid_din_default.pdf et mbsid_dout_default.pdf
- L'assignement des Encodeurs peut être adapté dans le fichier mios_tables.inc si nécessaire.
- Parfois
les utilisateurs demandent si ils doivent prévoir de futures
implémentations lors de la conception de la façade. Ma
réponse en général: je ne changerais plus la
façade de mon propre matériel, du coup vous ne risquez
rien en optant pour ma configuration boutons/LEDs/encodeurs
(quelque soit leur arrangement).Les nouvelles fonctions seront
accessibles via des menus ou l'implémentation de fonction
alternative pour les boutons existant. Par exemple, pour la MIDIbox SID
V2 une matrice de modulation dédiée pour les sorties CV
est prévue, elle sera contrôlable via la matrice de
modulation normale dans un menu spécial.
Plus de Conseils...
...sont disponibles dans la FAQ MIDIbox SID et sur le Forum (utilisez la fonction "search"!)
Last update: 2015-09-24
Copyright © 1998-2015, Thorsten Klose. All rights reserved.
|