Jog wheel- Steuerung in Ultraschall dank DJ-Interfaces - Ultraschall Screencast 27


#1

Zur neuen Folge des Ultraschall Screencast wurde ich aus drei Richtungen inspiriert: zum einen die DIY Projekte von @fernsehmuell und @diodenschein auf dem 33c3 für eine Räuspertaste im Eigenbau, zum anderen aus den Überlegungen hier und hier bzgl. einer Optimierung des Schnittes in Ultraschall.

Die Folge zeigt nun, wie man mit sehr günstigen DJ-Midi-Interfaces in Ultraschall viel Spaß haben kann, und zudem eine Revolutionierung des Schnittes: in der 3.0 Release wird es für diese eine “Vorhörfunktion” geben.

Viel Spaß, und ich freue mich über weitere Ideen und Anregungen was man mit Midi-Hardware noch so anstellen kann.


TASCAM Ministudio Creator US-42
Ultraschnellschnitt mit Ultraschall
Eingabegeräte für DAW-Arbeit?
#2

Wie sehr sich der Hintergrund verändert hat :smile:


#3

Kurz nach Veröffentlichung habe ich das Video angesehen und bin erzittert. Großartige Idee!

Nichts konnte mich mehr bremsen und das Behringer CMD Studio 2a ziert seit heute Mittag meinen Schreibtisch. Stationär arbeite ich unter Windows 10, musste mir also den USB Audio/MIDI Driver V1.7.0 installieren.

In Reaper ist es erforderlich den Controller als MIDI Device hinzuzufügen. Mittels MIDI-OX (gibt’s nichts aktuelleres?) waren alle MIDI-Signale sofort zu verfolgen.

Den Nachmittag habe ich dann mit nerden verbracht. Ich konnte alle Funktionen aus dem Video von @rstockm nachbauen.

Allerdings war es erforderlich die Skripte anzupassen. Das war mein Erstkontakt mit LUA.


Als es dann lief, sah der Code zum Trimmen des Inpoints so aus:

function run()

is_new, name, sec, cmd, rel, res, val = reaper.get_action_context()

if is_new then

-- reaper.showconsolemsg(name .. "\nrel: " .. rel .. "\nres: " .. res .. "\nval = "

OffSet = 0.05

if val == 63 then

  startOut, endOut = reaper.GetSet_LoopTimeRange(false, true, 0, 0,false)
  newstart = startOut - OffSet
  startOut, endOut = reaper.GetSet_LoopTimeRange(true, true, newstart, endOut, true)
  
end

if val ==65 then

  startOut, endOut = reaper.GetSet_LoopTimeRange(false, true, 0, 0,false)
  newstart = startOut + OffSet
  startOut, endOut = reaper.GetSet_LoopTimeRange(true, true, newstart, endOut, true)

end

end
 -- reaper.defer(run)

end

-- debug

function onexit()
   reaper.ShowConsoleMsg("<-----\n")
end

reaper.defer(run)
-- reaper.atexit(onexit)

Der Code zum Trimmen des OutPoints sieht so aus:

function run()

is_new, name, sec, cmd, rel, res, val = reaper.get_action_context()

if is_new then

-- reaper.showconsolemsg(name .. "\nrel: " .. rel .. "\nres: " .. res .. "\nval = "

OffSet = 0.05

if val == 63 then

  startOut, endOut = reaper.GetSet_LoopTimeRange(false, true, 0, 0,false)
  newend = endOut - OffSet
  startOut, endOut = reaper.GetSet_LoopTimeRange(true, true, startOut, newend, true)
  
end

if val ==65 then

  startOut, endOut = reaper.GetSet_LoopTimeRange(false, true, 0, 0,false)
  newend = endOut + OffSet
  startOut, endOut = reaper.GetSet_LoopTimeRange(true, true, startOut, newend, true)
  
end

end
-- reaper.defer(run)

end

-- debug

function onexit()
    reaper.ShowConsoleMsg("<-----\n")
end

reaper.defer(run)
-- reaper.atexit(onexit)

Im abschließenden Überblick war das schon Gefrickel. Das Ergebnis lohnt aber auf jeden Fall den Aufwand. Ich freue mich schon diebisch auf die nächsten Schneidearbeiten.

Vielen Dank @rstockm für dieses Sahneschnittchen. Das öffnet viele Möglichkeiten. Ich bin gespannt, was da noch alles kommt. Buttons und Potis sind noch genug frei …


#4

Großes Kino! Damit schneide ich definitiv um einiges schneller … und auch besser! Mit diesen Tools kann man effektiv ohne heftige Frickelei Längen und ää schneiden.


#5

Ja, großes Kino, @rstockm! :slight_smile:

@Jochen Bei dem gleichen Device habe ich unabhängig von dir auch gleich zugeschlagen. Ich scheitere in Reaper unter Mac OS nur gerade an einer ganz einfachen Problematik:

Beim Hinzufügen eines Shortcuts in den Reaper Actions, wird die Control Message zwar erkannt, nicht aber die Note am Ende (hier 63 bzw. 65):

In Midi Loupe sieht alles toll aus:

Studio 2A, s: Studio 2A, d: Studio 2A, c: 1,  Control message: 3, 63
Studio 2A, s: Studio 2A, d: Studio 2A, c: 1,  Control message: 3, 65

Hast du eine Idee, welchen Haken ich in den Reaper-Settings vielleicht übersehen habe?


#6

Das sieht schon ohne Feenstaub genial aus. Wenn ich irgendwann eine Podcastecke einrichten kann, wird das sicherlich dabei sein.

Danke für die Arbeit!


#7

Ich finde das auch super interessant!

Ich fände aufgrund der Größe sowas aber fast interessanter:
Numark DJ2GO | Ultra-portabler kompakter USB MIDI DJ Controller + Virtual DJ LE https://www.amazon.de/dp/B004S8AU2I/ref=cm_sw_r_cp_api_RL5EybYBXYB06
:thinking:


#8

Experimentiere mal mir den Möglichkeiten dieses Settings. Wenn ich Dein Problem richtig verstanden habe, wird das vermutlich helfen.


#9

Das funktioniert nur bedingt. Natürlich kann ich z.B. “Zoom in” für das linke Jogwheel “rechts rum drehen” so mappen:

Aber wenn ich dann “Zoom out” ebenfalls beim linken Jogwheel auf “links rum drehen” mappen will, erhalte ich ja wieder nur die “Midi Chan 1 CC 3”. Und da will Reaper das dann natürlich überschreiben:

Bei den Tasten vom Behringer besteht das Problem interessanterweise nicht, diese werden alle mit “Note” erkannt. Nur alle (Dreh)Regler als “CC”.

Hat hier noch jemand eine Idee? Weil mir auch Google nicht so richtig hilft und ich das Teil sonst zurücksende(n werden muss).


#10

Lass das mal mit den Ultraschall-Zoom-Actions. Zoom In oder Zoom Out bringt dir nichts, du brauchst was, das in beide Richtungen funktioniert.

Ich hab mal die REAPER-Action-Suche angeworfen und das hier gefunden:

View: Zoom horizontally (MIDI CC relative/mousewheel)

Wenn du das als Action für dein Jogwheel wählst und bei MIDI CC “Relative 2 (63=-1, 65=+1)” auswählst, müsste es funktionieren. Wenn es falsch rum zoomt: Es gibt das ganze auch noch mit umgedrehter Richtung:

View: Zoom horizontally reversed (MIDI CC relative/mousewheel)

@rstockm Wäre wahrscheinlich sinnvoll, eine Liste mit den Actions zu haben, die du für dein Projekt verwendet hast. Das Video ist ja eher ein Proof-of-concept, kein Tutorial.


#11

Perfekt, @lukasbestle! Ersteres war es. Danke!!


#12

Die richtige Reaper-Action zu ermitteln, ist die zweite Kunst, die man beherrschen muss.:sunglasses:

WIe kann man MIDI-Controls an den Controller senden? Dann könnte man die farbigen LED der Taste ansteuern und ihnen je nach Zustand eine andere Farbe geben. Oder die Play/Pause-Taste im Pause-Modus blinken lassen, oder , oder, oder, …


#13

…darum sage ich auch: wird Teil der 3.0 Release :sunglasses:
Betreibe selbst noch Grundlagenforschung.


#14

damit das händling schick ist bräuchte es ja fertige Midi Templates für div Standart controller - die dann zum Goldstandart werden.


#15

@rstockm ich bin gerade auf eine mögliche andere Steuerhardware gestoßen:
https://youtu.be/_7f0Nm6-8T4
Kann allem Anschein nach für Bild- / Video- und Musikbearbeitung genutzt werden und ist modular erweiterbar.
Hatte ich hier entdeckt:
http://www.enjoyyourcamera.com/Tethered-Shooting/Computer-Eingabegeraete/Palette-Gear-Professional-Kit-Modulares-Steuerpult-fuer-Computer-Bildbearbeitung-mit-Lightroom-CC-6-Photoshop-CC-etc::11388.html


#16

Schnäppchen :-). Schade…


#17

Oh man… das muss ich haben! :flushed:
Absolut genial!


#18

Achtung! schau genau, ob der Controller genug Drehregler hat, die frei drehen - rechts- / links-Signal. Der Ansatz von @rstockm geht davon aus, dass man 4 von diesem Typ hat.


#19

Mir gefallen ja eigentlich die kompakten Controller wie z.B. Hercules DJ Control Compact sehr gut - wegen des geringeren Platz-Verbrauchs.
Hercules DJControl Compact
Das Problem dabei scheint zu sein, dass sie nur 2 frei drehende Regler haben (Pitch / Bend). Die anderen Regler haben auf jeder Seite einen Anschlag und geben für jede Position einen Wert zwischen 0 und 127 aus. Damit wird es problematisch, das Verschieben der in- und out-Marker zu kontrollieren.

Mann könnte sich vieleicht für den Zoom auf den Mixer-Regler beschränken und einen der Pitch / Bend Controller per Shift-Taste zwischen in- und out-Marker hin- und herschalten.


#20

Für die EQ-Regler mit Anschlag haben wir für die 3.0 auch schon eine gute Lösung.