0% found this document useful (0 votes)
36 views15 pages

OSC in Unreal. MIDI CONTROLLER

This document provides information about connecting various hardware controllers like the Novation Launchpad MK1 MIDI controller and Unreal game engine. It discusses setting up Ableton Live with the Launchpad, drivers for the Launchpad, and programming pads with AutoMap. For Unreal, it covers connecting Unreal to Ableton, connecting MIDI devices to Unreal, sending and receiving OSC messages between Unreal and Max MSP, and creating a fire effect that can be triggered via an interface. It also briefly mentions other protocols like Syphon/Spout, DMX, audio analysis and more.

Uploaded by

andrea.naharro01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views15 pages

OSC in Unreal. MIDI CONTROLLER

This document provides information about connecting various hardware controllers like the Novation Launchpad MK1 MIDI controller and Unreal game engine. It discusses setting up Ableton Live with the Launchpad, drivers for the Launchpad, and programming pads with AutoMap. For Unreal, it covers connecting Unreal to Ableton, connecting MIDI devices to Unreal, sending and receiving OSC messages between Unreal and Max MSP, and creating a fire effect that can be triggered via an interface. It also briefly mentions other protocols like Syphon/Spout, DMX, audio analysis and more.

Uploaded by

andrea.naharro01
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

ÍNDICE

NOVATION LAUNCHPAD MK1

UNREAL
CONECT UNREAL AND ABLETON
CONECT MIDI to UNREAL
Plug-in and trying it out
Make it do things with Fader
OSC IN UNREAL
Create a Server and test with Print-String
Send the OSC message from MaxMSP
Interface Comuniation - BUTTON

Syphon/Spout, MIDI, NDI, DMX, OSC, sACH, ArtNet, HID devices, Teensy, or Audio
Analysis.
OSC - Interchange data between applications
SYPHON / SPOUT
DMX - ART-NET
NOVATION
LAUNCHPAD MK1
CONECT ABLETON LIVE11 TO LAUNCHPAD
https://support.novationmusic.com/hc/en-gb/articles/360019890599-How-to-set-up-the-ori
ginal-Launchpad-Pro-with-Ableton-Live-11

DRIVERS FOR NOVATION LAUNCHPAD MK1


https://support.novationmusic.com/hc/en-gb/articles/4408543062930--Novation-product-c
ompatibility-with-macOS-Monterey-12-on-Apple-Silicon

AUTOMAP - programing the pads


UNREAL
CONECT UNREAL AND ABLETON
Discord server with resources: https://discord.gg/QvxzdCCs
Introductive videos:
https://www.youtube.com/watch?v=KeqTpaAnEx8&ab_channel=SemandTrisAVClub
Unreal Ableton Connect - how to create an actor using our template blueprints:
CONECT MIDI to UNREAL
https://www.youtube.com/watch?v=j92Mda8bHe0&ab_channel=AidenWilson
Using MIDI devices in Unreal

Add blueprint - actor - rename MidiControl


Open it - Event graph - Only need the Event BeginPlay
Add a Find All Midi Device Info
Add a For Each Loop
Plug Array Of Devices in
Loop Body to - Add a Print String (to debug)
Array Element to Break MidiDeviceInfo
Device ID to In String
Hit Compile

Print String - Prints a string to the log, and optionally, to the screen If Print To Log is true, it will be visible in the Output Log window. Otherwise it will be
logged only as 'Verbose', so it generally won't show up.

Hit Compile
Drag into scene and Hit play → Go to Output Log

In the Event Graph interchange the Event BeginPlay with a 1 key from the keyboard.

Event BeginPlay to (add) MIDIDevice Input Controler


Set the Device ID in 1
MidiBuffer Size - the data the midi is sending in bits
Return Value - Promote it to a variable - SET
Add Bind Event to OnMIDINoteOn (theoretically works)

For the FADERS


Add Bind Event to OnMIDIPitch Bend
In the SET → Event - Create a matching Event (do the same with the fader node)

Rename it to MIDIButtonOn
// to make sure it works
Connect it to Print String (change text color)
Add Append String

Rename it to Button Node:


Hit Compile
Hit Play
Faders

Delete the last two nodes


Add a Switch on Int - add 8 pins Pin Options - starts at 1 instead of 0 (optional)

Create New Function - Rename it ex. Set Sun

To turn the pitch into a float value


Add a Map Ranged Clamp
Pitch to the → Value
In Range A 0.0
In Range B 16383
Out Range A 0.0
Out Range B 1.0

PIN 1 to Set Sun Variable

Inside the Function


Add an input - Rename it - PitchBend , and select -Float

19:11
OSC IN UNREAL
Create a Server and test with Print-String
Add the Plug-in OSC
Create a new blueprint - Actor - nename it OSCReceiver

Only need Event Begin Play

Add node - Create OSC server


Receive IP Adress - 0.0.0.0
- Means any IP adress coming from the local network to this computer
- 127 - only the originated in this computer

Port to whaterver - ex. 8000


✅ Start Listening

Promote as a variable - Rename it as OSCServer


→ If not it will randomly disconect

Add node Unbind all Events from On Osc Bundle Receive


→ It will double check when reestarting

Add Bind Event to On OSC Message Received

Back from the Event add a Create Event node - select function - Create an matching event
Rename it to OSCMessageReceived

Hit Compile to avoid errors

in the OSCMessageReceived Custom Event add node Get OSC Message Adress -
(In TouchOSC is going to be the /1/push1)
Add node Convert OSC Adress To String and Print String

DRAG THE ACTOR TO THE SCENE


Send the OSC message from MaxMSP
MIN 11:11 https://www.youtube.com/watch?v=4sr8UImcEvE&ab_channel=KatSullivan
Unreal Tutorial: Video Textures, OSC, MaxMsp & Blueprints, and TouchOSC

In MaxMSP create → udpsend 127.0.0.1 (receiver adress) 8000 (port)


Create a message (press M key) → /play

Delete the Print String and add a Switch on String node


Add pins ☐
→ In Details → in Pin Options open Pin Name - rename each one → ex. /play
(corresponding to the name of the message in max)

To make sure it is working conect each pin to a Print String and rename the string

Interface Comuniation - BUTTON


Creating a fire
Create a new Blueprint ACTOR called FIRE
Go to Starter Content - search the fire - Add it in the Blueprint Viewport
In Details → go to Activation → Untick ⬜
Auto Activate
Hit Compile

Interface comunication
Create NEW Blueprint called INTERFACE

Rename it to OSCControlinterface
Create a new funtion → rename it to TriggerFire
Hit Compile

In the FIRE Blueprint - Click on Class Settings

In Details - Under Interfaces → Add the OSCControlinterface


Hit Compile
-Do not delete any node-

Add - Event Trigger Fire (same name as the funtion we created)


The little interface icon means this is going to be called through the interface in another
Blueprint. When it is called that is what's going to happen:

Add Flip Flop node


Now drag out the fire (in components) to the Event Graph
Connect it to A → Activate
B → Deactivate

Hit Compile

Go back to the OSCReceiver Blueprint

Add a All Actors with Interface → Select the OSCControl Interface


Add it a Trigger Fire (Message)
The mail icon means it is going to be send

We are going to trigger the fire event in all the Actors that have this Interface (the
OSCControlinterface)
Direct comunication
Recomendable if there is only one to control - ex. the sun

In the OSCReceiver
Create a new variable to make a direct reference.

Rename it - ex. sun


In Details under - Variable Type - select Directional Light - Object Reference

Make it public

Hit Compile
Now select the OSCReveiver Actor in the Viewport
Find the top you want the sun to go → ex. -90º and 90º

Drag out from the OSC Message Received a node Get OSC Message Float at Index
We are getting direct float data from a value range:
Quick explanation of float in MaxMSP
https://www.youtube.com/watch?v=ZPBJ9Subs5E&ab_channel=DavidE.Farrell

Add a Map Ranged Clamp


Pitch to the → Value
In Range A 0.0
In Range B 1.0
Out Range A -90
Out Range B 90
0 is at the top - 1 is at the bottom
Hit Compile

Drag Out the reference of the sun - Get sun → SetActorRotation


Right click - Set Struct Pin
Plug the Return Value into New Roation Y
Keep other Values the same → X → 32
Z → -120

Hit Compile
Messages explanation
https://www.youtube.com/watch?v=5DGbz2EYGbY&ab_channel=LearningMax
Syphon/Spout, MIDI,
NDI, DMX, OSC, sACH,
ArtNet, HID devices,
Teensy, or Audio
Analysis.
OSC - Interchange data between applications
Plug-in:
https://docs.unrealengine.com/4.27/en-US/WorkingWithAudio/OSC/
CONTROL PANEL for WebRemote, OSC, Midi y DMX
https://www.youtube.com/watch?v=ke_Q_EpBySo&ab_channel=BadIdeaFactory
Unreal Engine 4.27 WebRemote OSC Midi & DMX Quick Intro

SYPHON / SPOUT
Spout in Unreal:
https://www.youtube.com/watch?v=d84umxYWqPg&ab_channel=KatSullivan
Unreal Engine Tutorial: Spout
Resolume:
https://resolume.com/support/es/syphonspout
Use Resolume OSC to Control Unreal:
https://www.youtube.com/watch?v=JUbQzyc0PfI&ab_channel=VJSCHOOL

DMX - ART-NET
https://www.youtube.com/watch?v=-oIePxpasXk&ab_channel=UnrealEngine
https://www.youtube.com/watch?v=naJJjUA_d5Q&ab_channel=ShaggyMummy
https://forums.unrealengine.com/t/10-ways-to-have-fun-with-real-time-audio-in-unreal-engi
ne/113720

///

Sistema visuales → VISUAL →


→ Gestión de Inputs
→ Manager Outputs
→ Pantallas, LEDs, Sonidos
PHANTOM — 48V para micros específicos que necesitan de corriente
Direct monitor* escuchar tal cual suena

Path y light mic — tipos de conexión concretas

DAW

Efects
DINÁMICA primero
Permite tener el sonido limpio, la base a partir de la que trabajar
Luego ESPECIALES Delay/Reverb

You might also like