Aide hack/mod Beat 707

Clonages d'ancètres, conceptions originales, circuit bending, le coin des grenouilles bricoleuses.

Modérateur : darcmorcel

Avatar de l’utilisateur
Caribo
Messages : 10
Inscription : 08 août 2014, 19:39

Aide hack/mod Beat 707

Message par Caribo »

Bonsoir tout le monde,

J'ignore s'il y a des utilisateurs d'arduino sur le forum mais je tente ma chance !

Il y a maintenant deux ans, alors que je m'essayais qu'à peine aux vst sous Ableton live mais que je bricolais un peu avec Arduino, des amis m'ont offert un Beat 707.
Pour information, la Beat 707 est un sequencer midi semblable aux séquenceurs rythmique des TR, implanté directement sur le pcb, sous la forme d'un shield Arduino.

Image

Jusqu'ici, bien que je n'utilisais essentiellement que des contrôleurs midi, je n'y avais que très peu touché jusqu'à ce que je passe le cap des véritables machines physiques et plonge dans l'Eurorack. Principalement comme séquenceur pour la Vermona DRM1.

Puis en retrouvant la notice de la Beat 707, j'ai remarqué un mod qui permettait d'obtenir trois Gate Out (notion dont j'ignorais la signification à l'époque). Tout excité je modifie facilement le code, la démarche est bien expliqué et il y des headers sur le pcb permettant de récupéré le gate.
C'est super pratique et marche parfaitement bien pour déclencher des enveloppes ou trigger drums, hi hats et compagnie.

Le document expliquant le mod précisant qu'il était possible avec un Arduino Mega d'augmenter le nombre de Gate Out en bricolant un peu le code, je me suis mis en tête d'offrir à la Beat 707 une belle façade en lui ajoutant des sorties gate afin de l'intégrer dans mon modulaire.

Mais avant ça, il faut modifier le code. Et c'est là où j'aurais besoin d'un peu d'aide. :confused:
Je ne suis vraiment pas un as en code, la plupart des réalisations faites avec Arduino étaient plutôt des assemblages bidouillées et adaptées de différents codes. Je suis plutôt un bricoleur :smile: j'arrive plus ou moins à comprendre ce que je lis dans les codes, mais je suis incapable d'en écrire un :palm:
J'ai donc commencé à chercher dans le code les informations en liens avec les trois sorties gates déjà en place et j'ai ajouté ce qui me semblait juste afin d'en rajouté dans un premier temps une quatrième.
Possédant les schémas de la machine + une liste des pins arduino non utilisés, il est facile de les situer.
J'étais pas mal confiant ... et en fait ben non :lol: à part modifier le nom de la piste en Gate Out 4 (hey, pas mal :bravo: ), ça ne marche pas vraiment.
J'ai la piste donc, j'ai défini une pin arduino pour le gate et branché une led relié au ground pour qu'elle clignote en cas de gate reçu mais lorsque j'écris une sequence, rien ne se passe.
Je pense que je suis sur la bonne voie mais que je dois peut être mal définir la sortie du gate.

L'idéal serait que quelqu'un ici ai déjà tenté l'expérience mais cela m'étonnerais vu le peux d'information sur internet concernant la machine, je n'ai pas l'impression qu'elle ai rencontré un grand succès !

Mais je suis convaincu que ce n'est l'histoire que de quelques lignes en plus ou d'un passage que j'aurais bêtement oublié de prendre en compte.

Peut être il y a t il une modification à apporter quelque part du fait que la piste gate remplace une précédemment dédiée au midi ?

À l'aide des schémas, des quelques documents et du code, son fonctionnement est assez accessible et je pense que ce n'est vraiment pas grand chose !

Le code Arduino de la Beat 707 : https://github.com/Beat707/Beat707-Drum-Machine-V1" onclick="window.open(this.href);return false;

Le document expliquant la mise en place du hack n'est plus en ligne mais cette vidéo du concepteur le montre simplement :

https://www.youtube.com/watch?v=pROnmgeytJs[/video]

Et enfin un lien wetransfert pour les schémas et documents sur les mods etc: http://we.tl/RRVqk4T1St" onclick="window.open(this.href);return false;

Je me rend compte vu la taille du pavé que j'ai écrit que ma requête ne dois pas être très excitante mais c'est plus amusant que ça en a l'aire, et surement pas si compliqué !
Il faut voir ça comme une sorte de chasse aux trésors :mdr:

Aha sérieusement je comprendrais très bien que personne ne puisse me venir en soutient mais je tente ma chance !

Dans tout les cas je vais continuer à chercher et le sujet pourra toujours servir à documenter mon avancé jusqu'au produit espéré !

Merci d'avance aux courageux lecteurs :lol:

Ps: j'ai contacté le concepteur de la Beat, il m'a dit de n'avoir jamais pris le temps de le faire et que je peux toujours faire un midi to gate convertor, mais je trouve que ce serait un peut dommage de ne pas profiter des capacités de la machine...
https://vimeo.com/cvcv" onclick="window.open(this.href);return false;
https://soundcloud.com/cv_cv" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
baloran
Messages : 2179
Inscription : 29 févr. 2012, 13:46
Localisation : Pas de Calais
Contact :

Re: Aide hack/mod Beat 707

Message par baloran »

Hello,

Avce un rapide coup d'oeil, je n'ai pas tout compris dans l'architecture de ce projet. D'après les schémas, l'Arduino et le Mega cohabitent (avec un dialogue par I2C) Dans ce cas, les Pins du Mega ne pourront pas être activées par de simples "digitalWriteW".

Si maintenant le Mega remplace l'Arduino, je ne comprends pas ce code ;)

Tu initialises A8 en OUTPUT et tu écris sur 19 (RX de l'UART 1) ?

#if GATE_OUTS
pinModeW(A0, OUTPUT);
pinModeW(2, OUTPUT);
pinModeW(3, OUTPUT);
pinModeW(A8, OUTPUT);
digitalWriteW(A0, LOW);
digitalWriteW(2, LOW);
digitalWriteW(3, LOW);
digitalWriteW(19, LOW);
#endif
Quand l'été est si pluvieux ou l'hiver si froid...
Avatar de l’utilisateur
Caribo
Messages : 10
Inscription : 08 août 2014, 19:39

Re: Aide hack/mod Beat 707

Message par Caribo »

Hello,

Autant pour moi, il était tard et j'ai zippé le dossier pendant que je modifiais le code en testant différentes sorties et j'ai du enregistré le fichier entre deux modifs.

L'Arduino Uno et Mega ne cohabitent pas ensemble. Il n'y a qu'un seul type de carte au choix ! La Beat 707 marche aussi bien avec la Uno qu'avec la Mega, mais cette dernière rajoute des pins libres supplémentaires.

J'ai modifié dans l'onglet principal Beat 707:

Code : Tout sélectionner

  #if GATE_OUTS
    pinModeW(A0, OUTPUT);
    pinModeW(2, OUTPUT);
    pinModeW(3, OUTPUT);
    pinModeW(A8, OUTPUT);
    digitalWriteW(A0, LOW);
    digitalWriteW(2, LOW);
    digitalWriteW(3, LOW);
    digitalWriteW(A8, LOW);
  #endif
dans l'onglet W_Hacks:

Code : Tout sélectionner

#if GATE_OUTS
  void Gate_Outs_Midi(uint8_t xdtm, uint8_t velocity)
  {
    if (xdtm <= 4)
    {
      switch (xdtm)
      {
        case 0:
          digitalWriteW(A0, HIGH);
          break;
          
        case 1:
          digitalWriteW(2, HIGH);
          break;
          
        case 2:
          digitalWriteW(3, HIGH);
          break;
          
        case 3:
          digitalWriteW(A8, HIGH);
          break;
          
      }
      gateOutDelay[xdtm] = millisNI()+GATE_OUTS_TIME;            
    }
    else
    {
      sendMidiNoteOff(dmNotes[xdtm], dmChannel[xdtm], 0xFF);
      sendMidiNoteOn(dmNotes[xdtm],velocity, dmChannel[xdtm], 0xFF);
    }
  }

#endif
ainsi que pour l'écran dans l'ongletW_LCD_Patt:

Code : Tout sélectionner

 #if GATE_OUTS
        if (currentTrack <= 4) lcdPrintString("Gate Out");
          else lcdPrint(MIDICHAN);
      #else
        lcdPrint(MIDICHAN);
      #endif
      lcdPrintEmptyChars(1);
      if (currentTrack >= DRUMTRACKS+2)
      {
        lcdPrintEmptyChars(2);
      }
      else
      {
        #if GATE_OUTS
          if (currentTrack == 0) lcdPrintString("A0");
            else if (currentTrack == 1) lcdPrintString("D2");
            else if (currentTrack == 2) lcdPrintString("D3");
            else if (currentTrack == 3) lcdPrintString("A8");
            else lcdPrintNumber(dmChannel[currentTrack]+1);
        #else
          lcdPrintNumber(dmChannel[currentTrack]+1);
        #endif
https://vimeo.com/cvcv" onclick="window.open(this.href);return false;
https://soundcloud.com/cv_cv" onclick="window.open(this.href);return false;
Avatar de l’utilisateur
baloran
Messages : 2179
Inscription : 29 févr. 2012, 13:46
Localisation : Pas de Calais
Contact :

Re: Aide hack/mod Beat 707

Message par baloran »

Bon maintenant, j'ai juste du mal à comprendre
if (xdtm <= 4)
ou
( currentTrack <= 4)

Si les Tracks sont comptées à partir de 0, 0 1 2 et 3 sont les Gates et les suivantes sont Midi. Donc les tests devraient être
if (xdtm < 4)
ou
( currentTrack < 4)

La track 4 ne doit pas être très active et la 3 doit bien être A8 d'après le code.
Quand l'été est si pluvieux ou l'hiver si froid...
Avatar de l’utilisateur
adsr75
Messages : 475
Inscription : 14 sept. 2011, 23:23
Localisation : Paris

Re: Aide hack/mod Beat 707

Message par adsr75 »

baloran a écrit :Bon maintenant, j'ai juste du mal à comprendre
if (xdtm <= 4)
ou
( currentTrack <= 4)
Tu n'es pas le seul :cool:
Avatar de l’utilisateur
Caribo
Messages : 10
Inscription : 08 août 2014, 19:39

Re: Aide hack/mod Beat 707

Message par Caribo »

Flute !

Je ne suis pas chez moi jusqu'à jeudi... je vous tiens au courant une fois de retour.

Merci
https://vimeo.com/cvcv" onclick="window.open(this.href);return false;
https://soundcloud.com/cv_cv" onclick="window.open(this.href);return false;
Répondre
cron