MIDI-Programmierung mit Lazarus

Für Probleme bezüglich Grafik, Audio, GL, ACS, ...
Antworten
Developer CPS
Beiträge: 15
Registriert: Fr 28. Aug 2015, 18:44
OS, Lazarus, FPC: Windows 10 (L 1.4.4, FPC 2.6.4)
CPU-Target: 64-Bit
Wohnort: Baden-Württemberg, Deutschland
Kontaktdaten:

MIDI-Programmierung mit Lazarus

Beitrag von Developer CPS »

Hallo liebe Community,

ich habe folgende Frage: Gibt es eine Möglichkeit, mit Lazarus MIDI-Geräte anzusteuren bzw. Signale von ihnen zu empfangen? Hab schon ein bisschen recherchiert, hab bis jetzt aber noch keine funktionierende Lösung gefunden (mit Delphi scheint es zu funktionieren, für Lazarus hab ich nix gefunden...).


Danke und Grüße

DeveloperCPS

AndreasMR
Beiträge: 98
Registriert: Di 4. Aug 2015, 15:29
OS, Lazarus, FPC: Linux, Raspbian, Windows
CPU-Target: 64/32 Bit

Re: MIDI-Programmierung mit Lazarus

Beitrag von AndreasMR »

Hallo DeveloperCPS,

starte eine Suchmaschine Deines Vertrauens, suche nach

Code: Alles auswählen

Midi für Lazarus


und suche Dir dann was aus.

Beste Grüße

Andreas
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: MIDI-Programmierung mit Lazarus

Beitrag von mschnell »

Die Fragestellung ist nicht sehr eindeutig.

"Midi" ("5-Pol-Stecker") ist ursprünglich einfach eine serielle Schnittstelle mit der Baudrate 32 KBaud, die ein normaler PC UART nicht kann. Viele "Embedded" Boards (z.B. RasPi 3 und BeagleBone und auch etliche USB/Serien Wandler können das aber. Bezüglich Lazarus wird da "einfach" eine Serienschnittstelle angesprochen, was zu den üblichen damit verbundenen Fragestellungen Fragestellungen führt, die schon öfters hier im Forum besprochen worden sind.

Andererseits gibt es aber auch Midi "Device Treiber" sowohl in Windows als auch in Linux. Die sprechen irgendwelche Hardware an, die dann entweder auf einen 5-Pol-Stecker führt oder auf per USB verbundene Midie Geräte ("5-Pol-Stecker" wird allmählich durch "Midi via USB" verdrängt), oder auf "Midi via Bluetooth" (in Windows ein gerade neu erschienener Standard), oder auch auf im selben Rechner laufende User-Programme mit Midi Funktionalität.

Diese Midi-API ist Betriebssystem-spezifisch und möglicherweise auch abhängig von der verwendeten Linux oder Windows Version.

-Michael

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: MIDI-Programmierung mit Lazarus

Beitrag von Mathias »

"Midi" ("5-Pol-Stecker") ist ursprünglich einfach eine serielle Schnittstelle mit der Baudrate 32 KBaud, die ein normaler PC UART nicht kann.

Ich dachte die Uralten ISA-Karten konnten schon bis 115'200 Baud, oder meinst du exakte 32'000 ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: MIDI-Programmierung mit Lazarus

Beitrag von marcov »

Alte Audikarten haben auch MIDI (integriert in ungenutzte Pinnen des Gameports).

Aber man sollte doch einfach die Delphi Lösung mit FPC/Lazarus übersetzen können?

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: MIDI-Programmierung mit Lazarus

Beitrag von pluto »

Schau dir mal die BASS Lib an. Damit konnte ich unter Linux Problemlos MIDI Dateien abspielen.
Es gibt von der BASS Lib auch ein Linux Version.
MFG
Michael Springwald

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: MIDI-Programmierung mit Lazarus

Beitrag von Mathias »

Alte Audikarten haben auch MIDI (integriert in ungenutzte Pinnen des Gameports).

Etwas anderes kenne ich nicht für den PC, aber es ist auch sehr lange her, als ich das letzte mal eine Soundkarte gekauft hatte.
Sogar meine Soundblaster Junior hatte solch eine Schnittstelle.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: MIDI-Programmierung mit Lazarus

Beitrag von mschnell »

Mathias hat geschrieben:Ich dachte die Uralten ISA-Karten konnten schon bis 115'200 Baud, oder meinst du exakte 32'000 ?

Weder - noch ;)
Bei Midi (5-pol) ist die Baudrate auf 31250 Bit/s (exakt 32 µs pro Bit). festgelegt -> https://de.wikipedia.org/wiki/Musical_I ... _Interface

-Michael

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: MIDI-Programmierung mit Lazarus

Beitrag von mschnell »

Mathias hat geschrieben:Etwas anderes kenne ich nicht für den PC, aber es ist auch sehr lange he

Wenn man wirklich "5-pol" braucht: Es gibt unzählige USB->Midi Adapter.
-Michael

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: MIDI-Programmierung mit Lazarus

Beitrag von mschnell »

pluto hat geschrieben:Schau dir mal die BASS Lib an. Damit konnte ich unter Linux Problemlos MIDI Dateien abspielen.
Es gibt von der BASS Lib auch ein Linux Version.

Es ging hier um Midi-Geräte, nicht Midi-Dateien.
-Michael

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: MIDI-Programmierung mit Lazarus

Beitrag von pluto »

Es ging hier um Midi-Geräte, nicht Midi-Dateien.

Ja, ich könnte mir aber vorstellen, dass man damit auch Midi Geräte ansteuern kann.
MFG
Michael Springwald

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: MIDI-Programmierung mit Lazarus

Beitrag von mschnell »

Vermutlich hast Du recht. Die Bibliothek wird das Betriebssystem-Midi-Subsystem verwenden. Wenn sie im Pascal Sourcecode vorliegt, könnte man sich da möglicherweise etwas abgucken.

Nach Installation eines passenden Geräte-Treibers sollte über das Betriebssystem-Midi-Subsystem dann auch ein externes oder virtuelles Midi-Gerät ansprechbar sein.

-Michael

Antworten