Arduino Hilfe gesucht (Old Crow Yamaha CS15 Interface)

fanwander

fanwander

************************
Hallo,

Ich versuche gerade die Software für das Yamaha CS-15 MIDI-Interface von Scott Rider aka Oldcrow auf ein Arduino zu bannen, laufe aber total in einen Fehlermeldungswald. Ich bin in Programmier-Hinsicht ein ziemlicher noob, vermute aber, dass die ganzen Fehler einfach mit dem Alter des Codes zutun haben und auf einer heutigen Arduino-Version (1.8.13) nicht laufen. Zwei Include-Pfade konnte ich inzwischen schon korrigieren, aber dann lassen einfach meine Programmier-Fähigkeiten aus.

Daher die Frage: kann mir jemand den Code von Scott Rider so korrigieren, dass er mit der aktuellen Arduino-Version funktioniert?

Den Code gibts hier: https://github.com/cs80/CS15_SSK/tree/master/YamahaSSK_MIDI_legato

Gruß
Florian
 
Vorerst mal Entwarnung (nach diversem Googlen und C-Grundlagen-Lesen):

Die includes müssen so aussehen (meine Änderungen fett):
#include <MIDI.h> // MIDI Library 4.1
MIDI_CREATE_DEFAULT_INSTANCE(); // added by flanwan

#include <midi_Defs.h>
#include <midi_Namespace.h>
#include <midi_Settings.h>

//#include <interrupts.h>
//#include <pgmspace.h> // For tables in ROM
#include <avr/interrupt.h> //changed by flanwan
#include <avr/pgmspace.h> // For tables in ROM //changed by flanwan
#include <SPI.h> // used to communicate with the DAC
#include <DAC_MCP49xx.h> // DAC lib


und die Array-Definitionen so:
statt
PROGMEM prog_uint8_t midiKeyVal[]
muss es heißen:
const PROGMEM uint8_t midiKeyVal[]

Jetzt kompiliert der Code.

Ausprobiert habe ich ihn noch nicht... ;-)
 
@fanwander
Kann zum Thema leider nichts konstruktives beitragen.
Mich würde aber der Hintergrund des Ganzen interessieren.
Ist das eine interne Midi Lösung?

PS:ist reines Interesse für eine evtl interne Lösung, mein CS15 hängt an einem ProSolo und funktioniert hervorragend, jedoch sind das dann immer Kabel und div. HW-Verhau incl. Zwei benötigte Spannsquellen mit einer ungeliebter Wandwarze...
 
Ich wollte mal kurz Laut zum Thema geben. Die Keyassigner-Funktionalität selbst arbeitet einwandfrei, aber MIDI tut nicht. Ich hab jetzt ein bisschen nachgeforscht, und den ursprünglichen Thread auf Muffs gefunden (https://www.muffwiggler.com/forum/viewtopic.php?t=108986). Und da sagt Scott Rider selbst, dass er seltsames Verhalten hat:
"Some of the MIDI outputs are just strange. If anyone has this unit, as an example does pressing E3 and holding it, then pressing D#3, D3,or C#3 cause the 2nd note to not transmit a MIDI message? Either the unit's microcontroller is broken or the firmware is buggy. There are other odd MIDI message outputs on other keys, too."

Da muss man wohl nochmal über den Atmel Code drüber
 
@fanwander
Kann zum Thema leider nichts konstruktives beitragen.
Mich würde aber der Hintergrund des Ganzen interessieren.
Ist das eine interne Midi Lösung?

PS:ist reines Interesse für eine evtl interne Lösung, mein CS15 hängt an einem ProSolo und funktioniert hervorragend, jedoch sind das dann immer Kabel und div. HW-Verhau incl. Zwei benötigte Spannsquellen mit einer ungeliebter Wandwarze...

Ich habe inzwischen eine komplett eigenständige Platine und Firmware entwickelt.


Die Firmware macht im Moment nur das Keyboard selbst und MIDI-In. Aber es ist jede Menge mehr denkbar. Die Firmware kann zB einen zusätzlichen Trigger-Input auswerten, und fünf optionale Taster (die man natürlich irgendwie einbauen müsste).

Die Parameter-Setzung kann man dann wie beim Minimoog Reissue durch Drücken bestimmter Akkorde beim Einschalten machen.
 
Zuletzt bearbeitet:
Hmmm...frag doch mal John Bowen, vielleicht kann er Dir etwas helfen? Der ist eigentlich sehr hilfsbereit. Die Yamaha-Leute sind nicht mehr zu ermitteln, höchstens über Yamaha selbst.

jb@johnbowen.com
 
Hmmm...frag doch mal John Bowen, vielleicht kann er Dir etwas helfen? Der ist eigentlich sehr hilfsbereit. Die Yamaha-Leute sind nicht mehr zu ermitteln, höchstens über Yamaha selbst.

jb@johnbowen.com
??? Für was? Ich habe doch inzwischen ein funktionierendes Ersatz-System. (Ich weiß auch inzwischen, warum die Firmware von Scott nicht funktioniert)

PS: John kam 15 Jahre nach dem CS15 ins Yamaha-Umfeld
 
Zuletzt bearbeitet:
??? Für was? Ich habe doch inzwischen ein funktionierendes Ersatz-System. (Ich weiß auch inzwischen, warum die Firmware von Scott nicht funktioniert)

PS: John kam 15 Jahre nach dem CS15 ins Yamaha-Umfeld
Ich glaube hier war nicht ganz klar, dass der Thread mittlerweile 4,5 Jahre alt ist ;-) Ich wollte Dir auch schon antworten, dass Open AIs neus Coding Modell 03-Mini-highi brutal gut ist und mit Sicherheit schneller hilft als zu Googeln. :D Dann hatte ich mal aufs Datum geschaut. Da waren wir von ChatGPT in freier Wildbahn noch weit entfernt.
 
Ich glaube hier war nicht ganz klar, ...
Ungefähr so.
(man könnte auch vorschlagen, von Threads, auf die man antwortet, zumindest die neuesten Einträge zu lesen, bevor man antwortet, aber das überfordert manchen Leute ..)
 
Zuletzt bearbeitet:
Hi @fanwander
hast du evtl. ein PCB über? würde das interface gerne in mein CS5 bauen
Von der Old-Crow-Version habe ich welche übrig, ob die für den CS5 passt weiß ich nicht. Aber von meiner eigenen Version habe ich im Moment keine. Aber die Eagle-Dateien liegen auf meinem Webserver... (siehe nächstes Posting)
 
Zuletzt bearbeitet:
Hi @fanwander
hast du evtl. ein PCB über? würde das interface gerne in mein CS5 bauen
Ich hab mir jetzt das Service Manual des CS5 und des CS10 angesehen. Der ist von der Aufteilung der Funktionen auf die Platinen komplett anders aufgebaut. Das passt leider nicht. Auch nicht mit meiner Platine. Für einen CS5 oder CS10 ist ein MIDI->CV/Hz Interface die einfachere Lösung.
 
Zuletzt bearbeitet:
@fanwander
ich hab das Kenton USB-Solo. wäre das nicht der Fall, hätte ich bestimmt versucht dich zu überreden, auch ein Interface für mich anzufertigen :D

so eine intern verbaute Lösung ist schon genial. beim Kenton ist immer das Problem, wenn ich MIDI Noten haben will, dass ich die Audiokabel vom CV/Gate anstecken muss, und abziehen, wenn ich frei spielen will.
 
Ich hab mir jetzt das Service Manual des CS5 und des CS10 angesehen. Der ist von der Aufteilung der Funktionen auf die Platinen komplett anders aufgebaut. Das passt leider nicht. Auch nicht mit meiner Platine. Für einen CS5 oder CS10 ist ein MIDI->CV/Hz Interface die einfachere Lösung.
ja ich benutzte für die Ansteuerung meines CS5 von Ucapps die Midibox CV die sowohl CV / Hz kann funktioniert ja auch
aber so ein internes Midi Interface wäre schon klasse...

LG
 


Zurück
Oben