Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Changement de pattern de la DR-880 par MIDI (et Arduino)

  • 10 réponses
  • 3 participants
  • 1 796 vues
  • 4 followers
1 Changement de pattern de la DR-880 par MIDI (et Arduino)
Bonjour,
J'ai acheté il y a peu une DR-880, sans regarder ses possibilités en MIDI.
Grande déconvenue (et je ne suis pas le seul) quand j'ai constaté qu'il n'était pas possible d'envoyer des changements de programme (motif, song ou favoris) par MIDI, même avec des sysex. Si j'avais pris la peine de jeter un oeil sur la "Midi Implementation chart", je m'en serais rendu compte et aurais certainement acheté autre chose.
Je me suis un peu creusé les méninges pour voir comment m'en sortir et je me suis dit qu'en actionnant rapidement les pédales (analogiques) permettant d'incrémenter/décrémenter les programmes (par exemple FS-6) on devait pouvoir faire quelque chose.
Je viens de réaliser un petit montage avec un Arduino UNO et le tester, sans ordres MIDI pour l'instant, mais cela ne pose pas de problème avec Arduino.
Résultat, ça marche (j'ai un effet de bord +/- 1 dû à une programmation bâclée).
Maintenant il faut tester les limites pour savoir s'il est possible de se balader dans les 1000 motifs (500+500), ou s'il est plus raisonnable de se limiter par exemple aux 80 favoris).
La maquette :

image.php
Je suis ouvert à (presque) toutes les suggestions.

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

2

Chapeau Danguit !!!  eek

Mais comment pilotes-tu le UNO ? Via les 2 potars en bas à droite ?

3
Citation :
Mais comment pilotes-tu le UNO ?
Dans l'immédiat un potar donne le numéro de programme et l'autre sert pour divers réglages.
Si le projet vaut le coup d'être continué, une prise MIDI permettra de recevoir le numéro de programme (il peut même y avoir possibilité d'utiliser l'USB, je l'ai déjà fait avec un adaptateur).
En l'état cela fonctionne, mais je ne peux pas descendre en dessous de 200ms par incrément (*), sinon il y a des erreurs (dues à la DR car à l'oscillo mes signaux de sortie sont corrects).
Dans ces conditions, passer directement du motif 1 au 1000 mettrait plus de 3 mn. Donc à oublier pour du live.

Je pense que la bonne solution serait de ne programmer que les favoris en utilisant les CTRL 1 à 4, 2 pour les Banks et 2 pour le numéro, ce qui amènerait grosso modo à un temps de commutation max (passage de B1-1 à B20-4) de 4.8s. Donc avec une limitation à 80 programmes, mais personne n'empêche d'avoir aussi la possibilité de passer aux motifs s'il n'y a pas trop de contraintes de temps.

Edit : (*) en descendant à 180ms je ne détecte pas d'erreurs, donc gain de 10%.




Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

[ Dernière édition du message le 08/11/2013 à 18:35:58 ]

4
Le sujet ne passionne pas les foules mais ça marche en Midi.
J'ai utilisé le circuit d'un adaptateur Gravis (sur la photo) pour l'entrée Midi uniquement pour me simplifier la vie, mais ce circuit se fait simplement avec un optocoupleur, une diode et 2 résistances.
Les potars ne servent plus.
image.php
En ce moment j'envoie des PC par Cubase et la DR-880 se positionne comme une grande.
Et je pense que finalement la solution de prévoir 127 programmes permet de simplifier en n'utilisant que deux switches (CTRL 3 et 4) et permet de modifier motifs users ou songs (pour les favorites serait possible mais un peu plus compliqué,à peine).

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

5
Bonne idée...
Merci pour le partage.

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

6

alors là chapeau!...  eek

(je n'avais pas vu évoluer ce thread, je le cherchais sur le forum de la DR)

il n'y a pas d'Arduino incluant un module midi ?

tu as codé en C, C++, JAVA ?

c'est quoi comme modèle d'Arduino ?

7
Là j'ai pris un arduino UNO pour faire vite, mais si je devais le réaliser je ferais comme pour cet essai ( https://fr.audiofanzine.com/les-mains-dans-le-cambouis/forums/t.525583,diy-telecommande-midi-ir-arduino.html ), le circuit Atmel et quelques composants (il y a un kit à 9# chez Snootlab, encore moins si on programme le bootloader soit-même, et pas beaucoup plus pour la partie Midi et la liaison vers DR). Je pense que l'on s'en sort pour 20 à 30€ (sans compter l'adaptateur USB-série #12€, réutilisable pour d'autres projets).
Pour le codage, j'utilise l'environnement Arduino (genre C) et je fais beaucoup de copier-coller et adaptation des exemples.
On pourrait d'ailleurs compliquer très facilement le machin en intégrant aussi des foootswitches et potars (ou pédales) dans un boîtier pour rentabiliser (utilisation des E/S).

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

[ Dernière édition du message le 11/11/2013 à 17:56:21 ]

8

oui, c'est clair !

merci pour ces infos

l'idéal serait aussi de le doter de 2 ports midi, un IN et un OUT, et de pouvoir comme sur ce module http://www.midisolutions.com/prodepp.htm interpréter les ordres midi en entrée pour en sortir d'autres (des sysex par exemple) en OUT

9
Citation :
interpréter les ordres midi en entrée pour en sortir d'autres
Je l'avais déjà fait pour un essai de transposition (un potar pour les demi-tons et 2 boutons pour les octaves règlent la transpo des notes en sortie).
C'est là que je me suis aperçu que le SoftwareSerial (sur UNO) fonctionne mal avec un débit important en entrée. Il faut donc utiliser l'uart, mais cela rend difficile la mise au point. Ou alors utiliser un ATmega à 2 uarts.
Mais s'il ne s'agit que de commandes, c'est peut-être jouable avec l'émulation.

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

10
Citation :
C'est là que je me suis aperçu que le SoftwareSerial (sur UNO) fonctionne mal avec un débit important en entrée.

C'est le cas avec beaucoup de microcontrôleurs. Pour gérer correctement des débits importants, il faut impérativement passer par les UART matériels et mettre en oeuvre un buffer circulaire (minimum 64 octets, 128 ou plus si la taille mémoire de l'uC le permet). Les routines soft conviennent quand on veut juste traiter quelques commandes ou notes isolées. Dès qu'on veut plaquer des accords à un rythme élevé ou envoyer des longs sysex, ouille !

Je me suis trop cassé les pieds avec des routines soft. Certes aussi avec l'UART hard à mes débuts car il faut bien apprendre et tout ne vient pas d'un coup. Mais globalement, et même quand on traite des données pas trop volumineuses, l'UART matériel est vraiment un plus. Et si on doit bosser avec deux ports MIDI en même temps, pas de doute, un uC équipé de deux UART... c'est le pied !

Formateur en techniques sonores ; électronicien ; auteur @ sonelec-musique.com

[ Dernière édition du message le 11/11/2013 à 18:34:23 ]