ubuntuusers.de

Script zum Starten von IANNIX SuperCollider QTractor gesucht

Status: Ungelöst | Ubuntu-Version: Ubuntu Studio 25.04 (Plucky Puffin)
Antworten |

ComputerArtist_ThL

Anmeldungsdatum:
7. September 2025

Beiträge: 48

Liebe Community,

Ich ( ComputerArtists_ThL ) und Chatgpt stehen etwas auf dem Feuerwerhr Schlauch.

Ich brauche ein Setup dass automatisch folgende Programme kompatibel zueinander startet:

IANNIX - OSC → SuperCollider - MIDI / Audio → Qtractor.

Ich weis IANNIX dürfte den wenigsten etwas sagen, aber es sendet scheinbar Daten über Jack.

Kann mir da jemand Helfen.

Wenn es gewünscht wird kann ich gerne noch Das Startup-SCript für SuperCollider und das alles aufrüfende Batch Script posten.

In Hoffnung dass man dieses unschöne Problem lösen kann.

ComputerArtist_ThL

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13323

Keine Ahnung, was die Anforderungen sind. Was hast Du denn probiert und wo ging es schief? Gibt es Fehlermeldungen?

ComputerArtist_ThL

(Themenstarter)

Anmeldungsdatum:
7. September 2025

Beiträge: 48

@rkim

Zu den Anforderungen:

Man müsste den ganzen Kram von ChatGPT überprüpfen:

1.) ChatGPT meint IANNIX sendet MIDI und OSC auf Jack - Man könnte das bezweifeln - also wie überprüfe ich das ??? 2.) ChatGPT hat mir ein Wunderbarres SuperCollider Start-Up Script geschrieben

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
////////////////////////////////////////////////////////
// SuperCollider → Qtractor → IanniX
// Vollständiges Start- und Verbindungsscript (stabil)
////////////////////////////////////////////////////////

// =====================
// JACK / Audio-Setup
// =====================
s.options.device = "Jack";                       // Verwende JACK
s.options.sampleRate = 48000;                    // Einheitliche Samplerate
s.options.numInputBusChannels = 2;               // Stereo In
s.options.numOutputBusChannels = 2;              // Stereo Out
s.options.memSize = 8192 * 16;
s.options.numBuffers = 2048;
s.options.hardwareBufferSize = 256;

// =====================
// MIDI / Routing-Setup
// =====================
MIDIClient.init;
MIDIIn.connectAll;

// =====================
// Server-Start
// =====================
s.waitForBoot {
    "✅ SuperCollider Server läuft unter JACK.".postln;

    // ---------------------
    // MIDI-Ausgabe an Qtractor
    // ---------------------
    Routine({
        var tries = 0, found = false;
        var destName = "Qtractor";

        while({ (found.not) and: { tries < 20 } }, {
            MIDIClient.destinations.do({ |d|
                if(d.device == destName) {
                    ~midiOut = MIDIOut.newByName(d.device, d.name);
                    ("✅ MIDI verbunden mit: " ++ d.device ++ " → " ++ d.name).postln;
                    found = true;
                };
            });

            if(found.not) {
                ("⏳ Warte auf MIDI-Port " ++ destName ++ " (Versuch " ++ tries ++ ")").postln;
                1.wait;
                tries = tries + 1;
                MIDIClient.init; // neu scannen
            };
        });

        if(found.not) {
            "⚠️ Kein Qtractor-MIDI-Port gefunden — nur Audio aktiv.".warn;
        } {
            // Test: kurzer MIDI-Note-On
            ~midiOut.noteOn(0, 60, 100);
            0.3.wait;
            ~midiOut.noteOff(0, 60);
        };
    }).play(AppClock);

    // ---------------------
    // Audio-Test (nur kurz!)
    // ---------------------
    Routine({
        ("🎧 Audio-Test: Sinuston wird abgespielt").postln;
        {
            var sig = SinOsc.ar(440, 0, 0.1);
            Out.ar(0, sig ! 2);
        }.play;
        1.0.wait; // nur 1 Sekunde
        ("🟢 Audio-Test beendet").postln;
    }).play(AppClock);

    // ---------------------
    // OSC-Setup für IanniX
    // ---------------------
    n = NetAddr.new("127.0.0.1", 57120);  // empfängt OSC von IanniX
    OSCdef.new(\iannix, { |msg, time, addr, recvPort|
        ("📡 OSC von IANNIX: " ++ msg).postln;
        // Beispiel: msg[1] könnte Notenwerte oder Steuerdaten enthalten
        // Hier kannst du später deine Synths ansteuern
    }, "/iannix");

    "✨ Verbindung zu IANNIX aktiv.".postln;
};

////////////////////////////////////////////////////////
// Boot Server
////////////////////////////////////////////////////////
s.boot;

Das müsste geprüft werden !!!

3.) Ich müsste irgendwie QTractor dann dazzu bekommen auch Jack zu verwenden - Falls überhaupt 1. stimmt 3a.) Und wir müssten QTractor dazu bekommen diese Einstellunge nicht während des Betriebes zu ändern.

Was ich schon hatte:

# Ich habe ein Script - in der 123. Überarbeitung ( eben auch von ChatGPT ) dass 1.) SuperCollider startet dann diesen auf Qtractor warten lässt 2.) QTractor startet 3.) Dann SuperCollider mit QTractor verbindet 4.) IANNIX startet

Wenn ich dann: 1.) Meine graphische Partitur in IANNIX öffne und sie spielen lasse. 2.) Bekomme ich Events in SuperCollider 3.) Wen ich dann mein Musik Stück für SuperCollider öffne und starte - Höre ich meine Musik 4.) Wenn ich dann zu QTractor Wechsel kommen da auch MIDI und Audio Signale an

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 5909

Es gibt seit ca. 10 Minuten eine neue QTractor Version 1.5.9:

Ich hatte mir aus Neugier QTractor zuvor schon selbst gebaut, das war die Version 1.5.8, und da dann auch mal rein geguckt. Nun habe ich mir QTractor erneut frisch gebaut und sehe da nun die PipeWire Verbindungen im Qtractor Version 1.5.9, die mir zuvor nicht aufgefallen waren. Das sind die Verbindungen, die ich zuvor mit qpwgraph, dem PipeWire Graph Qt GUI Interface eingerichtet hatte. Ich nutze ausschließlich ein Bluetooth Headset für die Tonausgabe meines Systems.

Beim kurzen herum spielen im MIDI-Tab der QTractor Verbindungseinstellungen ließ sich dann auch der Ausgang vom Qtractor mit dem Eingang vom FLUID Synth verbinden.

Im Anhang ein Screenshot der im neuen 1.5.9er angezeigten Qtractor Verbindungen, ein AVIF-Bildchen.

Bilder
Antworten |