Interface MIDI USB 3 IN / 3 OUT
- 16 réponses
- 4 participants
- 1 442 vues
- 7 followers
thekik
202
Posteur·euse AFfiné·e
Membre depuis 18 ans
Sujet de la discussion Posté le 19/01/2019 à 15:52:12Interface MIDI USB 3 IN / 3 OUT
Salut les AFIENS,
Petit post pour vous dire que je viens de terminer la réalisation d'une interface MIDI USB 3 IN / 3 OUT, basée sur une carte microcontrôleur à base de STMF32103, le "Bluepill" beaucoup plus puissante qu'un Arduino, et coûtant moins de 2€ sur de nombreux sites chinois, comme ici par ex. Le firmware est open source.
J'ai également réalisé une platine , (i.e. un "shield" pour ceux qui pratiquent l'Arduino), qui permet de connecter simplement la "Bluepill", de souder quelques circuits élémentaires, et de disposer ainsi d'une interface MIDI compliant avec 3 MIDI IN DIN / 3 MIDI DIN OUT.
Je m'en sers désormais tous les jours, à coté de 2 MIDIFACES 4x4 dont j'avais d'ailleurs modifié également le firmware.
Manque plus qu'un boitier...si des experts de l'impression 3D me lisent !
Les commentaires et les questions sont les bienvenues.
Le site du projet sur Github : https://github.com/TheKikGen/USBMidiKliK4x4
Petit post pour vous dire que je viens de terminer la réalisation d'une interface MIDI USB 3 IN / 3 OUT, basée sur une carte microcontrôleur à base de STMF32103, le "Bluepill" beaucoup plus puissante qu'un Arduino, et coûtant moins de 2€ sur de nombreux sites chinois, comme ici par ex. Le firmware est open source.
J'ai également réalisé une platine , (i.e. un "shield" pour ceux qui pratiquent l'Arduino), qui permet de connecter simplement la "Bluepill", de souder quelques circuits élémentaires, et de disposer ainsi d'une interface MIDI compliant avec 3 MIDI IN DIN / 3 MIDI DIN OUT.
Je m'en sers désormais tous les jours, à coté de 2 MIDIFACES 4x4 dont j'avais d'ailleurs modifié également le firmware.
Manque plus qu'un boitier...si des experts de l'impression 3D me lisent !
Les commentaires et les questions sont les bienvenues.
Le site du projet sur Github : https://github.com/TheKikGen/USBMidiKliK4x4
[ Dernière édition du message le 19/01/2019 à 15:54:12 ]
- 1
- 2
airskyone
3
Nouvel·le AFfilié·e
Membre depuis 10 ans
11 Posté le 15/04/2020 à 14:02:22
J'étais fan du concept des premières version, je suis sur le cul la...
Tu vends tjs des interfaces ?
Tu vends tjs des interfaces ?
thekik
202
Posteur·euse AFfiné·e
Membre depuis 18 ans
12 Posté le 16/04/2020 à 11:46:04
Hello,
Oui, en mode artisanal, (fabriquée à l'unité !) sur Tindie, ou en MP si besoin. Voir sur Github.
Il me reste une dizaine de carte nue également.
Oui, en mode artisanal, (fabriquée à l'unité !) sur Tindie, ou en MP si besoin. Voir sur Github.
Il me reste une dizaine de carte nue également.
thekik
202
Posteur·euse AFfiné·e
Membre depuis 18 ans
13 Posté le 16/04/2020 à 11:46:56
Aperçu de l'interface de configuration mode terminal :
Le générateur d'horloge peut aussi générer des trames Midi Time Code 30 fps (SMPTE).
USBMIDIKLIK 4x4 - BLUEPILL STMF103CBx 128K FLASH (MASTER ON BUS)
V2.5 - Build 2.200416.0325 - (c) TheKikGen Labs
[url]https://github.com/TheKikGen/USBMidiKliK4x4[/url]
[0] Show global settings [c] Midi clock [x] Exit
[1] Show midi routing [8] Toggle bus mode [!] Dump EEPROM
[2] Usb VID PID [9] Set device Id [:] Dump Flash memory
[3] Usb product string [a] Show active devices / Format EEPROM
[4] Cable OUT routing [d] SYSEX settings dump
[5] Jack IN routing
[6] IThru routing [e] Reload settings
[7] USB idle time [f] Factory settings
[v] Virtual IN routing [r] Reset routing
[p] Show pipeline s Save settings
=>1
VIRTUAL IN ROUTING (8 port(s) found)
| Vr | Pipeline | Cable IN 1111111 | Jack OUT 1111111 |<-| Clock Generator |
| | Slot | 1234567890123456 | 1234567890123456 | | MTC Bpm Enabled |
| 1 | . | .X.............. | ............... | | X 120.0 . |
| 2 | . | ..X............. | ............... | | . 128.0 X |
| 3 | . | ...X............ | ............... | | X 132.0 X |
| 4 | . | ................ | ............... | | . 120.0 . |
| 5 | . | ................ | ............... |
| 6 | . | ................ | ............... |
| 7 | . | ................ | ............... |
| 8 | . | ................ | ............... |
CABLE OUT ROUTING (16 port(s) found)
| Cb | Pipeline | Cable IN 1111111 | Jack OUT 1111111 | Virt. IN 1111111 |
| | Slot | 1234567890123456 | 1234567890123456 | 1234567890123456 |
| 1 | . | ................ | X.............. | ........ |
| 2 | . | ................ | .X............. | ........ |
| 3 | . | ................ | ..X............ | ........ |
| 4 | . | ................ | ...X........... | ........ |
| 5 | . | ................ | ....X.......... | ........ |
| 6 | . | ................ | .....X......... | ........ |
| 7 | . | ................ | ......X........ | ........ |
| 8 | . | ................ | .......X....... | ........ |
| 9 | . | ................ | ........X...... | ........ |
| 10 | . | ................ | .........X..... | ........ |
| 11 | . | ................ | ..........X.... | ........ |
| 12 | . | ................ | ...........X... | ........ |
| 13 | . | ................ | ............X.. | ........ |
| 14 | . | ................ | .............X. | ........ |
| 15 | . | ................ | ..............X | ........ |
| 16 | . | ................ | ............... | ........ |
JACK IN ROUTING (15 port(s) found)
| Jk | Pipeline | Cable IN 1111111 | Jack OUT 1111111 | Virt. IN 1111111 | ITHRU Jack OUT 1111111 | Virt. IN 1111111 |
| | Slot | 1234567890123456 | 1234567890123456 | 1234567890123456 | Enabled | Slot | 1234567890123456 | 1234567890123456 |
| 1 | . | X............... | ............... | ........ | . | . | XX............. | ........ |
| 2 | . | .X.............. | ............... | ........ | . | . | ..X............ | ........ |
| 3 | . | ..X............. | ............... | ........ | . | . | ..X............ | ........ |
| 4 | . | ...X............ | ............... | ........ | . | . | ............... | ........ |
| 5 | . | ....X........... | ............... | ........ | . | . | ............... | ........ |
| 6 | . | .....X.......... | ............... | ........ | . | . | ............... | ........ |
| 7 | . | ......X......... | ............... | ........ | . | . | ............... | ........ |
| 8 | . | .......X........ | ............... | ........ | . | . | ............... | ........ |
| 9 | . | ........X....... | ............... | ........ | . | . | ............... | ........ |
| 10 | . | .........X...... | ............... | ........ | . | . | ............... | ........ |
| 11 | . | ..........X..... | ............... | ........ | . | . | ............... | ........ |
| 12 | . | ...........X.... | ............... | ........ | . | . | ............... | ........ |
| 13 | . | ............X... | ............... | ........ | . | . | ............... | ........ |
| 14 | . | .............X.. | ............... | ........ | . | . | ............... | ........ |
| 15 | . | ..............X. | ............... | ........ | . | . | ............... | ........ |
ITHRU mode is disabled.
USB idle detection time :30s
Le générateur d'horloge peut aussi générer des trames Midi Time Code 30 fps (SMPTE).
thekik
202
Posteur·euse AFfiné·e
Membre depuis 18 ans
14 Posté le 16/04/2020 à 11:47:37
Ci-dessous, un exemple de pipeline utilisé avec le pipe "keyboard splitter". Fonctionne comme suit :
Pipe 0 : si p1, valeur de la note >= 0 : fixer canal à p2 (canal midi 1)
Pipe 1 : si p1, valeur de la note >= 30H : fixer canal à p2 (canal midi 2)
Pipe 2 : si p1, valeur de la note >= 60H : fixer canal à p2 (canal midi 3)
=> puis routage
Ainsi les notes sont distribuées sur différents canaux midi : [0,2FH] => 1, [30H,5FH] => 2, [60H,7FH] => 3
Pipe 0 : si p1, valeur de la note >= 0 : fixer canal à p2 (canal midi 1)
Pipe 1 : si p1, valeur de la note >= 30H : fixer canal à p2 (canal midi 2)
Pipe 2 : si p1, valeur de la note >= 60H : fixer canal à p2 (canal midi 3)
=> puis routage
Ainsi les notes sont distribuées sur différents canaux midi : [0,2FH] => 1, [30H,5FH] => 2, [60H,7FH] => 3
=>p
PIPELINE SLOT 1 :
| Idx | Pipe id ( p1, p2, p3, p4 ) | Bypass |
| 0 | 08 KBSPLIT ( 00, 00, 00, 00 ) | |
| 1 | 08 KBSPLIT ( 30, 01, 00, 00 ) | |
| 2 | 08 KBSPLIT ( 60, 02, 00, 00 ) | |
| Attached port | 1111111 |
| | 1234567890123456 |
| Cable out | ..............X. |
| Jack in | ................ |
| Jack in Ithru | ................ |
| Virtual in | .X....... |
.Adrien
10
Nouvel·le AFfilié·e
Membre depuis 6 ans
15 Posté le 27/08/2020 à 14:32:46
Salut,
Je viens de découvrir ton interface sur Git, super taf, vraiment.. en plus open source...
J'ai quelques questions un peu techniques qui me viennent.
La première, comment sais-tu quand tu achete les BLUEPILL que ce sont des vrai et pas des clones ?
J'ai acheté mes premières BLUEPILL sur aliexpress récemment, 2 parmis elles sont des CKS32, et les 2 autres sont des STM32F103 mais elles ont un comportement bizarre quand je compile un bootloader.
Après, je suis un peu novice avec les lib STM32, les nouvelles fonctions, la nouvelle architecture STM(j'ai tout appris sous arduino), donc je compile peut être mal le bootloader.
En tout cas je galère à comprendre le bootloader sur ton Git et à le compiler. Une fois compilé, ma carte BLUEPILL n'est pas reconnu comme midi device quand je la branche en USB mais en Standard USB device.
Autre question, quel est le fonctionnement général de ton bootloader ? Si on recompile avec l'IDE arduino, il sera effacé ?
Je bosse en ce moment à passer un contrôleur midi que j'ai fait sous arduino (https://www.youtube.com/watch?v=hh8hn07VTkg) à du STM32.
Ma première tâche principale est de faire la mesure de potentiomètres via les ADC et envoyer cette mesure en midi au travers de l'USB. Ton projet m'intérresse donc énormément, mais je ne vois pas comment je pourrait modifier le code (est ce que l'IDE arduino est suffisant pour modifier ton code ?) pour qu'il «écoute & transmette» les mesures faites sur les ADC.
Adrien
Je viens de découvrir ton interface sur Git, super taf, vraiment.. en plus open source...
J'ai quelques questions un peu techniques qui me viennent.
La première, comment sais-tu quand tu achete les BLUEPILL que ce sont des vrai et pas des clones ?
J'ai acheté mes premières BLUEPILL sur aliexpress récemment, 2 parmis elles sont des CKS32, et les 2 autres sont des STM32F103 mais elles ont un comportement bizarre quand je compile un bootloader.
Après, je suis un peu novice avec les lib STM32, les nouvelles fonctions, la nouvelle architecture STM(j'ai tout appris sous arduino), donc je compile peut être mal le bootloader.
En tout cas je galère à comprendre le bootloader sur ton Git et à le compiler. Une fois compilé, ma carte BLUEPILL n'est pas reconnu comme midi device quand je la branche en USB mais en Standard USB device.
Autre question, quel est le fonctionnement général de ton bootloader ? Si on recompile avec l'IDE arduino, il sera effacé ?
Je bosse en ce moment à passer un contrôleur midi que j'ai fait sous arduino (https://www.youtube.com/watch?v=hh8hn07VTkg) à du STM32.
Ma première tâche principale est de faire la mesure de potentiomètres via les ADC et envoyer cette mesure en midi au travers de l'USB. Ton projet m'intérresse donc énormément, mais je ne vois pas comment je pourrait modifier le code (est ce que l'IDE arduino est suffisant pour modifier ton code ?) pour qu'il «écoute & transmette» les mesures faites sur les ADC.
Adrien
thekik
202
Posteur·euse AFfiné·e
Membre depuis 18 ans
16 Posté le 30/08/2020 à 12:07:48
Salut Adrien,
L'IDE Arduino suffit pour modifier le code. Tu devras télécharger aussi ma librairie MIDI sur le Git.
Tu peux utiliser le bootloader Stm32Duino si tu as des soucis, voire ne pas utiliser de bootloader du tout.
Effectivement, le comportement est variable en fonction des Bluepill (clone, original, qualité des composants, etc...).
Pour les Bluepill, le seul moyen de vérifier est d'acheter ! Parfois les clones sont de meilleure qualité !
Je te propose de continuer la discussion sur le Github si besoin ou MP !
L'IDE Arduino suffit pour modifier le code. Tu devras télécharger aussi ma librairie MIDI sur le Git.
Tu peux utiliser le bootloader Stm32Duino si tu as des soucis, voire ne pas utiliser de bootloader du tout.
Effectivement, le comportement est variable en fonction des Bluepill (clone, original, qualité des composants, etc...).
Pour les Bluepill, le seul moyen de vérifier est d'acheter ! Parfois les clones sont de meilleure qualité !
Je te propose de continuer la discussion sur le Github si besoin ou MP !
[ Dernière édition du message le 30/08/2020 à 12:12:33 ]
thekik
202
Posteur·euse AFfiné·e
Membre depuis 18 ans
17 Posté le 30/08/2020 à 13:05:09
NB : J'ai transféré ce topic dans la bonne rubrique, comme recommandé par Chimimic !
https://fr.audiofanzine.com/les-mains-dans-le-cambouis/forums/t.717385,interface-midi-usb-3-in-out-jusqu-a-15-in-out-avec-routage-et-transfo-midi.html
https://fr.audiofanzine.com/les-mains-dans-le-cambouis/forums/t.717385,interface-midi-usb-3-in-out-jusqu-a-15-in-out-avec-routage-et-transfo-midi.html
- < Liste des sujets
- Charte
- 1
- 2