Forum: Mikrocontroller und Digitale Elektronik USB DJ Controller (MIDI + AudioInterface)


von Thomas O. (tom-tom92)


Lesenswert?

Hallo,

leider gibt der Markt was DJ-Controller (für VirtualDJ oder Traktor) 
angeht nicht genau das her, was ich benötige, daher würde ich gerne 
selbst einen bauen.

Der Midi-Controller selbst ist nicht das Problem. Da gibt es mehr als 
genug Projekte, an denen ich mich orientieren kann.
(z.B. Traktorino => https://www.musiconerd.com/projects/traktorino/ )

Zusätzlich brauche ich eine Soundkarte mit 1x Mic in, 1x Line in, 2x 
Line out)
(Mikrofon in, AUX in, Master out, Kopfhörer out)

Option 1: Ich setz mir einen kleinen USB-Hub-Interface-IC auf mein Board 
und dahinter meine Midi Interface und eine USB-Audio Interface.

Option 2 (mein Vorhaben): Umsetzen, wie man's von den professionellen 
Controllern kennt:
Das Teil findet man als "DJ-Controller XY" am PC und nicht als 2 
verschiedene Geräte.

z.B. ich hab hier ein DJ-Controller von Numark liegen, darauf ist ein 
CY8C3246LTI-uC verbaut und dazu zwei PCM5101A

Aktuell trete ich ein wenig auf der Stelle zu Option 2.
- Umsetzbar mit moderatem Zeitaufwand Ja/Nein?
- welcher Controller könnte Sinn machen? (STM?)
- Wie implementiert man sowas? (Bräuchte ein paar Stichworte zum 
Recherchieren)
- Kennt jemand ein Projekt, an dem man sich etwas orientieren kann?

Grüße
Thomas

von Harald K. (kirnbichler)


Lesenswert?

Thomas O. schrieb:
> - Umsetzbar mit moderatem Zeitaufwand Ja/Nein?

Hängt von Dir ab

> - welcher Controller könnte Sinn machen? (STM?)

Den, den Du am besten kennst, und der von seinen Fähigkeiten für die 
Aufgabe ausreicht (USB-Devicecontroller und geeignete 
Audio-Schnittstelle wie z.B. IIS muss vorhanden sein)

> - Wie implementiert man sowas? (Bräuchte ein paar Stichworte zum
> Recherchieren)

USB-Stack zum Laufen bekommen, "composite device" zusammenklöppeln.

Die Teile davon sollten jeweils die Standardgeräteklassen (HID/Midi und 
USB Audio) nutzen, denn Du willst auf keinen Fall eigene Devicetreiber 
basteln müssen.

Für USB-Audio ist isochrone Übertragung nötig.


Wesentlich einfacher ist Deine Lösung aus USB-Hub und fertigem 
USB-Audio-Baustein. Was ist daran schlimm? Dem Gehäuse Deines Gerätes 
sieht man das nicht an.

von Thomas O. (tom-tom92)


Lesenswert?

Danke für dein Antwort.

Naja, was UART per USB übersteigt ist Neuland für mich.

Die uC-Frage kam in erster Linie, da ich bisher nur die klassischen 
ATMega's und den RP2040 nutze. Und die scheiden ja wegen fehlendem I2S 
aus.
=> Heißt eigentlich ist es egal. Im Idealfall ist die IDE kostenlos und 
die Programmer bezahlbar.

Dass Standard-Treiber von Vorteil sind, ist mir bewusst. Machen die 
Großen auch nicht anders.

Meine aktuelle Recherche hat hervorgebracht:

Mögliche Controller:
* Teensy 4.0/4.1 => Hier kann man in der Arduino-IDE bei USB-Type: 
Serial+Midi+Audio auswählen - evtl mal einen Versuch wert.

* STM32F4xx
=> hier habe ich z.B. dieses Projekt gefunden - Preislich überschaubar 
für "mal bisschen spielen"
https://github.com/har-in-air/STM32F411_USB_AUDIO_DAC/tree/main

* die XMOS Controller schein so das Beste am Markt zu sein.


Die USB-HUB + 1-Chip Soundkarte scheint einfacher, als es ist.

* gibt nur diese "MIC + LINE OUT"-Teile. 16 bit. Ich wünsche mir 24bit 
bei 44,1/48kHz
(die 192kHz kann man mitnehmen, aber ein Muss ist es nicht.)
* Die haben dann am PC alle den gleichen "Product String", so dass sich 
niemand mehr auskennt, welcher der Soundkarten welche ist.

=> eine Option die hier noch einen Blick wert ist, wäre:

USB-to-I2S Bridge CP2615 mit einem etwas größerem Audio-Codec hinten 
dran.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thomas O. schrieb:
> * gibt nur diese "MIC + LINE OUT"-Teile. 16 bit.

Kommt drauf an, wo du nachguckst:
https://www.thomann.de/de/esi_u22_xt.htm
https://www.thomann.de/de/swissonic_audio_1.htm
https://www.thomann.de/de/swissonic_audio_2.htm
usw.
Du solltest nach USB-Audio und nicht nach USB-Sound suchen.

von Andreas M. (amesser)


Lesenswert?

Der RP2040 kann mindestens 8 I2S interfaces parallel (2 Pio x 4 
Statemachines). Das sollte ja wohl reichen.

von Andreas M. (amesser)


Lesenswert?

Dazu dann noch ein AK4619VN von AsahiKASEI (4x24Bit ADC + 4x32Bit DAC 
@192kHz)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Andreas M. schrieb:
> Der RP2040 kann mindestens 8 I2S interfaces parallel (2 Pio x 4
> Statemachines). Das sollte ja wohl reichen.

Sicher ist der Pico nicht die schlechteste Wahl, wenn man sich mal mit 
den Statemachines und PIO beschäftigt. Probleme sehe ich höchstens auf 
der USB Seite und die Implementierung eines kombinierte Device.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Matthias S. schrieb:

> Probleme sehe ich höchstens auf
> der USB Seite und die Implementierung eines kombinierte Device.

Sollte mit dem aktuellen SDK (bzw. der darin enthaltenen Version von 
TinyUSB) machbar sein. Ich konnte jedenfalls auf den ersten Blick nichts 
entdecken, was dem wiederspräche.

Aber OK: sonderlich einfach ist es sicher nicht. Aber das sind 
Nichtstandard-Sachen sowieso eher selten. Es kam schon immer etwas 
teuerer, was Besonderes haben zu wollen...

von Stephan S. (uxdx)


Lesenswert?

Thomas O. schrieb:
> Zusätzlich brauche ich eine Soundkarte mit 1x Mic in, 1x Line in, 2x
> Line out)
> (Mikrofon in, AUX in, Master out, Kopfhörer out)

Sowas hier?
https://de.aliexpress.com/item/1005004887829594.html
https://de.aliexpress.com/item/1005005779021332.html
gibts von 35 Anbietern

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.