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.