Welcome to Schneider / Amstrad CPC Forum. Please login or sign up.

28. March 2024, 21:29:18

Login with username, password and session length

Shoutbox

TFM

2024-01-15, 17:06:57
Momentan billige Farbbänder auf Ebay für PCW

Devilmarkus

2023-07-09, 10:37:40
Zweiter 👋😂🤣

TFM

2023-06-13, 14:21:49
Sommerloch!

TFM

2023-05-30, 17:00:20
Erster ;-)

Recent

Members
Stats
  • Total Posts: 11,654
  • Total Topics: 1,328
  • Online today: 113
  • Online ever: 1,724
  • (16. January 2020, 00:18:45)
Users Online
Users: 2
Guests: 104
Total: 106

104 Guests, 2 Users
Doc schneider, xesrjb

LambdaSpeak FS - MIDI (Software)

Started by TFM, 16. February 2021, 02:02:22

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

TFM

TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

LambdaMikel

Wenn Du rausfindest, wie das zu patchen ist... sicherlich!  :)
Sonst müsstest Du den LS MIDI-Code angucken.

TFM

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.
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

LambdaMikel

Ist die Software denn gut? Für LS hatte ich die MIDI-Input-Routinen ja sogar mehrstimmig / polyphon z.B... und das in Echtzeit.

TFM

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:
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

LambdaMikel

#5
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




TFM

TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

LambdaMikel

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.

TFM

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...
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

LambdaMikel

#9
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.



TFM

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).
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

TFM

#11
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/
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

LambdaMikel

Hallo TFM,

RX <-> RX, TX <-> TX, VCC <-> + / 5V, GND <-> - / GND

TFM

Du meinst...


LS        MIDI Breakout
TX  <---> TX
RX  <---> RX
5V  <---> + (Vcc)
GND <---> - (GND)
TFM of FutureSoft
http://www.futureos.de --> Das Betriebssystem FutureOS (Update: 20.12.2023)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 26.12.2021)

LambdaMikel

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)