Supersimples Midi -> CV Interface

Widy75

|||||
nordcore schrieb:
Mehrere Konfigurationen stehen auf der ToDo-Liste. Das wird dann mit dem zweiten Taster bedient.
(Idee: Taste drücken und Poti auf gewünschte Konfig drehen... mal sehen. )
hm poti + taster .... brauchst da net auch a display wast ausgewählt hast :)
wär doch simpler ein 3 fach switch für 3 configs .... is aber hw änderung .. auch doof

bezüglich panel .. ja da helf i gern ... wir könnten uns ja mal im skype zusammen reden ist oft leichter als pm / forum

lg widy
 
3

3456778674

Guest
Man könnte an Btn. 2 einen Kippschalter mit Mittelstellung anschließen, der zwischen 3 Konfigs wählt - da muss man nur einen Widerstand "frei" verdrahten = an die Schalterpins löten.
(Der Eingang lässt sich als AD-Wandler Eingang einstellen und hat auf der Platine einen 10K Pullup. Wenn man da noch einen 10k extern lötet, dann hat man schaltbar 5V (offen), 2,5V(10k gegen Masse) und 0V(Masse) am Eingang - je nach Schalterstellung.)
 

fairplay

||||||||||||
nordcore schrieb:
Man könnte an Btn. 2 einen Kippschalter mit Mittelstellung anschließen
...ich habe hier noch einen - ich glaube es sind sieben - Positions-Drehschalter...da könnte man ja evtl. auch mit festen Widerstandswerten arbeiten?...
 
3

3456778674

Guest
Patchwahl mit Drehschalter:
Das geht auch, auch wenn man dafür die Schaltung zweckmäßigerweise minimal anders macht. (10k auf der Platine auslöten und dann eine Widerstandskette gleicher Widerstände an den Schalter löten. Dazu muss man sich dann halt die 5V von einem der "IN" Stecker ausleihen)
Ebenso kann man da ein Poti anschließen, das hat dann halt keine Rastung - wenn man es zwischen die Skalenstriche stellt, dann ist nicht so ganz klar war rauskommt, dafür ist es einfach zu bauen und kost fast nix.

Eine grundsätzliche Überlegung ist, wie viele "Patches" man haben will. Derzeit hat ein Patch 12 Byte und es gibt 512Byte Eprom, da hätte man Platz für rund 40 Patches, aber so knapp will ich das auf keinen Fall auslegen. Wird wohl auf 8 (à 63Bytes maximal) oder 16 (à 31 Byte) Patches hinauslaufen.

Mindestens ein Byte "globale Konfiguration" braucht man, um die Art der Patchwahl (unabhängig vom Patch) festzulegen. Da einige für Btn.2 einen Taster eingebaut haben, wird es auf jeden Fall eine Lösung geben, die auch damit funktioniert. Irgendwo muss der Controller sich dann aber merken, das er "Schalter mit Widerstand" hat und wie viele Stellungen das gibt.


Plan B für die Wahl: Taster drücken, Note auf dem Keyboard spielen. Oktaven würde ich dabei ignorieren, das sind 7 oder 12 Möglichkeiten. (Evtl. kann man die schwarzen Tasten noch für was anderes gebrauchen... )

Plan C: man nimmt das Midi-Kommando für "Patch Select". (Gefällt mir eher nicht, da es üblicherweise ständig von allen möglichen mehr oder weniger dazu berufenen Stellen geschickt wird... und da es keine Anzeige dafür gibt, wird das schnell nervig. )

Plan D: Morsen. Man drückt den Taster 1..4 mal (mehr ist eher nicht praktikabel) relativ schnell hintereinander.
 

fairplay

||||||||||||
nordcore schrieb:
Plan D: Morsen. Man drückt den Taster 1..4 mal (mehr ist eher nicht praktikabel) relativ schnell hintereinander.
...mit Erkennung des korrekten Rhythmus beim Eintippern (kurz-lang-kurz) :phat: ...wer falsch klopft kriegt einen random-patch :agent: ...
 

a.xul

||||||||
ich spinn mal etwas rum: sehe ich das richtig, dass bei der kleinen platine ein weiterer mcp4922, angeschlossen wie in der schaltung zur grossen platine einem die weiteren 2 cv ausgaenge + 2 gates liefert? spricht etwas dagegen?

edit: hintergrund ist der, dass ich fuer die grosse schon eine frontplatte designt habe (und mit der grossen auch schon erfolgreich aufgebaut). ich brauche aber die kleine platine um die in ein weiteres, aber flaches gehaeuse zu bauen.
 
3

3456778674

Guest
Die Gates sind auch ohne den D/A-Wandler da, die kommen direkt aus dem Controller. Auf der großen Karte sind da nur noch 1kOhm-Reihenwiderstände, damit die Ausgänge robuster werden. Die kannst du aber auch an die Buchse löten und mit Schrumpfschlauch versehen.

Der 2. Wandler ist, bis auf die Ausgänge und den /CS-Pin parallel zum ersten, den könntest du huckepack auf den ersten drauf löten und nur die drei unterschiedlichen Pins abspreizen und mit Litze verkabeln.
 

a.xul

||||||||
nordcore schrieb:
Die Gates sind auch ohne den D/A-Wandler da, die kommen direkt aus dem Controller. Auf der großen Karte sind da nur noch 1kOhm-Reihenwiderstände, damit die Ausgänge robuster werden. Die kannst du aber auch an die Buchse löten und mit Schrumpfschlauch versehen.

Der 2. Wandler ist, bis auf die Ausgänge und den /CS-Pin parallel zum ersten, den könntest du huckepack auf den ersten drauf löten und nur die drei unterschiedlichen Pins abspreizen und mit Litze verkabeln.
coole sache. vielen dank fuer die info!
 
So, für alle die das kleine CV-Interface interessiert:

So sieht meins nach Fertigstellung dann aus ( hier allerdings noch leer und der Anschluss für´s Netzteil auf der falschen Seite).
Das Gehäuse gibt´s bei Reichelt und nennt sich Teko P2.

Mir reicht das so, um meinen SH 101 zu midifizieren, ohne den Synth umzubauen.
 

Anhänge

3

3456778674

Guest
verdamte Axt ... in der letzten Software (006) habe ich das Update verfummelt. Wer die auf dem Controller hat (das ist auch auf allen Controllern drauf, die ich jetzt grade verschickt habe), kann das nächste Update nicht einfach einspielen, sondern muss den Bootlader von Hand starten: Interface bei gedrückt gehaltener Taste einschalten, sobald die LED blinkt, Taste loslassen.
Die LED blinkt jetzt (anders) weiter, das Interface ist im Bootlader und wartet auf ein neues Programm: Jetzt das Sys-Ex File an das Interface schicken.

Ansonsten habe ich den Pitch-Bender repariert (der lies sich (schon seit rev 004 oder so) nicht mehr auf die Noten-Tonhöhe addieren) und noch etwas Bugfixing für Glide/Smooth gemacht.
Dazu (Smooth) gibt es ein neues Panel:


Damit kann man jetzt auch den IN2 als reinen Quantisierer mit optionaler Hz/V Konvertierung verwenden. (Keinen Haken bei "Note" aber einen bei "In 2", "Hz/V" nach Wahl. )
Smooth stellt die Glättung ein, das sind 0,5ms Schritte.

CC auf -1 heißt schlichtweg "kein CC".
Mit Divider auf 0 wird der Clockteiler (für ClockOut) von der Spannung (=dem Poti) an "In 1" bestimmt.

Glide (Portamento) wird mit CC65 aus- und eingeschaltet, mit CC5 wird die Zeit eingestellt. Nur legato gespielte Noten bekommen das Glide verpasst.
Die Portamento-Einstellung wird *nicht* im EEPROM gespeichert und ist nach dem Ausschalten weg.
 

Anhänge

3

3456778674

Guest
Grübel: wenn man die Midi-Controller (CCs) nimmt, um etwas einzustellen, dann ist das ja (üblicherweise) weg, wenn man das Gear aus- und wieder einschaltet. Die Potis am Controller stehen aber noch wie vorher, daher ist das in einer analogen Umgebung ja doch eigentlich falsch. Ist es daher nicht sinnvoll, die CC-Werte "ausschaltfest" beizubehalten?
 

Widy75

|||||
nordcore schrieb:
Grübel: wenn man die Midi-Controller (CCs) nimmt, um etwas einzustellen, dann ist das ja (üblicherweise) weg, wenn man das Gear aus- und wieder einschaltet. Die Potis am Controller stehen aber noch wie vorher, daher ist das in einer analogen Umgebung ja doch eigentlich falsch. Ist es daher nicht sinnvoll, die CC-Werte "ausschaltfest" beizubehalten?
muss net zwangsweise so sein weil:
-wenn i cc verwende dann nur zur automatisierung und da sind ja dann die daten in der daw wieder vorhanden :)
bei mod w/aftertocuh und so zeugs machts ja auch nix ..weil das verwend ich ja beim einspielen ..da bringt das speicher dann auch nix
also von mir aus muss das net sein ..ist aber rein meine arbeitsweise

aber wenns leicht machbar ist .... a zusätzliche optinal option wäre nett :)
note:
achtung dass das speichern auf die echtzeit regelung keinen negativen einfluss hat
lg widy
 
3

3456778674

Guest
Wenn man die CCs nur stumpf auf den Ausgang als "Steuerspannung aus der DAW" gibt, dann muss man natürlich nix speichern.

Ich habe da einen ganz anderen Einsatzfall im Kopf:
Das Interface arbeitet alleine und wird direkt von einem Midi-Keyboard angesteuert, beim musizieren ist das ganze also rechnerfrei.
Das Modularsystem ist nicht so irre groß als das man von allem reichlich hat.
Der Controller hat noch den einen oder anderen Knopf, der CCs senden kann.

Dann kann ich in das Interface einige Funktionen einbauen, die Module ersetzten, sich aber dennoch direkt bedienen lassen.
Das Portamento ist so ein Fall - das könnte ja ebensogut ein Hardware "Slew-Limiter" Module (o.ä.) sein, so sind es eben ein Knopf und ein Regler am Controller (...die man einmal programmiert und beschriftet haben muss). Da ist es dann schon sinnig, wenn die sich halbwegs wie "echte Hartware" verhalten.
 

Widy75

|||||
nordcore schrieb:
Wenn man die CCs nur stumpf auf den Ausgang als "Steuerspannung aus der DAW" gibt, dann muss man natürlich nix speichern.

Ich habe da einen ganz anderen Einsatzfall im Kopf:
Das Interface arbeitet alleine und wird direkt von einem Midi-Keyboard angesteuert, beim musizieren ist das ganze also rechnerfrei.
Das Modularsystem ist nicht so irre groß als das man von allem reichlich hat.
Der Controller hat noch den einen oder anderen Knopf, der CCs senden kann.

Dann kann ich in das Interface einige Funktionen einbauen, die Module ersetzten, sich aber dennoch direkt bedienen lassen.
Das Portamento ist so ein Fall - das könnte ja ebensogut ein Hardware "Slew-Limiter" Module (o.ä.) sein, so sind es eben ein Knopf und ein Regler am Controller (...die man einmal programmiert und beschriftet haben muss). Da ist es dann schon sinnig, wenn die sich halbwegs wie "echte Hartware" verhalten.
ja macht sinn
dann würd ich das so machen dass wenn das interface 2 sec nix empfängt einfach einen dump im speicher ablegen und den beim einsalten recovern
ist besser als on the fly schreiben :) .... so was müsst ja gehen ....
 
3

3456778674

Guest
Muss man eh so machen, weil man ja nur etwa 100000 Schreibzyklen hat, da kann man nicht jeden Mist gleich schreiben.
Im "Echtzeit"-Teil hat das schreiben nix verloren, der Midi-Teil muss ja die Midi-Datenrate halten (alle 320µs ein Zeichen), und der 2kHz Timer mag auch nix, was ernsthaft an die 500µs ran reicht, bevor er schon das nächste mal laufen soll. Ein Byte EEPROM zu schreiben dauert 3,3ms ...
 
3

3456778674

Guest
MrSynthman schrieb:
So, für alle die das kleine CV-Interface interessiert:
So sieht meins nach Fertigstellung dann aus (...)
Mir reicht das so, um meinen SH 101 zu midifizieren, ohne den Synth umzubauen.
...sehr schön ... so hatte ich mir das mit dem "supersimpel" eigentlich mal vorgestellt ....
 

Widy75

|||||
ho

ich hab mir erlaubt das midi interface für ctrlr ein wenig zu erweitern
- protamento
- cc select improved mit namen für off und aftertouch, wenn note oder in selected dann ist das cc select ausgegraut weil net aktiv
- 3 speicher für presets ( man kann auch mehr bauen wenn ma mag prinziep ist immer das gleiche
( zur info wies funktioniert:
i hab einfach eine liste aller modulator namen um alle werte auszulesen ( eine schleife ) die i dann in am array speicher
das array nehm i dann und konvertier alle werte in an hex string ( damit jeder wert genau gleich viel zeichen hat, ist dann leichter beim einlesen )
der hex sting wird dann als panel propety gespeichert ... thats it .... könnt ma auch in a file schreiben und wieder lesen )
- farben ein wenig dunkler ...... das grün ..naja .... kann ma ja wieder rückgängig machen
( ich geb auch zu da ist ein wenig hack dabei.... der grund dafür ist, dass jeder modulator selbst erzeugt und initalisiert wird, das wollen wir aber bei den store und recover buttons nicht .... deswegen gibts da a boolsches flag das beim ersten aufruf alles ignoriert ...... es gab mal ein panel property isRestoring oder so das funzt aber net so wegen multithreading issue im framework selbst ) ... hoff es geht .. da tuts so weit mit ctrlr version 925 ..wer mag kann ja probieren und bugs reporten


ps:das mit dem aftertouch hab i net zum laufen bekommen ... muss mal schauen liegts am ctrlr , keyyboard oder interface :)

lg widy
 

Anhänge

3

3456778674

Guest
Klasse :supi: :supi: :supi:

... und das mit dem Aftertouch guck ich mir gleich mal an...

Edit: gefunden, ist ein Fehler im Atmel-Programm.
 
3

3456778674

Guest
Korrigierte Version:
... erstmal nur zum testen, wenn das alles mit dem Panel zusammenspielt machen wir da am besten 'ne saubere Version 8 draus, wa?
 

Anhänge

3

3456778674

Guest

Anhänge

3

3456778674

Guest
Widy75 schrieb:
- cc select improved mit namen für off und aftertouch, wenn note oder in selected dann ist das cc select ausgegraut weil net aktiv
Sehr gut, das hat mich auch ziemlich genervt, wie es vorher war.

Aber: wenn Hz/V, dann ist der CC-Wert für den Offset zuständig. (63 ist dann Null, dient dem Abgleich der tiefen Töne. )
Solche Doppelbelegungen finde ich eigentlich eher blöd, aber da im Controller der Platz knapp ist und der CC sonst in dieser Einstellung nicht gebraucht wird, war der so gut wie "kostenlos" verfügbar.
 

Widy75

|||||
ups sry für die fehler wegen dem midi kanal :)
ich habs weiterkopiert und hab vergessen die kanal nr zu ändern .. voll der pfusch meinerseits :)
das mit dem hz/v oder geht auch ... i kann da verschiedene listen machen und on the fly austauschen ....also dort wo jetzt 1=1,2=2,128=Aftertouch steht kann ma auch schreiben 63=0,64=1..... und das kann ma auch über SetProperty on the fly setzen ..könnte man im updateGui dazubauen

wenn du die sachen noch net ausbessert hast machi das morgen ... doppelt gemoppelt ist net gut :)
lg widy
 
3

3456778674

Guest
Ich frickel heut abend noch 'n bisken was rum und schick dir dann meinen Stand... dann kannste von da weiter bauen.

Ich würde die CC-Felder (im Moment nur die beiden für Portamento) in ein eigenes Feld setzen wollen, denn die gehören ja so gar nicht zum Patch und dem was geschrieben wird. Und dann denke ich mal drüber nach, wie man das Patchwahlfeld rechts mit dem Atmel-EEPROM verbandelt bekommt...
 
Re: AW: Supersimples Midi -> CV Interface

nordcore schrieb:
Da eigentlich alle ihre Teile jetzt haben sollten (bis auf den einen gestern eingestecken... ) hier eine leicht aktualisierte/komplettierte Bauanleitung für die große Version:
Bauanleitung:
Link zum Warenkorb ist in der Anleitung!
Information

Du hast keine Berechtigung, diesen Dateianhang herunterzuladen.
 
3

3456778674

Guest
Sieht schick aus.

... nur: dein Poti hat 17 Stellungen, für 16 Stellungen müsste das von 0..15 oder von 1...16 gehen.
 
3

3456778674

Guest
... wobei sich da der Vorteil offener Software zeigt... bevor es gar zu fies würde (teure Schaefer Front schon bestellt...) ... wird an passender Stelle eben durch 17 statt durch 16 geteilt.
 
das ist wohl wahr... könnte man notfalls eben die Software zur Frontplatte schreiben... :roll:

Hier die berichtigte Version... und in Weiss...

 

Morbid

|||||
So, hab es jetzt auch endlich geschafft das Teil aufzubauen und funktioniert auch soweit.
Nur den Clock Divider bekomme ich nicht zum laufen, dachte erst ich hätte den Poti (wie immer) falsch rum angelötet also anders rum gelötet aber es passiert einfach nichts.
Sind 10k Lin zu wenig?
Was könnte da der Fehler sein?
 


News

Oben