PDA

View Full Version : midi editor - selektive eventauswahl möglich?


oxo
07-12-2011, 07:02 AM
moin,

kann man in reaper (v4) midi-events nach bestimmten kriterien auswählen? beispiel was ich täglich brauche:

ich setze sehr oft zig noten in einem track auf "mute" um zu testen wie es klingt, wenn ich diese noten im arrangement von anderen instrumenten spielen lasse. oft sind das sehr viele noten, gerade bei stücken mit 1/16 oder 1/32 strukturen, die aber zwischen noten liegen, die ich nicht mute. wenn ich nun nach aufheben der auswahl die gemuteten noten wieder auf "unmute" setzen will, muss ich die alle einzeln per hand auswählen (rechteckauswahl geht nicht, weil andere noten dazwischen liegen)...oder gibt es ne möglichkeit reaper zu sagen "wähle mir alle noten im track aus, die auf "mute" geschaltet sind"?

matsuri
07-12-2011, 07:31 AM
jein, in der sws extension gibt es in der actionlist "SWS FNG/MIDI select muted MIDI notes", in reaper selbst leider nur select muted items/tracks...
und soweit ich mich erinnere konnte man die action auch nicht als button in die midi-toolbarleiste legen (habs zumindest nicht hinbekommen) sondern musste es in einer der floating toolbars zu liegen haben, was ich ziemlich nervig und unlogisch fand. :/

gofer
07-12-2011, 10:34 AM
Ich glaub diese SWS action gibt's nur in der SWS Beta version, sollte man dazu sagen, um unbedarfte Leser nicht auf unnötige Suche in die unendlichen Weiten der Action Liste zu schicken.

Dies (und manches ähnliche) wär eindeutig ein Job für Reaper's MIDI Filter. Leider steckt der noch tief in den Babyschuhen, auch in v4...

Was Main Sektion Actions und die MIDI Editor Toolbar (oder Menüs) angeht, gibt's da einen Trick der ganz gut funktioniert. Man kann nämlich ReaScripts in jeder Sektion der Aktion Liste importieren, egal was drinsteht (das ist mal was, das ReaScript den *.dll Extensions voraus hat, denn leider gibt's zur Zeit keinen Weg Extension Actions direkt in den MIDI editor Sektionen anzumelden).

Nun kann man also Python oder Pearl Scripte schreiben, deren einzige Aufgabe es ist, eine einzige Aktion abzufeuern - zum Beispiel besagte FNG Aktion die gemutete Noten auswählt. Die kann dann in der MIDI Editor Sektion importiert werden und du kannst Toolbar Schalter oder Menüeinträge draus machen - oder sie einer Taste zuweisen, die dann funktioniert wenn der MIDI Editor den Fokus hat.
Dazu muss aber die richtige Python oder Pearl Version auf dem Rechner installiert sein.

Hier ein Python Script Beispiel für die besagte FNG Aktion:


fngAuswahlStummerNoten = RPR_NamedCommandLookup('_FNG_SELECT_MUTED')

RPR_Main_OnCommand(fngAuswahlStummerNoten, 0)

#-

Ja, klar, das ist ne Menge Arbeit und Hirnschmalz, wo eigentlich das Programm sowas selber können sollte. Aber wenigstens gibt's überhaupt 'ne Möglichkeit bis unser Reaperchen soweit ist :).

matsuri
07-12-2011, 11:03 AM
na das is doch mal was feines - danke für den tip gofer,wird gleich mal ausprobiert....
http://www.smilies.4-user.de/include/Liebe/smilie_love_353.gif

oxo
07-12-2011, 11:09 AM
danke für eure antworten! jepp, reapers midi-filter war auch mein erster gedanke. ob da ein feature-request was bringt, oder haben die jungs erst mal andere prioritäten?

mit python oder pearl hab ich leider gar nix am hut. hab eh schon zu wenig zeit mich mit musik zu beschäftigen, wenn ich dann noch anfangen würde mich mit scriptsprachen auseinander zu setzen, hätte ich gar keinen schlaf oder sex mehr...

nofish
07-12-2011, 11:14 AM
zu der Frage im ersten Post speziell zu mute/unmute:

es gibt actions im Midi editor für "Mute events (toggle)", die quasi zwischen mute/unmute hin- und herschalten, aber auch noch "Mute events" und "Unmute events" die "absolut" arbeiten, du könntest also alle Noten auswählen und "Unmute events" ausführen um alle zu "entmuten".

oxo
07-12-2011, 12:04 PM
@ nofish
yes, mit denen arbeite ich bereits. hab mir entsprechende knöpfe in den midi-editor gelegt. ich brauche wirklich selektionsmöglichkeiten wie:

- wähle alle muted-events aus
- wähle alle unmuted-events aus
- invertiere die auswahl
- u.ä.

zur verdeutlichung:

ich arbeite oft mit orchester-libraries. wenn man ein schnelles ostinato hat, z.b. aus 1/16 lässt man das nicht immer von einer instrumentengruppe spielen, sondern spielt es divisi, splittet es also auf. könnte dann so aussehen, dass die die 1. violinen vom 1/16-ostinato die 1., 3., 5., 7., note usw. spielt und die 2. violinen die noten dazwischen, als 2., 4., 6., 8., usw. ...das heisst, ich hab oft komplexe notengruppen, die erst mal für eine instrumentengruppe vorliegen, dann aber beim orchestrieren auseinandergepflückt werden um sie auf verschiedene instrumente zu verteilen. und da probiert man dann ständig hin und her, welche parts von welcher gruppe übernommen werden sollen. und um nicht alles neu zu setzen, kopiere ich erst mal die kompletten noten überall rein und mute/unmute dann hin und her bis ich ne gute verteilung gefunden hab.

Mr. Data
08-05-2011, 01:13 PM
Darf ich in diesem Zusammenhang, wie allwöchentlich ;), auf meinen FR verweisen, der, wenn umgesetzt, einige (wenn auch nicht alle) dieser Probleme lösen könnte?

Siehe Sig.


-Data


|
|
V

oxo
08-05-2011, 01:50 PM
dieser hinweis ist total lieb und klasse ...nur verstehe ich zum grössten teil bahnhof weil ich kaum englisch kann (daher bin ich hier im deutschen forum) und ich hab im ganzen information-overload nix mit muted/unmuted-selection oder so gesehen ...kann natürlich auch sein, dass ich visuell überfordert war.

Mr. Data
08-05-2011, 02:28 PM
Nein, mir ging es auch eher darum, darauf hinzuweisen, dass es mit diesem MIDI-Filter viel einfacher wäre, die Noten, die gemuted werden sollen, auszuwählen.

Siehe hier (http://forum.cockos.com/showpost.php?p=602678&postcount=22).

EDIT: Man könnte mit dem MIDI-Filter so selektierte Noten stummschalten (Velocity 0), sie auf einen anderen MIDI-Kanal legen und in Kombination mit dem Position/Range-Filter auch nur einzelne Bereiche innerhalb eines Items und/oder Taktes bearbeiten.

Guggemohl hier (http://forum.cockos.com/showpost.php?p=602657&postcount=5), hier (http://forum.cockos.com/showpost.php?p=602658&postcount=6) und hier auch (http://forum.cockos.com/showpost.php?p=602659&postcount=7).


-Data

Jolu
08-05-2011, 03:21 PM
Siehe Sig.




Ach ja - das wäre sooo schön derartige hilfreiche Tutorials auch auf Deutsch konsumieren zu können - mit anderen Worten: Ich verstehe die zugrunde liegende Logik nicht, warum man in einem deutschsprachigen Forum ein auf Deutsch formuliertes Problem an eine englischsprachige Lösung verweist!? ;)

gofer
08-05-2011, 03:36 PM
Immerhin was: In Reaper v4.01 gibt's die Handlung

Bearbeiten : Wähle alle stummgeschalteten Noten aus.
Edit: Select all muted notes

Die wählt aber nur Noten (und ist in Englisch). Es fehlt eine Möglichkeit alle stummgeschalteten CC Events zu wählen.

Invertieren wäre toll. Das ist eine die ich selbst vermisse. Und eine die mir zum Beispiel alle A's wählen kann (egal welche Oktave).

Mr. Data
08-05-2011, 07:45 PM
Ach ja - das wäre sooo schön derartige hilfreiche Tutorials auch auf Deutsch konsumieren zu können - mit anderen Worten: Ich verstehe die zugrunde liegende Logik nicht, warum man in einem deutschsprachigen Forum ein auf Deutsch formuliertes Problem an eine englischsprachige Lösung verweist!? ;)

Ja, das wäre schön. Die Logik auf das englischsprachige Forum zu verlinken ist eigentlich ganz einfach. Im deutschsprachigen Forum posten ja nicht nur Leute, die nur deutsch sprechen oder lesen können. Dem Einen oder Anderen kann es ja trotzdem helfen. Ollie und Gofer z.B. posten in beiden Sprachen und auch Oxo hat schon im englischsprachigen Forum gepostet. Und weil er schreibt, dass er nicht so gut Englisch kann, habe ich speziell auf die Posts verlinkt, die für ihn von besonderem Interesse sein könnten.

Ich habe den ganzen Sermon in Englisch geschrieben und das war 'ne Menge Arbeit, weil ich mich in der englischen Sprache immer wie ein Schlittschuhläufer fühle, der leicht angetrunken ist. Es gibt keine Übersetzung. Aber hier einmal eine (mit sehr heißer Nadel gestrickte) Übersetzung der einzelnen Posts, auf die ich oben verlinkt habe.

Die Notenmatrix:

Diese Matrix würde es erlauben, mehrere Bereiche, einzelne Noten und komplette Oktaven auszuwählen, die alle nicht einmal miteinander verbunden sein müssen. Oder man könnte z.B. alle Fis und H mit nur zwei Klicks auswählen.

Sie könnte so aussehen:

http://stash.reaper.fm/6778/MIDIeditor%20Filter_Note_Matrix.png

Position/Bereich -> innerhalb eines Item:

http://stash.reaper.fm/6742/MIDIeditor%20Filter_PosGlob.png

Hier könnte man den Bereich oder eine Position innerhalb des Item wählen, in dem oder an dem MIDI-Daten maskiert werden sollen.

Durch die "Enable"-Checkbox wäre es möglich, die Auswahl ein- und auszuschalten, ohne den "Clear"-Knopf zu benutzen. Dadurch blieben die (auf dieser Seite) durchgeführten Einstellungen erhalten.

Wenn nur in “from:” oder “to:” oder in beiden der selbe Wert eingetragen ist, wird eine Position maskiert, anderenfalls ein Bereich. Es sollte außerdem möglich sein, entweder in "from:" oder "to:" und in "Length:" einen Wert einzutragen, um einen Bereich festzulegen. Wenn nur in "from:" und "Length:" etwas eingetragen wird, könnte der Bereich von in "from:" eingetragenen Wert die Länge haben, die in "Length:" eingetragen ist und wenn nur in "to:" und "Length:" etwas steht, könnte der Wert in "to:" den Endpunkt des in "Length:" festgelegten Bereiches darstellen. Wenn nur "Length:" einen Wert enthält, sollte die aktuelle Cursorposition den Startpunkt ("from:") festlegen. Auf diese Weise würde die Eingabe von Daten auf ein Minimum reduziert.

Die "Exclude"-Checkbox invertiert die Auswahl. Hierdurch können zwei selektierte Bereiche entstehen, wenn die (nicht invertierte) Auswahl nicht am Anfang des Item beginnt, bzw. am Ende des Item endet.

Die Checkboxen “Use time selection” und “Use marquee” könnten die Dateneingabe für einen Bereich vereinfachen. Wenn eine von ihnen aktiviert ist (Häkchen), sollten die Werte für “from:”, “to:” und “Length:” automatisch eingetragen werden. Auch sollte es für einen optimalen Arbeitsfluss egal sein, ob die “Use time selection”-Checkbox aktiviert ist oder nicht. Existiert eine "time selection" sollten die Werte automatisch eingetragen werden, sobald die “Use time selection”-Checkbox aktiviert wird; existiert keine, sollten während man beim Selektieren die Maus zieht die Werte zunächst gezeigt und beim Loslassen der Maustaste in ihre entsprechenden Felder eingetragen werden. Wenn man “Use marquee” benutzt, werden natürlich nur die linke und rechte Kante der Markierung benutzt um die Werte für Start- und Endpunkt zu übernehmen. Ausserdem sollten Start- und Endpunkt der letzten Rechteck-Markierung (marquee) übernommen werden, wenn “Use marquee” später aktiviert wird.

“Show in ruler” könnte den/die selektierten Bereich(e) in der Zeitleiste sichtbar machen.

Position/Bereich -> innerhalb eines Taktes:


http://stash.reaper.fm/6748/MIDIeditor%20Filter_PosBar.png

Diese Seite hat die gleichen Eingabefelder, aber sie legen die Bereiche innerhalb eines Taktes, nicht des gesamten Item fest.
Im obigen Bild ist der "In item"-Filter ausgeschaltet, dadurch wirkt die Selektion auf das gesamte Item. Jedoch sollte dieser Modus mit den anderen Modi kombinierbar sein. Wenn "In item" und "In bar" gleichzeitig aktiviert sind, könnte es so aussehen:

http://stash.reaper.fm/6749/MIDIeditor%20Filter_PosBarGlob.png

Die Maske in diesem Beispiel würde die Bereiche .2.500 bis 3.250 in jedem Takt, jedoch nur von Position 2.3.000 bis 135.3.000 innerhalb des Item selektieren, da dieser schon auf der "In item"-Seite ausgewählt wurde.

Position/Bereich -> innerhalb eines Taktes (erweitert):

http://stash.reaper.fm/6750/MIDIeditor%20Filter_PosBarAdvGlob.png

Hier könnte eine Maske eingestellt werden, die jede nte halbe, Viertel-, Achtelnote oder was auch immer, selektiert. "Shifting" könnte benutzt werden, wenn MIDI-Events in die Selektion einbezogen werden sollen, die sich nicht genau auf dem Quantisierungsraster befinden.

http://stash.reaper.fm/6751/Button_RotateLeft.png “Rotate left” und http://stash.reaper.fm/6752/Button_RotateRight.png “Rotate right” könnte benutzt werden, um die Maskierung nach links oder rechts zu rotieren. Das ist sinnvoll, wenn man z.B. “mask every 4th 16th…” einstellt.
Ohne Rotation würde man Sechzehntel 1, 5, 9 und 13 auswählen. Wenn man nun aber zweimal auf “Rotate right” klickt, wären Sechzehntel 3, 7, 11 und 15 ausgewählt.

Das Bild oben zeigt eine Kombination der Auswahl der Seiten “In item”, “In bar” and “In bar (advanced)”. Betrachtet man nun die Zeitleiste, ist nicht unbedingt sofort klar, welcher Bereich ausgewählt ist und welcher nicht. Aber wenn man “Show in ruler” nur auf der “In bar (advanced)”-Seite aktiviert, würde man - wie im folgenden Bild - die Auswahl sofort erkennen können.

http://stash.reaper.fm/6753/MIDIeditor%20Filter_PosBarAdv.png

Dieser Filter könnte benutzt werden, um z.B. die Anschlagsdynamik einzelner Schläge innerhalb eines Drum-Pattern zu ändern, indem man z.B. nur On-Beats auswählt.


Dadurch, daß sich in meinem FR die Filter aller Seiten kombinieren lassen (sollen), wäre es z.B. einerseits möglich, alle F, zusätzlich aber auch die Oktaven C3-C5 mit einer Anschlagsdynamik zwischen 70 und 90 nur im ersten Taktviertel eines Taktes vom MIDI-Kanal 3 auf 8 zu verlegen oder zu kopieren, andererseits aber unnötig, irgendwelche Einstellungen machen zu müssen, die man für das, was man filtern will, nicht braucht.



-Data

oxo
08-06-2011, 04:20 AM
danke data für´s übersetzen!!!

Jolu
08-06-2011, 07:57 AM
Wow - das ist ja echt super! Vielen herzlichen Dank auch von mir!

Das werde ich mir sobald ich Zeit finde zu Gemüte führen. Man kann es natürlich nicht jedem recht machen, das ist mir schon klar. Oft lass ich mir die Texte Online übersetzen - aber da kommt noch mehr Bockmist heraus, als wenn ich es selbst machen würde.

Die Metapher mit dem angetrunkenen "Schlittschuhfahrer" kann ich allerdings auch auf mich beziehen, nur mit dem Unterschied, dass ich selbst im nüchternen Zustand ein "blinder" Schlittschuhfahrer bin. ;)

Da die deutsche REAPER Dokumentation - Wiki. noch in den Kinderschuhen steckt, bin wahrscheinlich nicht nur ich für jede sinnvolle Übersetzung dankbar.

Gruß
Jolu

Mr. Data
08-06-2011, 09:02 AM
Ja, aber vergiss nicht: das ist nur ein Feature Request. Die Beschreibung des Ganzen geht über 29 Posts. Ich habe das alles - wie gesagt - gar nicht erst in deutsch geschrieben, weil die Adressaten ja letztendlich die Herren Entwickler sind. Ich bin froh über jede Stimme, die hierfür abgegeben wird.

Kurz gesagt (wenn das überhaupt geht ;)) wäre dieser MIDI-Filter eine Erweiterung, die es ermöglichen würde

fast* jedes MIDI-Event in jeder beliebigen Zeitskala mit jedem beliebigen Muster zu filtern und in jedes Andere zu verwandeln (z.B. Controller in Program Changes oder Noten in Controller...)
ein Item auf schnelle Weise mit Noten (einzelne oder Arpeggien) und/oder Controllern zu füllen
Grooves zu erstellen.




Und das alles miteinander kombinierbar und mit nur wenigen Einstellungen.

* Bei SysEx-Events gibt es da schon Einschränkungen.

Edit: @Jolu (und denjenigen, den's interessiert): Falls Du mit irgendeinem Post aus dem Thread nicht klarkommst, frag ruhig! :)


-Data

Ford Prefect
08-06-2011, 09:59 AM
Ja, meine Stimme hast du. Ich hoffe ja dass es noch ein paar mehr werden.
Wäre schon eine tolle Sache, liesse sich ne Menge mit zaubern.

Mr. Data
08-06-2011, 04:54 PM
Danke! :)

Ja, es wäre so schön und würde vieles vereinfachen.



-Data