Schneider / Amstrad CPC Forum

Amstrad / Schneider CPC => Hardware => Topic started by: TFM on 16. February 2021, 02:02:22

Title: LambdaSpeak FS - MIDI (Software)
Post by: TFM on 16. February 2021, 02:02:22
Können wir das hier nutzen?
http://cpcrulez.fr/hardware-audio-interface_miditrack_performer.htm
Title: Re: LambdaSpeak FS - MIDI Software
Post by: LambdaMikel on 17. February 2021, 02:56:23
Wenn Du rausfindest, wie das zu patchen ist... sicherlich!  :)
Sonst müsstest Du den LS MIDI-Code angucken.
Title: Re: LambdaSpeak FS - MIDI Software
Post by: TFM on 17. February 2021, 15:29:28
Die Software ist mit dem mitgelieferten MIDI Gerät (vier Anschlüsse) über eine serielle Schnittstelle verbunden.

Der LS3/LFS bedient die MIDI-Erweiterung auch über den seriellen Modus.

Idee: Sehen wo man die seriellen Routinen patchen kann um den LS anstatt die Original-Hardware anzusprechen.
Title: Re: LambdaSpeak FS - MIDI Software
Post by: LambdaMikel on 17. February 2021, 17:01:18
Ist die Software denn gut? Für LS hatte ich die MIDI-Input-Routinen ja sogar mehrstimmig / polyphon z.B... und das in Echtzeit.
Title: Re: LambdaSpeak FS - MIDI Software
Post by: TFM on 18. February 2021, 02:13:05
Die Software soll gut sein. (Sagt man in Frankreich jedenfalls).

Leider hab ich kein Midi, Keyboard o.ä. Also würde ich das mal trocken coden.

Offtopic: Zuvor will ich aber mal sehen ob ich Prodatrons Digitracker für den LS anpassen kann, er hat ja freundlicherweise den Source ins Netz gestellt. Das sollte schneller ein Ergebnis bringen.  :smiley027:
Title: Re: LambdaSpeak FS - MIDI Software
Post by: LambdaMikel on 18. February 2021, 03:41:19
Quote from: TFM on 18. February 2021, 02:13:05
Die Software soll gut sein. (Sagt man in Frankreich jedenfalls).

Leider hab ich kein Midi, Keyboard o.ä. Also würde ich das mal trocken coden.

Aber das Midi-Interface hast?

https://www.amazon.com/ubld-it-MIDI-Breakout-Board-EZ/dp/B08JC1SZHG/

Wenn nicht schicke ich Dir eines. Zusammengebaut.

Und was MIDI IN & OUT angeht: das geht so nicht - da müssen wir Dir was günstiges bei Ebay bestellen!

Mit Tipp wäre, soetwas hier: die älteren Casio CTs > 650 sind super für das Geld, und haben echte MIDI IN / OUT DIN (nicht USB)
mit sehr guter Midi-Implementation. Und gute PCM-Klänge und multitimbral.

https://www.ebay.de/itm/Tone-Bank-Keyboard-Casio-CT-700-Notenstander-Netzteil-Tasche-USB-MIDI-Interface/193865847183?hash=item2d234e118f:g:4zwAAOSwoBlgAtdW

https://www.ebay.de/itm/Casio-keyboard-CT-700/133664174780?hash=item1f1f0172bc:g:SuUAAOSwZ1RgFawI



Ich hätte das hier gekauft, für 30 €:
https://www.ebay.de/itm/193861195570

Aber leider nur Abholung  :banghead:


Damit hatte ich damals (~ 1989 ) auf dem Amiga 500 mit MIDI angefangen:

https://www.ebay.de/itm/Keyboard-Casio-ToneBank-CA-670/254870149040?hash=item3b5771d7b0:g:zYEAAOSwuqNf81Ki



Title: Re: LambdaSpeak FS - MIDI Software
Post by: TFM on 18. February 2021, 17:29:08
Quote from: LambdaMikel on 18. February 2021, 03:41:19
Aber das Midi-Interface hast?
https://www.amazon.com/ubld-it-MIDI-Breakout-Board-EZ/dp/B08JC1SZHG/
Danke für die Info, hab ich gleich ins Handbuch übernommen.  :)
Title: Re: LambdaSpeak FS - MIDI Software
Post by: LambdaMikel on 22. February 2021, 17:22:03
Die SF3 Leute haben jetzt auch MIDI an Board (na besser spät als nie!), und ebenfalls dieses Programm erweitert  :)

Ich werde mich mal daran setzen, meine MIDI-Routinen von 2019 für LS3 anzupassen. Mir schwebt vor, einen MIDI-Compiler zu implementieren. Idee ist: MID-Datei einlesen auf dem PC, MIDI Abspiel-Programm für den CPC wird generiert. Für LS3 / LS-FS.
Title: Re: LambdaSpeak FS - MIDI Software
Post by: TFM on 22. February 2021, 17:33:49
Das hört sich nach viel Arbeit an. Gut ist es, wenn wir so viel wie möglich am CPC machen können, so dass man nicht extra einen PC dazu braucht. Aber ich kenne mich (noch) zu wenig mit der Thematik aus. Bin aber (bald) dran...
Title: Re: LambdaSpeak FS - MIDI Software
Post by: LambdaMikel on 22. February 2021, 19:23:09
So schlimm ist das nicht. Auf dem PC gibt es jede Menge Python / Java libraries, die MID-Dateien parsen können. Das ist die Hauptarbeit.
Das EMR-Programm ist zwar ganz witzig, aber zum Abspielen von Standard-MID-Dateien natürlich nicht geeignet... insofern ist man auf die paar mitgelieferten Demo-Songs angewiesen. Schöner wäre, wenn man jede MID-Datei aus dem Internet damit abspielen könnte.

Wohlgemerkt - ein MIDI-Echtzeit-Sequenzer auf dem CPC macht Sinn (MIDI In mit dem CPC!), aber zum Abspielen von Standard-MID-Dateien, die es wie Sand am Meer gibt, will man etwas anderes haben als das EMR-Abspielprogramm.

Hier eine einfach MIDI OUT Demo, Random Pitch Note:


10 MODE 2
20 PRINT "LambdaSpeak 3 MIDI DEMO"
30 PRINT "(C) 2019 by LambdaMikel"
40 OUT &FBEE,&F1
50 WAIT &FBEE,16 
60 OUT &FBEE,255
70 WAIT &FBEE,16
80 OUT &FBEE,30
90 WAIT &FBEE,16   
100 OUT &FBEE,6
110 WAIT &FBEE,16 
120 OUT &FBEE,255
130 OUT &FBEE,16
140 WAIT &FBEE,16   
150 OUT &FBEE,255
160 OUT &FBEE,15
170 REM
180 a$=INKEY$:IF a$="" THEN 180
190 i=1:pitch=ROUND(RND(1)*128):vol=127
200 OUT &FBEE,&90+i
210 OUT &FBEE,pitch
220 OUT &FBEE,vol
230 REM
240 OUT &FBEE,&80+i
250 OUT &FBEE,pitch
260 OUT &FBEE,vol
270 GOTO 180


Wie Du siehst, ist MIDI Output wirklich super einfach, sogar von BASIC aus möglich.

https://www.cs.cmu.edu/~music/cmsip/readings/davids-midi-spec.htm

Hier werden in der Hauptschleife vom BASIC-Programm also einfach Note On (&90+channel)  und Note Off (&80+channel) für eine Zufalls-Note gesendet:


200 OUT &FBEE,&90+i
210 OUT &FBEE,pitch
220 OUT &FBEE,vol
230 REM
240 OUT &FBEE,&80+i
250 OUT &FBEE,pitch
260 OUT &FBEE,vol


MIDI Eingabe / MIDI IN mit dem CPC ist dagegen NICHT so einfach... und benötigt natürlich Machine Code.
Das hatte ich allerdings ebenfalls schon implementiert in MAXAM, sogar mit AY CPC Soundausgabe für die empfangenden NOTE ON / NOTE OFF messages, und "Midi Soft Through", d.h., was empfangen wurde, wurde auch wieder ausgegeben, in Echtzeit.

Hier, Eingabe / MIDI IN in den CPC von der Microkorg (stummgeschaltet, nur für MIDI!), dann CPC-MIDI-Soundausgabe, und MIDI Out "Echo" ("Soft Through") and den Yamaha-Expander:

&t=24s

Das MAXAM-Programm ist auf der LS3 DSK.

Die SF3-Leute sollen erstmal MIDI IN, CPC MIDI Sound, und gleichzeitig MIDI Soft Through in Echtzeit wie hier gezeigt mit dem SF3 hinkriegen, erst dann bin ich beeindruckt  :D :)  ;)

Nur MIDI Abspielen ist nicht spannend.


Title: Re: LambdaSpeak FS - MIDI Software
Post by: TFM on 23. February 2021, 13:06:25
Wie es aussieht emuliert das SF3 die EMR Hardware ohne Anpassung der Software - auch ein Weg.
Es scheint sich nicht all zu viel MIDI Software zu finden, das hier ist aus der CPCAI von 1987. Muss mal den .BIN Teil disassemblieren (oder in die Ausgabe reinschauen, ist gleich hier ums Eck).
Title: LambdaSpeak FS - MIDI - Breakout board anschließen
Post by: TFM on 26. February 2021, 16:02:23
Greetings users!

Jetzt frage ich mal hier im Forum, denn die Antwort ist ja von allgemeinem Interesse...

Der LambdaSpeak FS hat vier Pins am seriellen Port, das MIDI Breakout board hat auch 4 Pins.
Welche Pins verbinde ich nun mit welchen?

Breakout board:
https://www.amazon.com/ubld-it-MIDI-Breakout-Board-EZ/dp/B08JC1SZHG/
Title: Re: LambdaSpeak FS - MIDI (Software)
Post by: LambdaMikel on 26. February 2021, 16:32:29
Hallo TFM,

RX <-> RX, TX <-> TX, VCC <-> + / 5V, GND <-> - / GND
Title: Re: LambdaSpeak FS - MIDI (Software)
Post by: TFM on 26. February 2021, 17:21:42
Du meinst...


LS        MIDI Breakout
TX  <---> TX
RX  <---> RX
5V  <---> + (Vcc)
GND <---> - (GND)
Title: Re: LambdaSpeak FS - MIDI (Software)
Post by: LambdaMikel on 26. February 2021, 17:38:52
Quote from: TFM on 26. February 2021, 17:21:42
Du meinst...


LS        MIDI Breakout
TX  <---> TX
RX  <---> RX
5V  <---> + (Vcc)
GND <---> - (GND)


Genau! Und wenn das nicht klappt (sollte es aber!), habe ich RX / TX verwechselt. Bei einigen UART-Modulen muss es RX <-> TX, TX <-> RX sein.
Beim MIDI Modul bin ich mir aber fast 100% sicher, dass es TX <-> TX, RX <-> RX ist; ich habe glaube ich sogar einen Sticker draufgeklebt weil ich das auch immer verwechselt habe.

Als ersten Test würde ich das MIDI-Zufallsnote-Programm von oben verwenden (s. INKEY$="" GOTO loop, Du musst also ne Taste am CPC drücken damit die nächste Zufallsnote kommt)
Title: Re: LambdaSpeak FS - MIDI (Software)
Post by: TFM on 07. May 2021, 15:03:24
Leider hat das Forum hier einen Beitrag von mir gefressen, macht aber nix.
Kurzversion: Unter 'https://www.midi.org/' gibt's ja jede Menge Dokumente zu MIDI.  :gruebel:

Trotzdem hier eine Frage: Gibt es ein schönes Dokument welche Kommandos ich für MIDI OUT nutzen kann? (also CPC sendet Daten z.B. an Keyboard, welches Daten/Noten dann spielt).

Wenn ja, bitte hier reinstellen. Ist ja u.U. auch für andere Leute hier interessant.  :flehan:
Title: Re: LambdaSpeak FS - MIDI (Software)
Post by: LambdaMikel on 09. May 2021, 21:28:25
Also ich finde das hier immer noch am verdaulichsten:

https://www.cs.cmu.edu/~music/cmsip/readings/MIDI%20tutorial%20for%20programmers.html
Title: Re: LambdaSpeak FS - MIDI (Software)
Post by: TFM on 09. May 2021, 21:49:15
Danke, das ist sehr hilfreich.  :smiley027:
Title: Re: LambdaSpeak FS - MIDI (Software)
Post by: TFM on 14. May 2021, 16:52:12
Wenn man sich kein teures Keyboard kaufen will, dann kann man auch die Chill 2 Karte verwenden.
Hier im Team mit dem LFS...



Ganz feine Sache!