English Version French Version Spanish Version

MIDIbox CV

Caractéristiques:

  • requiert un module CORE et un module AOUT ou AOUT_LC 
  • jusqu'à 8 sorties CV avec une résolution de 12 bit 
  • 8 sorties Gate 
  • les Sorties peuvent être assignée aux 16 canaux MIDI Channels et aux évènements Note/Velocity/Aftertouch/CC/NRPN/Pitchbender
  • 8 tampons de notes indépendants d'une profondeur de 16 notes!
  • mode Mono/Legato/8*Poly 
  • course de Pitchbender configurable
  • fonction de Transposition Octave and Semitones  
  • fonction Keyboard Split/Layer
  • polarité des Gate configurable 
  • courbe de Sortie configurable: V/Oct, Hz/V, Inversée, Exponentielle
  • Sortie 24ppqn Clock Sync avec coefficient de division/multiplication variés (96ppqn .. 24ppqn / 16)
  • fonction de Calibration facile d'accés
  • MIDI Merger (compatible MIDIbox Link)
  • configuration via 4 boutons/LCD ou via SysEx

Options Matérielles

Vous devez considérer ces différentes options lors de la conception de votre MIDIbox CV:

  • module MBHP_AOUT ou MBHP_AOUT_LC : soit un module MBHP_AOUT ou jusqu'à 4 modules MBHP_AOUT_LC peuvent être gérés par une MIDIbox CV.
    • MBHP_AOUT: interface haute qualité avec huit canaux 12-bit. Deux MAX525 sont requis, ces  DACs sont vraiment cher (env. 30 EUR par chip!).
      Interconnections du module MBHP_AOUT
    • MBHP_AOUT_LC: interface économique avec deux canaux, soit en configuration 12-bit/8-bit ou 8-bit/8-bit. Quatre modules MBHP_AOUT_LC peuvent être chaînés afin d'obtenir huit canaux. Cette interface est vraiment économique, mais assez longue à construire en raison du grand nombre de résistances.
      Interconnections du module MBHP_AOUT_LC
    • D'autres DACs peuvent être pilotés par la MIDIbox CV, mais cela nécessite une adaptation du pilote. Les pilotes sont situés dans les fichiers cv_aout.inc et cv_aout_lc.inc
  • LCD 2x16: la solution la plus confortable pour configurer la MIDIbox CV reste d'utiliser l'interface menu. Au moins pour le debbugage, il est plus prudent de connecté un LCD sur le CORE (un écran LCD rétro-éclairé2x16 coûte 7.50 EUR chez Reichelt), car une utilisation sans LCD/menu n'a pas été vraiment prévue lors du dévellopement de l'application. La configuration peut être changée depuis un PC via SysEx, mais aucun éditeur n'est (encore) disponible.
  • DINX1: un shift register est requis pour les quatres boutons menu (correspondant au deux boutons menu + la datawheel, voir plus bas). Il n'est pas utile de construire un module DINX4 juste pour 4 entrées digitales, je vous suggère donc de simplement assembler un shift registers 74HC165 + 9 résistances 10k sur la platine où vous avez monté vos boutons.
  • 4 boutons ou 2 boutons + datawheel: la navigation dans les menus requiert au moins un bouton Exit et un bouton Select. Pour l'édition des valeurs, vous pouvez choisir entre deux boutons Inc/Dec , ou une Datawheel datawheel (encodeur rotatif).
    Diagramme d'interconnection pour une configuration 4 boutons
    Diagramme d'interconnection pour une configuration 2 boutons et une datawheel

Configuration Matérielle

Dans la mesure où la MIDIbox CV supporte plusieurs configurations matérielles, il peut être nécessaire de customiser le firmware. Le setup de base, qui ne changera probablement jamais, ne peut être édité depuis l'interface/menu, il doit donc l'être via le fichier main.asm file de l'application.

  • Boutons et Datawheel optionnelle
    • 4 Boutons: c'est le réglage par défaut, pas besoin de le changer si vous utilisez cette configuration. Les "defines" suivant du fichier main.asm permetttent de sélectionner les numéros de pins du module "DINX1":
      #define DEFAULT_DIN_MENU_EXEC 7
      #define DEFAULT_DIN_MENU_RIGHT 6
      #define DEFAULT_DIN_MENU_LEFT 5
      #define DEFAULT_DIN_MENU_SELECT 4
    • 2 boutons et une datawheel: DEFAULT_ENC_DATAWHEEL doit être réglé sur 0 afin de sélectionner le premier encodeur. Les connections des encodeurs sont spécifiés dans le fichier mios_tables.inc (alors que les numéros de pins des boutons Exec et Select sont définis dans le fichier main.asm
      ;; mios_tables.inc:
      ;; SR Pin Mode
      ENC_ENTRY 1, 4, MIOS_ENC_MODE_DETENTED ; Data Wheel
      ;; (and 5)

      ;; main.asm:
      #define DEFAULT_DIN_MENU_EXEC 7
      #define DEFAULT_DIN_MENU_SELECT 6
    • Sorties Gate: si vous utilisez un module MBHP_AOUT, deux sorties Gate sont disponibles sur le module lui-même, elles sont assignées aux CV1 et CV2. Les autres sorties sont disponibles directement sur le port J5 du module CORE. Ces dernières seront les seules disponibles si vous utilisez un module MBHP_AOUT_LC (ce qui ne vous désavantagera guère!).
      Notez que les Sorties Gate du port J5 ne sont pas activées par défaut. Ceci afin d'éviter tout problème si quelqu'un venait à charger cette applicationsur une MIDIbox64 (ou similaire), où J5 est utilisé comme entrée pour des potentiomètres. Il y aurait alors un court-circuit risquant d'endommager le pilote de ce port.
      De fait J5 doit être activé de manière explicite dans le fichier main.asm:
      ; use PORTA and PORTE (J5 of the core module) for 8 additional gate outputs
      #define ENABLE_J5 0
  • interface AOUT: vous devez spécifier si vous avez connecté un module MBHP_AOUT standard ou un module MBHP_AOUT_LC sur le module CORE:
    ; 1: one MBHP_AOUT module
    ; 2: up to 4 (chained) MBHP_AOUT_LC modules
    #define DEFAULT_AOUT_INTERFACE 1
  • Si un ou plusieurs modules MBHP_AOUT_LC sont utilisé, vous devez aussi spécifier la configuration des résolutions:
    ; 1: first channel 12bit, second channel 4bit
    ; 2: first channel 8bit, second channel 8bit
    #define DEFAULT_AOUT_LC_1_RESOLUTION 1 ; 1st AOUT_LC module
    #define DEFAULT_AOUT_LC_2_RESOLUTION 1 ; 2nd AOUT_LC module
    #define DEFAULT_AOUT_LC_3_RESOLUTION 1 ; 3rd AOUT_LC module
    #define DEFAULT_AOUT_LC_4_RESOLUTION 1 ; 4th AOUT_LC module
  • la sortie Sync Clock est disponible sur le pin RD4 du PIC (port J14 du module CORE) par défaut, le pin peut être changé si vous le souhaitez:
    #define DEFAULT_EXT_CLK_LAT LATD
    #define DEFAULT_EXT_CLK_PIN 4
  • La pulsewidth de la sortie clock peut être configurée par pas de 500 uS. Elle est par défaut réglée sur 1 mS:
    ; 0 -> 500 uS
    ; 1 -> 1 mS
    ; 2 -> 1.5 mS
    ; etc...
    #define DEFAULT_EXT_CLK_PULSEWIDTH 1
  • Une fois tous les changements nécessaire éffectués, vous avez alors à recompiler l'application, la procédure est expliquée sur cette page HowTo.

Menus

Fonctions des boutons/datawheel:

  • EXIT: utilisez ce bouton pour quitter la page en cours d'édition
  • SELECT: dans la plupart des menus, ce bouton est utilisé pour sélectionné le paramètre à éditer (curseur)
  • LEFT/RIGHT ou Datawheel: incrémente/décrémente le paramètre sélectionné 

Voici une description des menus disponibles:

Idle Page

Idle Page

C'est l'écran qui s'affiche au démarrage. vous n'y verrez rien d'intéressant - pas de messages d'états, pas de monitoring MIDI ou quoi que se soit d'autre - le but de cette page est simplement de garantir une latence optimale d'environ. 50 uS! Oui, c'est vrai! il n'est pas question ici de millisecondes, mais bien de microsecondes! :)
Appuyez sur le boutons EXIT pour entrer dans le menu

MIDI Events

MIDI Events

Dans la plupart des menus vous pouvez choisir le canal CV et d'autres paramètres.

La position du curseur peut être changée avec le bouton SELECT.

Dans ce sous-menu les évènements MIDI peuvent êtres assignés aux huits canaux CV. Avec "Note" la sortie CV correspondante fera varier sa tension de sortie en fonction des Notes reçues (1V/octave).
En addition, le voltage peut être modifié avec le PitchBender en fonction de la course de  Pitchbender sélectionnée (-> voir menu "Pitchrange"). Chaque canal CV dispose de son propre buffer de note (-> voir menu "Gestion des Notes" Note Handling menu).

Avec "Vel." la tension de sortie change en fonction de la vélocité des notes reçues.

Avec "ATch." la tension de sortie change en fonction des évènements d'Aftertouch reçus.

Avec "CC" la tension de sortie change en fonction des messages de Contrôleurs Continu MIDI reçus. Le numéro de CC doit être sélectionné séparément dans le sous-menu "numéro CC/NRPN".

Avec "NRPN" la tension de sortie change en fonction des évènements NRPN. Il s'agit d'un format de CC spécial qui envoie des valeurs sur une résolution de 14-bit. le numéro NRPN LSB (CC#98) doit être sélectionné séparément dans le sous-menu "Numéro de CC/NRPN". le MSB (CC#99) est toujours 0. Les données MSB sont transférée avec le CC#6, les données LSB avec le  CC#38.

Avec "PitchBender" la tension de sortie change en fonction des évènements PitchBender.

Transpose

Transpose

Les canaux CV assignés à des Notes peuvent êtres transposés individuellement par -8/+7 octaves et -8/+7 demi-tons.

Keyboard Zone

Keyboard Zone

Les canaux CV assignés à des Notes peuvent êtres splittés suivant différentes zones. Ceci vous permet de jouer différents sons à partir du même clavier. Vous pouvez aussi superposer différents sons en superposant les zones et en transposant les notes.

Pitchrange

Pitchrange

Les canaux CV assignés à des Notes peuvent êtres en plus pilotés par le Pitchbender. Ce sous-menu vous permet de définir de combien de demi-tons le Pitchbender doit dévier la tension positivement et négativement.

Note Handling

Note Handling

La MIDIbox CV dispose de buffer de notes indépendant pour chaque canal. Un buffer de notes n'est pas seulement avantageux pour les synthés polyphoniques, mais aussi pour les synthés mono, car il améliore la jouabilité - sans buffer de note, en mode Legato/Mono, il ne serait pas possible de déterminer quelles notes sont tenues:

Legato: le gate sera actif (on) à la première touche enfoncée et sera tenu jusqu'à ce que toute les touches soient relachées.

Mono: le gate sera redéclenché si une une nouvelle note est jouéeou si une nouvelle note est jouée même si les premières notes jouées sont maintenu.

Poly: assigne toutes les notes jouées à différents canaux. La première note sera toujours renvoyée sur la sortie CV #1, la seconde sur la sortie #2, la troisième sur la sortie #3 et ainsi de suite si les sortie correspondante sont réglées sur Notes dans le menu "évènements MIDI". Cela signifie que vous pouvez toujours utiliser les canaux suivants pour d'autres types d'évènements MIDI.

CC/NRPN

CC/NRPN Number

Configurez dans ce sous-menu les numéros de CC ou de NRPN LSB auxquels les canaux configurés pour ce type d'évènements vont réagir.

Gate Polarity

Gate Polarity

la polarité de chaque sortie Gate peut être changée dans ce sous-menu. Les sortie Gate sont réglé par défaut sur "positif" (Gate à l'état "haut" lorsque qu'une touche est pressée).

En changeant la polarité, le Gate sera inversé (Gate à l'état "bas" lorsque qu'une touche est pressée).

Output Curve

Output Curve

la la courbe de chaque sortie CV peut être changée dans ce sous-menu. 1V/Oct correspond à une courbe linéaire, c'est celle proposée par la plupart des synthétiseurs.

La courbe V/Hz correspond à des synthés tel que le Korg MS-20. Notez que si vous choisissez cette option, une calibration de la sortie est nécessaire.La procédure de calibration est décrite plus bas.

En option, la courbe linéaire peut êtreinversée si nécessaire.

une courbe exponentielle est également disponible, ceci peut être utile lorsqu'une sortie CV est assignée à la vélocité.

Clock Divider

Clock Divider

Une sortie "clock sync" (synchro) est disponible sur le port  J14 du module CORE. Elle est déclenchée à chaque évènement MIDI clock reçu. La MIDI clock a une résolution de 24ppqn (24 pulses per quarter note).

En option, la résolution de la synchro peut être augmentée:  32, 48 or 96 ppqn. Ceci est rendu possible par une implémentation matérielle d'une "phase locked loop" (PLL).

L'horloge MIDI 24ppqn peut également être divisée par 1, 2, 3, 4, 5, ... 16.

Calibration

Calibration

Cette page menu simplifie le processus de calibration du module AOUT.

Differentes tensions peuvent êtres sélectionnées (Minimum, Middle, Maximum, 1.00V, 2.00V, 4.00V et 8.00V), tensions qui doivent être mesurées sur les sorties CV.

Si les tensions mesurées ne correspondent pas, elles peuvent être ajustées à l'aide des trimmers gain et offset trimmers.

Le processus de calibration est décrit plus bas. je vous rappelle qu'une calibration est  nécessaire lorsque vous passer d'un réglage de courbe 1V/Oct à Hz/V.

MIDI Configuration

MIDI Configuration

Le MIDI merger vous permet de connecter votre MIDIbox MIDIbox et par exemple un clavier MIDI sans occuper un port MIDI supplémentaire sur votre interface. Branchez simplement le MIDI Out de votre clavier au MIDI In de la MIDIbox et le MIDI Out de la  MIDIbox au port MIDI In de votre ordinateur.

Si vous connectez le MIDI Out de votre ordinateur au MIDI In de votre MIDIbox, vous devez désactiver le MIDI merger pour éviter de créer une boucle MIDI.

Si vous cascadez plusieurs MIDIbox en utilisant l'option MIDIbox Link  toutes les MIDIBOX doivent être déclarées comme: MIDIbox Link Forwarding Point...

à l'exception de la dernière qui doit être réglée sur:  MIDIbox Link Endpoint.

Note: Dans ce menu vous pouvez aussi activer l'option MIDIbox-to-COM en utilisant le bouton SELECT. Vous trouverez plus d'information sur cette page: MIDIbox-to-COM Interface Page!

Send SysEx

Send SysEx

Ce menu vous permet de sélectionner l' ID de votre MIDIbox, et vous pouvez lancer un Dump SysEx manuellement en pressant sur la touche SELECT.
Notez que la device ID ne sera pas sauvée dans la mémoire EEPROM, elle sera déduite de la  device ID MIOS au démarrage.

Calibration

Les sorties CV peuvent être facilement configurées depuis le menu Calibration. Vous aurez besoin d'un multimètre pour mesurer les tensions de sortie, ce sera plus facile avec un MUltimètre digital qu'avec un analogique. Notez que les multimètres "économiques" peuvent avoir une tolérance de 0.5% et plus, ce qui signifie que si vous mesurez 8.00V, la tension réelles peut se situer entre 8.04V et 7.96V. Les utilisateurs ayant installé un module AOUT_LC users remarqueront des imperfections dans la linéarité, erreurs causées par l'apairage imparfait des résistances 10k. Donc, plutôt que passer du temps à trouver les bonnes tensions en agissant sur les trimmers, commencer par passer du temps à apairer du mieux possibles vos résistances!

  • 1V/Octave: la tension maximale doit être de 10.67V. cette valeur correspond au nombre maximum de notes (128): 10.67V / 128 = 0.0834V, une octaves est faîte de 12 demi-tons -> 12*0.0834V = 1.00V.
    Les utlisateurs de modules MBHP_AOUT_LC doivent commencer par ajuster l'offset: selectionnez "Min.", et ajustez le trimmer offset jusqu'à ce que la sortie CV atteigne 0.00V.
    Sélectionnez ensuite "Max." et ajustez le trimmer gain jusqu'à ce que la tension atteigne 10.67V
    Vérifiez par deux fois le gain: sélectionnez 1.00V, 2.00V, 4.00V et 8.00V et ajuster le gain jusqu'à ce que les tensions soient aussi proche que possible des valeurs sélectionnées.
  • Hz/V: la tension maximale doit être de 10.24V. Cette valeur a été choisie pour simplifier le calcul de la tension requise pour chaque note. Avec 10.24V et une résolution de 12bit , chaque pas du DAC peut incrémenter la tension de 0.005V.
    Important: allez d'abord dans le menu "Output Curve" et sélectionnez "Hz/V", dans le cas contraire vous mesureriez de fausses valeurs. La courbe doit être sélectionnée pour chaque sortie CV séparément.
    Placez-vous ensuite dans le menu Calibration, ajustez l'offset (si nécessaire), sélectionnez la tension maximale, ajustez le gain jusqu'à atteindre 10.24V, essayez ensuite 1.00V, 2.00V, 4.00V et 8.00V
  • Tensions Bipolaires (par ex. -5V/+5V): certains synthés requierent  une tension bipolaire pour piloter des paramètres sonores comme le Finetune, ADSR, CutOff/Resonance, etc.
    Les utilisateurs du module MBHP_AOUT doivent ajouter l'option Balanced CV extension sur chaque canal pour être en mesure d'ajuster la tension de sortie pour des valeurs en-dessous de 0V.
    Un trimmer offset est disponible d'origine sur le module AOUT_LC.
    Afin de calibrer une sortie CV symètrique, sélectionnez d'abord "Middle" et ajustez le trimmer offset jusqu'à atteindre 0.00V. Sélectionnez ensuite "Min.-" et "Max." et ajustez les niveaux à l'aide du trimmer gain. Vérifiez de nouveau la tension "Middle" et recommencez jusqu'à ce que vous ayez trouvé les bonnes valeurs.

Prévisions

Tôt ou tard, la MIDIbox CV prendra en charge le module MBHP_SHX8, ainsi jusqu'à 64 sorties CV seront disponibles. Mais, en raison des limitations de la mémoire, cette configuration ne sera pas en mesure de gérer un mode polyphonie de 64 note ;-) Mais il ne sera pas trés difficile d'améliorer le firmware pour permettre le contrôle des 56 sorties restantes via CC.

Une solution de multiplexage S&H serait aussi fort utile pour le module MBHP_AOUT_LC, ils serait possible d'obtenir sans trop de travail (de soudures) des sorties 12bit .

Credits

Voici la MIDIbox CV de Francois Buat. Il m'a fait part d'un grand nombre de suggestion, et nous avons testé ensemble le firmware sur des synthés comme les Minimoog, Korg MS-20, rsf Kobol Expander, Polykobol II, etc...




Last update: 2010-09-23

Copyright © 1998-2010, Thorsten Klose. All rights reserved.