Ver-/Bearbeitung von MIDI-Daten mit ProfiLab Expert

analog
analog
Registrierter Benutzer
Zuletzt hier
02.10.13
Registriert
22.07.10
Beiträge
33
Kekse
0
Ort
Odenwaldkreis
Hallo Leute,

hat jemand von Euch schon mal Erfahrungen gemacht mit der Programmierung von MIDI-Tools mit der "grafischen Programmiersprache" ProfiLab? Ist so 'ne Art LabView für kleines Budget! Oder könnt Ihr etwas Vergleichbares empfehlen?

DANKE für Tipps und Ratschläge

Andreas
 
Eigenschaft
 
Muß es grafisch sein? Mir sind ein paar Projekte bekannt, allerdings kosten fast alle Geld. Ich arbeite auch an einer eigenen grafischen Lösung, es wird jedoch noch eine ganze Weile dauern bis sie einsetzbar ist... :(
Solltest du jedoch fit im Programmieren sein, könnte Mididings was für dich sein. Was genau möchtest du damit umsetzen? Richtige kleine Algorithmen oder nur einfachere Aufgaben?

Links & Info:

Bidule - grafisch, relativ aktuell, bietet viele Möglichkeiten, verarbeitet z.B. auch Audio
Building Blocks - grafisch, etwas älter, nur MIDI
mididings - teilweise grafisch teilweise textbasiert, aktuell, der Entwickler ist hier im MB
Midi Programming Laguage - textbasiert, etwas älter
 
Hallo Leef,

zunächst mal DANKE für die Tipps und vor allem auch für die Links. Zu Deinen Fragen kann ich folgendes sagen:

1. Ausgesprochen solide Programmierkenntnisse in C/C++ sind seit vielen Jahren vorhanden. Habe relativ umfangreiche und anspruchsvolle (vor allem mathematisch-naturwissenschaftliche) Programme geschrieben, bei denen es aber vor allem auf das Ergebnis ankam und nicht auf Benutzerfreundlichkeit: Sprich: Ich habe eigentlich immer nur Konsolenprogramme geschrieben. Den Einstieg in die WINDOWS-Programmierung habe ich nie geschafft (weder mit MFC noch mit WIN-API), vielleicht war ich zu blöd, vielleicht war auch einfach der Antrieb nicht groß genug.

2. In C/C++ programmiere ich vor allem auch AVR-Mikrocontroller, teilweise Arduinos (mega128, mega 256). Habe aber auch früher schon in Assembler programmiert. Ist mir mittlerweile aber zu mühselig.

3. Nicht zuletzt auch dank Deiner Hilfe (vielleicht erinnerst Du Dich an die damals sicher noch sehr naiven Anfängerfragen) habe ich mich in der Vergangenheit in MIDI eingearbeitet. MIDI klappt mit den AVRs mittlerweile hervorragend ...

4. Bei den meisten Mikrocontroller-Projekten wäre es klasse, wenn ich die uC-Anwendung vom PC aus steuern könnte: Parameter einstellen und abfragen etc.. Dies nicht mit irgendeiner PC-seitigen "Notlösung" (die würde auch die Arduino-IDE bieten), sondern mit richtig schönen selbstgeschriebenen Stand-alone-Programmen, die unabhängig von irgendwelchen Host-Programmen eigenständig laufen.

5. Hier mal als Beispiel eines unserer Projekte ("wir" sind nicht nur ich, sondern auch ein paar meiner Schüler ;-):
Wir entwickeln derzeit uC-basierte Steuerspannungs-Module für unser ziemlich großes Doepfer A-100-System, also ADSRs, LFOs, S&Hs mit zahlreichen Extrafunktionen, die rein analog gar nicht oder nur schwer möglich wären. Es gibt ja beispielsweise diese VC-ADSR - wir machen das stattdessen nicht via CV, sondern direkt über MIDI. Funktioniert alles prima und bietet 1001 Möglichkeiten. Klar, dass es dann super wäre, wenn man die Parameter unserer ADSR etc. nicht nur individuell am jeweiligen Modul, sondern auch zentral von einem PC-Programm aus manipulieren und verwalten könnte ...

6. Es muss nicht unbedingt eine grafische Programmiersprache sein.

7. Es sollten schon richtige kleine Algorithmen möglich sein.

So, das war es erstmal. Wir haben auch noch ein ehrgeizigeres Projekt in der Warteschleife, aber ich muss jetzt erstmal weiter ... bei Gelegenheit und Interesse mehr darüber!

Grüße von Andreas
 
So ganz kapiert, was Du machen willst bzw. was Du suchst habe ich noch nicht.
Soll das ganze komplett ohne PC laufen, oder soll es mit PC laufen und der PC den µP in "Echtzeit" umprogrammieren?

Im ersten Fall wäre die Frage, ob es graphisch sein muss. Wenn nicht, könnte man an alle möglichen Lösungen denken, wie etwa die Parameter per Potis/Schalter/etc. einstellbar machen, digital abfrage (z.B. über µP oder besser FPGA) und dann die Werte in MIDI-Daten "verwursten".

Im zweiten Fall sieht es natürlich anders aus. Ich habe mich mit dem AMS (http://alsamodular.sourceforge.net/) bisher nicht beschäftigt, aber vielleicht kann man das als Grundlage nehmen, um dort graphisch einen Synthie zusammenzupatchen und dann die Daten als MIDI auszugeben - falls möglich. Da müßte man schauen, was der Quellcode hergibt.


Aber noch eine andere Frage: wie macht Ihr das, daß ihr MIDI statt CV benutzt?
Bei 128 Midi-Werten und 5 Oktaven (typisch CV: 1V/Okt) bekommt man doch nur etwa 1/4 Töne hin. - Oder?
 
Hallo Böhmorgler,

verstehe Deine letzte Frage nicht ganz. Der Sachverhalt 1 V / Oktave ist natürlich klar, aber was hat das mit unseren ADSR und MIDI zu tun? Vielleicht reden wir auch einfach nur aneinander vorbei?!

Gruß Andreas
 
Ob ADSR oder Tonhöhen ist von der Fragestellung gleich: MIDI hat nur eine gestufte Auflösung, während CV kontinuierlich arbeitet.
 
Hallo Böhmorgler,

ich glaube schon, dass wir eigentlich aneinander vorbeireden. Also das ganze nochmal ausführlicher: Der ADSR liefert stinknormale Ausgangsspannungsverläufe, die allerdings vom DAC kommen und etwas gefiltert werden, damits keine Stufen gibt. Wir arbeiten da - weil gerade verfügbar - mit 12-Bit-DACs, prinzipiell klappt es aber auch mit den PWM-Ausgängen und RC-Glied recht gut (und preiswerter).

Über MIDI können unter vielen anderen die Parameter A, D, S und R eingestellt werden, entweder über CCs oder besser NRPNs, oder indirekt über den Velocity-Wert, wenn wir auch die Note-On- und Note-Off-Befehle an das ADSR schicken. Dann muss auch das Gate-Signal nicht in klassischer Weise über einen GATE-Eingang zugeführt werden, sondern wird aus Note-On und -Off im ADSR abgeleitet. Die Velocity kann "gemapped" werden zum Beispiel auf A, D, S, R ... Du bekommst dann zum Beispiel schärfere Peaks bei hoher Vel. oder langsameres Attack bei kleinerer Vel. - wie auch immer es beliebt; das hängt vom Mapping ab. Dass bei der Einstellung dieser Zeitkonstanten bzw. Level eine MIDI-bedingte Diskretisierung im Spiel ist, ist absolut unkritisch ... da braucht es keine Kontinuität. Wir haben aber - ähnlich wie bei den Doepfer-Modulen - auch die Möglichkeit, zwischen Slow, Medium und Fast umzuschalten ...

Aber das sind Feinheiten, die mit meiner ursprünglichen Frage gar nix mehr zu tun haben. Es geht einfach nur darum, auf die vielen Parameter, die man in einem wie beschrieben arbeitenden ADSR einstellen kann, von einem PC-Programm aus zugreifen zu können.

Gruß Andreas
 
Das ist natürlich sehr speziell, und ich glaube kaum, daß es dort etwas fertiges "von der Stange" gibt.

…Du bekommst dann zum Beispiel schärfere Peaks bei hoher Vel. oder langsameres Attack bei kleinerer Vel. - wie auch immer es beliebt; das hängt vom Mapping ab…
Läuft das PC-seitig oder auf der Hardwareseite?
Also die Frage des Setups
Code:
Keyboard -> PC -> Syntie
oder
Code:
Keyboard (NoteOn/Off/Vel) -->-
                              |---> Sythie
PC (ADSR Parameter etc)   -->-
Es geht einfach nur darum, auf die vielen Parameter, die man in einem wie beschrieben arbeitenden ADSR einstellen kann, von einem PC-Programm aus zugreifen zu können.
Was meinst Du mit "zugreifen"?
Reicht eine "Einbahnstraße" im dem Sinne, daß Du die Einstellungen vom PC an den ADSR senden kannst,
oder soll es bidirektional sein, so daß Du nicht nur Daten an den ADSR senden kannst, sondern auch die aktuellen Einstellungen des ADSR auslesen kannst?

Insgesamt sieht mir die Sache so aus, daß Du wohl selbst programmieren mußt. Ein GUI hat man sich ja heutzutage schnell zusammengeklickt (mit GTK+, QT4, etc).
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben