Matrix: Dieses Programm darf frei an interessierte Musiker und Programmierer weitergegeben werden (mit dem Haftungs-Hinweis, s. unten)

BETA-TESTER GESUCHT!

Diese Seite ist provisorisch und direkt mit der Seite https://yapps-arrgh.de („Primzahlen – Altbekanntes und Neues“) verlinkt.

Haftung: Der Betreiber dieser Internetseite übernimmt keine Haftung für Schäden jedweder Art, die durch den Gebrauch der Matrix-Software entstehen können. Der Autor der Matrix-Software (Karl-Heinz Kuhl) gibt außerdem keine Gewähr, dass alle Programme fehlerfrei sind und unter jeder Betriebssystem-Konfiguration funktionieren. Verantwortlich für den Inhalt: Dipl.-Phys. Karl-Heinz Kuhl, Marktplatz 24, 92711 Parkstein. Bei Fragen, Unklarheiten oder Aufname in die Liste der Beta-Tester bitte E-Mail an info@kmatrix.eu Tel. 09602-9441945, Fax 09602-9441946) EIN BENUTZER HANDBUCH FÜR DIE PROGRAMME EXISTIERT (NOCH) NICHT. Es existieren jedoch im Programm Tool-Tips (z. Bsp. mit der Maus auf ‚HELP‘) gehen, die die grundlegende Vorgehensweise erläutern. Für Programmierer existiert jedoch ein kleines Handbuch: MatrixQuickStart.rtf (Die Dokumentation der vielen Beispielprogramme in MatrixQuickstart.rtf bezieht sich jedoch nur auf kleine Consolen-Testprogramme und nicht auf die unten beschriebenen Beispiel Programme mit graf. Oberfläche). Dieses Handbuch ist nur für Programmierer! ‚Matrix‘ ist ein Java-Programm, das eine sogenannte ’native library‘ aufruft. Die Benutzer-Oberfläche des Programms ist in Java geschrieben, der größte Teil des Programmes ist in C++ geschrieben und wird als dynamische Bibliothek dazugelinkt. ‚Matrix‘ läuft auf folgenden Betriebssystemen (erfolgreich getestet): Windows 10, Windows 8, Windows 7 (64 und 32 Bit), Windows XP (64 und 32 Bit), Windows 2000 (32 Bit), Mac OSX (64 und 32 Bit), Linux (nur 64 Bit), Ubuntu-Linux (nur 64 Bit), Solaris (64 und 32 Bit).

Voraussetzung: Java JRE 1.8 oder JDK 1.8 ist installiert (32 Bit oder 64 Bit Version oder beide). Die Win10-Version benötigt evtl. Java 10. Hardwareanforderungen: Mindestens 4 GB RAM. Zur Zeit existieren vier Testprogramme:(matrixMedium_01JavaC,matrixMedium_04JavaC,matrixFull_06JavaC,matrixMedium_43JavaC). Für jedes Testprogramm existiert nach dem Entpacken des jeweiligen Zip-Archives ein gleichnamiger Ordner. Der jeweilige Ordner enthält das Java Executable (z.Bsp. matrixMedium_01JavaC.jar), die native library ‚libKHMatrixJava.xxx‘ (die Endung ‚xxx‘ lautet für jedes Betriebssystem anders), sowie einen Unter-Ordner ‚lib‘, der Java Bibliotheken enthält. Man könnte die Java-Bibliotheken und die native libraries natürlich in einem getrennten Ordner speichern (um Speicherplatz zu sparen), dann müssten jedoch die Umgebungsvariablen im entspr. Betriebssystem individuell anders gesetzt werden. Für einen einfachen Test habe ich der Einfachheit halber alle Bibliotheken nochmal in den jeweiligen Programm-Ordner mit hineinkopiert. Das hat den Vorteil, dass man die Programme einzeln herunterladen kann und sofort aufrufen kann, ohne irgendwelche Installatationsprozeduren…. Nachteil: die Zip-Archive werden dadurch ziemlich gross.. Es ist keine Installationsprozedur nötig. Einfach das heruntergeladene Zip-Archiv entpacken und im Programmordner die entsprechenderJar-Datei (z.Bsp. matrixMedium_01JavaC.jar) oder Batch-Datei (z. Bsp. matrixMedium_01.cmd) starten.

Falls sich die Jar-Dateien aus dem Datei Manager heraus nicht starten lassen, müssen sie von der Kommandozeile aus gestartet werden, z. Bsp: java -jar matrixMedium_01JavaC.jar. In seltenen Fällen (wenn z. Bsp. mehrere Version der Java Runtime Umgebung (es muss mindestens die jre 1.8 sein) installiert sind, muss beim Aufruf der ganze Pfad zum gewünschten Java Interpreter angegeben werden, z. Bsp. “ C:\Program Files\Java\jre1.8\bin\java“ -jar matrixMedium_01JavaC.jar (Hochkommas sind nötig, falls der Dateipfad Leerzeichen enthält). Für einige der Betriebssysteme enthält der Ordner auch eine Batch-Datei, die das Programm startet (z.Bsp. „matrixMedium_01.cmd“, dann spart man sich die lange Eingabe in der Kommandozeile…

Die einzige Vorbereitung, die evtl. noch gemacht werden muss, damit die Java-Programme aufgerufen werden können, ist das Setzen der Pfad-Variable, damit von der Java JRE die jeweilige native library gefunden wird. Da die Libraries immer im Programmordner mit vorhanden sind, muss die Pfad-Umgebungsvariable nur um einen einzigen Eintrag ergänzt werden, nämlich um einen Eintrag auf das aktuelle Verzeichnis (unter Windows „.\“, sonst „./“. In vielen Fällen ist jedoch der Pfad schon richtig gesetzt. Nur für den Fall, dass die native library nicht gefunden wird: Pfad setzten unter Windows: Systemsteuerung ->System->Erweiterte Systemeinstellungen ->Umgebungsvariablen->Systemvariablen->Path (auswählen und am Ende mit ‚.\‘ ergänzen) Pfad setzten unter Mac OS X (von der Kommandozeile aus): DYLD_LIBRARY_PATH=./:$DYLD_LIBRARY_PATH , export DYLD_LIBRARY_PATH Pfad setzten unter Linux und Solaris(von der Kommandozeile aus): LD_LIBRARY_PATH=./:$LD_LIBRARY_PATH , export LD_LIBRARY_PATH Hinweis: Die Test-Dateien sind für einen Test der Beispielprogramme nicht notwendig. Für einen einfachen MIDI-Test unter Win7_64 genügt es z.Bsp. die Datei matrixMedium_01_Win7_64 (ca. 8 MB) herunter zu laden, entpacken und zu starten

Hier alle downloads (aktuelle Version vom 01.09.2018: 1.54 (Java-GUI), 144 (native lib)):

(in der Version 1.32/118 hatte sich der Fehlerteufel eingeschlichen: Lesen / Schreiben von Matrix Files konnte zum Absturz führen)

Hier die komplett-Pakete für einzelne Betriebssysteme (jedoch ohne Test-Dateien, s. unten):

Komplett-Paket
Windows 10 (64 Bit) (mit allen Beispielprogrammen, getestet unter Win10 64
Bit mit Java Version 10)

dist_Win10_64
(Stand: 06.09.2018, 50 MB)

Komplett-Paket Windows 7 (64 Bit) (mit allen Beispielprogrammen, getestet unter Win7 64 Bit, WinXP 64 Bit)

dist_Win7_64
(Stand: 01.09.2018, 50 MB)

Komplett-Paket Windows 7 (32 Bit) (mit allen Beispielprogrammen, getestet unter Win7 32 Bit)

dist_Win7_32
(Stand: 01.09.2018, 50 MB)

Komplett-Paket Windows XP (32 Bit (mit allen Beispielprogrammen, getestet unter WinXP 32 Bit und Win 2000)

dist_WinXP_32CygWin
(Stand: 12.04.2012, 50 MB)

Komplett-Paket Mac OS X (64 Bit) (mit allen Beispielprogrammen, getestet unter Mac OS X 10.9.5).x 64 Bit)

dist_MacOSX_64
(Stand: 09.09.2018, 50 MB)

Komplett-Paket Mac OS X (32 Bit) (mit allen Beispielprogrammen, getestet unter Mac OS X 32 Bit)

dist_MacOSX_32
(Stand: 09.09.2018, 50 MB)

Komplett-Paket Linux (64 Bit) (mit allen Beispielprogrammen, getestet unter Suse-Linux 11.2 64 Bit)

dist_Linux_64
(Stand: 12.04.2012, 50 MB)

Komplett-Paket Solaris (64 Bit) (mit allen Beispielprogrammen, getestet unter Solaris 11.40 64 Bit)

dist_Solaris_64
(Stand: 12.09.2018, 50 MB)

Komplett-Paket Solaris (32 Bit) (mit allen Beispielprogrammen, getestet unter Solaris 11.40 32 Bit)

dist_Solaris_32
(Stand: 12.09.2018, 50 MB)

Komplett-Paket Ubuntu (64 Bit) (mit allen Beispielprogrammen, getestet unter Ubuntu 18 64 Bit).

dist_Ubuntu_64
(Stand: 12.09.2018, 50 MB)

Komplett-Paket Ubuntu (32 Bit) (mit allen Beispielprogrammen, getestet unter Ubuntu10.10 32 Bit). Hinweis:

Unter Umständen sind unter standardmäßig nicht alle Java-soundbanks installiert.

dist_Ubuntu_32
(Stand: 12.04.2012, 50 MB)

Hier Test-Dateien: (Diese Ordner bitte in den gleichen Ordner
kopieren, in dem die Programm-Verzeichnisse liegen)

Test Matrix Dateien (*.phr, z. Bsp mit Text oder MIDI Material)

phr (2 MB)

Test Midi bzw. Kern-Dateien (*.mid, *.krn)

midi
(<100 KB)

Test Text-Dateien (*.txt)

text
(<100 KB)

Sonstige Test-Dateien (z. Bsp. Zahlen vom Zufallsgenerator, usw.)

numbers
(<100 KB)

Dokumentation f. Programmierer

MatrixQuickStart.rtf
(<100 KB)

Einzelne Beispiel-Programme: (Diese Ordner bitte in den jeweiligen Betriebssystem-Ordner hineinkopieren)

matrixMedium_01JavaC.jar:

Füttern der Matrix mit MIDI- bzw. Kern Dateien, Erzeugen vom MIDI-Dateien aus der Matrix,Lesen von unbegrenzten MIDI-Stream aus der Matrix, Konvertieren von
Kern-Dateien in MIDI-Dateien, Recording Funktion mit Speichermöglichkeit beim
Lesen eines MIDI-Streams aus der Matrix. ‚Intelligenz der Matrix‘ (Skill-Level), sowie die Geschwindigkeit kann währen des Lesens verändert werden.
Achtung: Nur taktgebundene MIDI Dateien verwenden, keine frei eingespielten MIDI-Dateien!

 

matrixMedium_01_Win10_64
(Stand: 06.09.2018)
matrixMedium_01_Win7_64
(Stand: 01.09.2018)
matrixMedium_01_Win7_32
(Stand: 01.09.2018)
matrixMedium_01_WinXP_32CygWin
(Stand: 12.04.2012)
matrixMedium_01_MacOSX_64
(Stand: 09.09.2018)
matrixMedium_01_MacOSX_32
(Stand: 09.09.2018)
matrixMedium_01_Linux_64
(Stand: 12.04.2012)
matrixMedium_01_Solaris_64
(Stand: 12.09.2018)
matrixMedium_01_Solaris_32
(Stand: 12.09.2018)
matrixMedium_01_Ubuntu_64
(Stand: 12.09.2018)
matrixMedium_01_Ubuntu_32
(Stand: 12.04.2012)

matrixMedium_04JavaC.jar

– Füttern der Matrix mit ANSI Text Dateien, Erzeugen vom Text-Dateien aus der Matrix,
Lesen von unbegrenzten Text-Stream aus der Matrix, Recording Funktion mit Speichermöglichkeit beim Lesen eines Text-Streams aus der Matrix. ‚Intelligenz der Matrix‘ (Skill-Level), sowie die Geschwindigkeit kann währen des Lesens verändert werden.

 

matrixMedium_04_Win10_64
(Stand: 06.09.2018)
matrixMedium_04_Win7_64
(Stand:01.09.2018)
matrixMedium_04_Win7_32
((Stand: 01.09.2018)
matrixMedium_04_WinXP_32CygWin
(Stand: 12.04.2012)
matrixMedium_04_MacOSX_64
(Stand: 09.09.2018)
matrixMedium_04_MacOSX_32
(Stand: 09.09.2018)
matrixMedium_04_Linux_64
(Stand: 12.04.2012)
matrixMedium_04_Solaris_64
(Stand: 12.09.2018)
matrixMedium_04_Solaris_32
(Stand: 12.09.2018)
matrixMedium_04_Ubuntu_64
(Stand: 12.09.2018)
matrixMedium_04_Ubuntu_32
(Stand: 12.04.2012)

matrixFull_06JavaC.jar

– Füttern der Matrix mit ANSI Text Dateien. Im Gegensatz zu Beispiel 04) wird jedoch
nicht auf Buchstaben -Ebene gefüttert sondern auf Symbol (= Wort) Ebene.Erzeugen vom Text-Dateien aus der Matrix, Lesen von unbegrenzten Text-Stream aus der Matrix, Recording Funktion mit Speichermöglichkeit beim Lesen eines Text-Streams aus der Matrix. ‚Intelligenz der Matrix‘ (Skill-Level), sowie die Geschwindigkeit kann währen des Lesens verändert werden.

 

matrixFull_06_Win10_64
(Stand: 06.09.2018)
matrixFull_06_Win7_64
(Stand: 01.09.2018)
matrixFull_06_Win7_32
(Stand: 01.09.2018)
matrixFull_06_WinXP_32CygWin
(Stand: 12.04.2012)
matrixFull_06_MacOSX_64
(Stand: 09.09.2018)
matrixFull_06_MacOSX_32
(Stand: 09.09.2018)
matrixFull_06_Linux_64
(Stand: 12.04.2012)
matrixFull_06_Solaris_64
(Stand: 12.09.2018)
matrixFull_06_Solaris_32
(Stand: 12.09.2018)
matrixFull_06_Ubuntu_64
(Stand: 12.09.2018)
matrixFull_06_Ubuntu_32
(Stand: 12.04.2012)

matrixMedium_43JavaC.jar

(Testprogramm zum Füttern der Matrix mit Daten aus einem Zufallsgenerator). Die Matrix wird hier mit Integer-Zahlen gefüttert, um möglicherweise die Regeln eines unbekannten Bildungsgestzes herauszufinden.

Gegebene
Zahlenreihen mit unbekanntem Bildungsgesetzt können gegebenfalls fortgesetzt werden (als ANSI Text-Datei exportiert) werden.

matrixMedium_43_Win10_64
(Stand: 06.09.2018)
matrixMedium_43_Win7_64
(Stand: 01.09.2018)
matrixMedium_43_Win7_32
(Stand: 01.09.2018)
matrixMedium_43_WinXP_32CygWin
(Stand: 12.04.2012)
matrixMedium_43_MacOSX_64
(Stand: 09.09.2018)
matrixMedium_43_MacOSX_32
(Stand: 09.09.2018)
matrixMedium_43_Linux_64
(Stand: 12.04.2012)
matrixMedium_43_Solaris_64
(Stand: 12.09.2018)
matrixMedium_43_Solaris_32
(Stand: 12.09.2018)
matrixMedium_43_Ubuntu_64
(Stand: 12.09.2018)
matrixMedium_43_Ubuntu_32
(Stand: 12.04.2012)

Bekannte Fehler:

matrixMedium_01JavaC: Gelegentlich kann der MIDI-Thread hängen bleiben (vor allem bei intensivem Gebrauch der bei Bedarf einzuschaltenden Ausgabe -Informationen
(Kernel-Sequenz, usw.) oder wenn bei intensiver Verarbeitung und Ausgabe das Fenster sehr schnell bewegt wird …

Aufgrund eines Fehlers werden zu viele Debug-Informationen in die Datei matrixDebug.txt geschrieben, so dass diese im Lauf der Zeit bei häufigem Gebrauch der Software immer weiter anwächst. Abhilfe: Von Zeit zu Zeit die Datei matrixDebug.txt löschen oder im Programm den Debug-Level auf -1 stellen.

matrixMedium_01JavaC: In der Ubuntu-Version werden unter Umständen die MIDI-Geräte nicht richtig initialisiert, so dass die MIDI-Ausgabe unter Ubuntu nicht funktioniert.