SlideShare a Scribd company logo
Integration of Real-Time OpenGL Graphics
with an
Algorithmic Music Composition System
THE GOAL - ALGORITHMIC, REALTIME,
FULL-MOTION GRAPHICS & MUSIC
• ALGORITHMIC

connects this aesthetic approach to an existing body of musical composition.
• unifies the musical and visual components of the artwork

- aesthetic: satisfies first two of Aquinas’ three criteria of Beauty (Unity, Harmony, Clarity.)
• connects with the currently developing “Visual Music” aesthetic.
THE GOAL - REALTIME, ALGORITHMIC,
FULL-MOTION GRAPHICS
• REALTIME

- emphasizes the performative aspect of this research. The goal is to create a “graphics instrument” which
can be performed in realtime just as a traditional musical instrument. 

• synergistic amplification of creative possibility which occurs with realtime operation that is difficult or
impossible to simulate with non-realtime approaches. The classical example of this is in musical instrument
performance, where expressive nuance involving the realtime control of loudness and pitch brings a very high
aesthetic value to the product.
THE GOAL - REALTIME, ALGORITHMIC,
FULL-MOTION GRAPHICS
• FULL-MOTION

- emphasizes the fact that this research is technologically state-of-the-art.
• - implies certain technical standards:
• minimum 24 frames per second (ideally 30 or 60 fps)

(Douglas Trumbull says 66 fps hits a resonance in the human nervous system, and 120 fps would be a
good standard because 24, 30, 60 could all be derived form it without interpolation.)
• High Definition resolution of at least 1920w * 1080h

Theatrical releases are rendered at 2048w, IMAX at 4096w
• OpenGL is a state-of-the-art graphics environment, highly developed, extremely sophisticated and yet widely
available.
OpenGL
• present on virtually every modern personal computer.
• dedicated, specialized highly-parallel hardware to execute it in realtime.
Harmonia
• Harmonia (Christos Hatzis & Bruno Degazio)
• harmonic series expressed simultaneously in visual and audible media.
• sound generated via a 64-voice additive synthesizer in NI Reaktor
• visuals generated via openGL 2.1 on a MacPro.
Figure xx: visual harmonics 5, 10, 15, 20, etc in Harmonia
Harmonia
• communicate via MIDI controllers with OpenGL via Transformation Engine
(algorithmic composition software)
• each harmonic from 1-64 was independently controlled via MIDI controller
1-64
• additive synth was designed with internal parameter smoothing to make up for
MIDI 7-bit resolution.
• worked well for sound
Figure xx: controller data for audio Harmonics 1, 32, 48 and 64 in Harmonia
Harmonia
• PROBLEM !
• - MIDI controller resolution is 7 bit (only 128 steps between lowest and highest
values)
• most OpenGL parameters are 32-bit floating point (16,777,216 values between
lowest and highest, plus scalable range.)
• MIDI’s coarse resolution produced unacceptable “stepping” motions and cross-
fades. 

Completely unusable.
Harmonia
• Solution #1
• use MIDI’s high resolution option (14-bit = 16,384 values
• surprisingly did not substantially reduce the stepping artifacts much
• insufficient resolution esp. where it was needed the most - at the “quiet” or “dim”
end of the range, where control values are close to zero
• since each parameter uses TWO controllers, all of MIDI’s controller options were
used for simply for the harmonic control. Nothing left for Master Volume, panning,
etc.
Harmonia
• Solution #2
• implement a custom controller type within The Transformation Engine which
employs 32-bit floating point values.
• store 32-bit float values within the MIDI track, and outputs them to external
software/device via OSC.( UC Berkeley, CNMAT 1997)
• This worked beautifully, allowing complete access to the full-range of OpenGL
controls.
Re-Inventing the Wheel
• direct control adequate for a relatively simple piece (graphically speaking) like
Harmonia
• breaks down when more advanced graphic processing is required.
• simple example - adding a “glow” to the Harmonia visuals meant I would have
to implement my own glow algorithm in OpenGL.
• I needed to find a system that allowed low-level access to OpenGL while also
offering high-level processing options.
EARLIER WORK
• MaxMSP/Jitter

http://cycling74.com/products/maxmspjitter/graphics/
• Puredata 

http://puredata.info/
• Realtime Music Visualization with MIDI and OpenGL 

|http://www.zaposerver.net/projects/midilive/files/midilive.pdf
• AVSynthesis: Blending Light and Sound with OpenGL and Csound5 

http://www.linuxjournal.com/magazine/avsynthesis-blending-light-and-sound-opengl-and-csound5?page=0,3
• Quartz Composer 

http://developer.apple.com/graphicsimaging/quartzcomposer/
Quartz Composer
- Apple Computer 2004-11
- free with OS X Developer Tools
- complete access to the OS
graphics libraries, including
OpenGL, Core Image, Core
Video, Quicktime
- dataflow programming system,
(like Max/MSP or PureData)
- Graphics processing modules,
( “patches”) programmed by
connecting input and output
ports in data-processing
sequence
Fractal Shiva
• with a fast graphics card, OpenGL can
calculate a Julia set fractal in less than
1/100 second
• formerly (1980’s) would take overnight
on an Atari ST
• possible to consider fractal animation
as main Julia set parameters are
varied
• rhythmically timed to music
• music freely composed in North
Indian Classical style - Bhairava raga
(sacred to Shiva) and Jhapta Tal
Anthropos - In Memoriam
• algorithmically controlled music
and visual
• Planetary motions from 2000 to 2011
generate musical and visual activity
• Each planet represented musically
by a group of orchestral instruments
and visually by a particle system.

• TIMEBASE - one minute per year
Anthropos - In Memoriam
Control Panel
Anthropos - In Memoriam
•PLANETARY INTENSITY AFFECTS:
•pitch width
•dynamics
•rhythmic activity
•harmonicity
•Uses the Transformation Engine compositional renderer
Anthropos - In Memoriam
ORCHESTRAL CORRESPONDENCES
Moon - Flutes, Oboes,& Harp
Sun - Strings
Mars - Trumpets, Snare drum, Timpani
Mercury - Clarinets, Bassoons & Xylophone
Venus - Sopranos, Celesta
Jupiter - French Horns
Saturn - Trombones, Tuba, Bass Clarinets,
Contrabassoon, Bass Drum & Gong
Anthropos - In Memoriam
• VISUAL
• screen position & size
• brightness
• particle activity
Planet Intensity
from
Transformation
Engine (via OSC)
screen position
Brightness
size
particle activity

More Related Content

Similar to Integration of Real-Time OpenGL Graphics with an Algorithmic Music Composition System

Machine learning for creative AI applications in music (2018 nov)
Machine learning for creative AI applications in music (2018 nov)Machine learning for creative AI applications in music (2018 nov)
Machine learning for creative AI applications in music (2018 nov)
Yi-Hsuan Yang
 
Mark_Lutsker_Brief_Presentation
Mark_Lutsker_Brief_PresentationMark_Lutsker_Brief_Presentation
Mark_Lutsker_Brief_Presentation
Mark Lutsker
 
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-ResolutionUltra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Intel® Software
 
Multimedia software tools
Multimedia software toolsMultimedia software tools
Multimedia software tools
SasikalaNatarajan
 
CoSECiVi'14 - E-Cecilia. Implementation of a music game
CoSECiVi'14 - E-Cecilia. Implementation of a music gameCoSECiVi'14 - E-Cecilia. Implementation of a music game
CoSECiVi'14 - E-Cecilia. Implementation of a music game
Sociedad Española para las Ciencias del Videojuego
 
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
Unity Technologies
 
01 intro-bps-2011
01 intro-bps-201101 intro-bps-2011
01 intro-bps-2011
mistercteam
 
RCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_FerraraRCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_Ferrara
Marco Santambrogio
 
ECS: Graph Driven Audio in an ECS World
ECS: Graph Driven Audio in an ECS WorldECS: Graph Driven Audio in an ECS World
ECS: Graph Driven Audio in an ECS World
Unity Technologies
 
Mark_Lutsker_Brief_Presentation
Mark_Lutsker_Brief_PresentationMark_Lutsker_Brief_Presentation
Mark_Lutsker_Brief_Presentation
Mark Lutsker
 
Bryan guner professional portfolio
Bryan guner professional portfolioBryan guner professional portfolio
Bryan guner professional portfolio
Bryan Guner
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
Unity Technologies Japan K.K.
 
IG2 Task 1
IG2 Task 1 IG2 Task 1
IG2 Task 1
crookedpug
 
Rloynd ig2 t1 ws
Rloynd ig2 t1 wsRloynd ig2 t1 ws
Rloynd ig2 t1 ws
rosstapher
 
Ig2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martinIg2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martin
Kalen612
 
Music With Pharo
Music With PharoMusic With Pharo
Music With Pharo
ESUG
 
See'n'Sound LE 2.0 promo
See'n'Sound LE 2.0 promoSee'n'Sound LE 2.0 promo
See'n'Sound LE 2.0 promo
Luigi Agostini Digital Solutions
 
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
Budianto Tandianus
 
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
Leif Bloomquist
 
krystal_ds
krystal_dskrystal_ds
krystal_ds
Shaun Case
 

Similar to Integration of Real-Time OpenGL Graphics with an Algorithmic Music Composition System (20)

Machine learning for creative AI applications in music (2018 nov)
Machine learning for creative AI applications in music (2018 nov)Machine learning for creative AI applications in music (2018 nov)
Machine learning for creative AI applications in music (2018 nov)
 
Mark_Lutsker_Brief_Presentation
Mark_Lutsker_Brief_PresentationMark_Lutsker_Brief_Presentation
Mark_Lutsker_Brief_Presentation
 
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-ResolutionUltra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
Ultra HD Video Scaling: Low-Power HW FF vs. CNN-based Super-Resolution
 
Multimedia software tools
Multimedia software toolsMultimedia software tools
Multimedia software tools
 
CoSECiVi'14 - E-Cecilia. Implementation of a music game
CoSECiVi'14 - E-Cecilia. Implementation of a music gameCoSECiVi'14 - E-Cecilia. Implementation of a music game
CoSECiVi'14 - E-Cecilia. Implementation of a music game
 
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
Introducing the DSPGraph, the new audio rendering/mixing engine- Unite Copenh...
 
01 intro-bps-2011
01 intro-bps-201101 intro-bps-2011
01 intro-bps-2011
 
RCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_FerraraRCIM 2008 - - hArtes_Ferrara
RCIM 2008 - - hArtes_Ferrara
 
ECS: Graph Driven Audio in an ECS World
ECS: Graph Driven Audio in an ECS WorldECS: Graph Driven Audio in an ECS World
ECS: Graph Driven Audio in an ECS World
 
Mark_Lutsker_Brief_Presentation
Mark_Lutsker_Brief_PresentationMark_Lutsker_Brief_Presentation
Mark_Lutsker_Brief_Presentation
 
Bryan guner professional portfolio
Bryan guner professional portfolioBryan guner professional portfolio
Bryan guner professional portfolio
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
IG2 Task 1
IG2 Task 1 IG2 Task 1
IG2 Task 1
 
Rloynd ig2 t1 ws
Rloynd ig2 t1 wsRloynd ig2 t1 ws
Rloynd ig2 t1 ws
 
Ig2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martinIg2 task 1 work sheet connor martin
Ig2 task 1 work sheet connor martin
 
Music With Pharo
Music With PharoMusic With Pharo
Music With Pharo
 
See'n'Sound LE 2.0 promo
See'n'Sound LE 2.0 promoSee'n'Sound LE 2.0 promo
See'n'Sound LE 2.0 promo
 
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
GPU Renderfarm with Integrated Asset Management & Production System (AMPS)
 
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
MIDI Mad Science and Mayhem (Soundhackers #5 "Controller Crazy")
 
krystal_ds
krystal_dskrystal_ds
krystal_ds
 

Recently uploaded

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 

Recently uploaded (20)

Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 

Integration of Real-Time OpenGL Graphics with an Algorithmic Music Composition System

  • 1. Integration of Real-Time OpenGL Graphics with an Algorithmic Music Composition System
  • 2. THE GOAL - ALGORITHMIC, REALTIME, FULL-MOTION GRAPHICS & MUSIC • ALGORITHMIC
 connects this aesthetic approach to an existing body of musical composition. • unifies the musical and visual components of the artwork
 - aesthetic: satisfies first two of Aquinas’ three criteria of Beauty (Unity, Harmony, Clarity.) • connects with the currently developing “Visual Music” aesthetic.
  • 3. THE GOAL - REALTIME, ALGORITHMIC, FULL-MOTION GRAPHICS • REALTIME
 - emphasizes the performative aspect of this research. The goal is to create a “graphics instrument” which can be performed in realtime just as a traditional musical instrument. 
 • synergistic amplification of creative possibility which occurs with realtime operation that is difficult or impossible to simulate with non-realtime approaches. The classical example of this is in musical instrument performance, where expressive nuance involving the realtime control of loudness and pitch brings a very high aesthetic value to the product.
  • 4. THE GOAL - REALTIME, ALGORITHMIC, FULL-MOTION GRAPHICS • FULL-MOTION
 - emphasizes the fact that this research is technologically state-of-the-art. • - implies certain technical standards: • minimum 24 frames per second (ideally 30 or 60 fps)
 (Douglas Trumbull says 66 fps hits a resonance in the human nervous system, and 120 fps would be a good standard because 24, 30, 60 could all be derived form it without interpolation.) • High Definition resolution of at least 1920w * 1080h
 Theatrical releases are rendered at 2048w, IMAX at 4096w • OpenGL is a state-of-the-art graphics environment, highly developed, extremely sophisticated and yet widely available.
  • 5. OpenGL • present on virtually every modern personal computer. • dedicated, specialized highly-parallel hardware to execute it in realtime.
  • 6. Harmonia • Harmonia (Christos Hatzis & Bruno Degazio) • harmonic series expressed simultaneously in visual and audible media. • sound generated via a 64-voice additive synthesizer in NI Reaktor • visuals generated via openGL 2.1 on a MacPro. Figure xx: visual harmonics 5, 10, 15, 20, etc in Harmonia
  • 7. Harmonia • communicate via MIDI controllers with OpenGL via Transformation Engine (algorithmic composition software) • each harmonic from 1-64 was independently controlled via MIDI controller 1-64 • additive synth was designed with internal parameter smoothing to make up for MIDI 7-bit resolution. • worked well for sound Figure xx: controller data for audio Harmonics 1, 32, 48 and 64 in Harmonia
  • 8. Harmonia • PROBLEM ! • - MIDI controller resolution is 7 bit (only 128 steps between lowest and highest values) • most OpenGL parameters are 32-bit floating point (16,777,216 values between lowest and highest, plus scalable range.) • MIDI’s coarse resolution produced unacceptable “stepping” motions and cross- fades. 
 Completely unusable.
  • 9. Harmonia • Solution #1 • use MIDI’s high resolution option (14-bit = 16,384 values • surprisingly did not substantially reduce the stepping artifacts much • insufficient resolution esp. where it was needed the most - at the “quiet” or “dim” end of the range, where control values are close to zero • since each parameter uses TWO controllers, all of MIDI’s controller options were used for simply for the harmonic control. Nothing left for Master Volume, panning, etc.
  • 10. Harmonia • Solution #2 • implement a custom controller type within The Transformation Engine which employs 32-bit floating point values. • store 32-bit float values within the MIDI track, and outputs them to external software/device via OSC.( UC Berkeley, CNMAT 1997) • This worked beautifully, allowing complete access to the full-range of OpenGL controls.
  • 11. Re-Inventing the Wheel • direct control adequate for a relatively simple piece (graphically speaking) like Harmonia • breaks down when more advanced graphic processing is required. • simple example - adding a “glow” to the Harmonia visuals meant I would have to implement my own glow algorithm in OpenGL. • I needed to find a system that allowed low-level access to OpenGL while also offering high-level processing options.
  • 12. EARLIER WORK • MaxMSP/Jitter
 http://cycling74.com/products/maxmspjitter/graphics/ • Puredata 
 http://puredata.info/ • Realtime Music Visualization with MIDI and OpenGL 
 |http://www.zaposerver.net/projects/midilive/files/midilive.pdf • AVSynthesis: Blending Light and Sound with OpenGL and Csound5 
 http://www.linuxjournal.com/magazine/avsynthesis-blending-light-and-sound-opengl-and-csound5?page=0,3 • Quartz Composer 
 http://developer.apple.com/graphicsimaging/quartzcomposer/
  • 13. Quartz Composer - Apple Computer 2004-11 - free with OS X Developer Tools - complete access to the OS graphics libraries, including OpenGL, Core Image, Core Video, Quicktime - dataflow programming system, (like Max/MSP or PureData) - Graphics processing modules, ( “patches”) programmed by connecting input and output ports in data-processing sequence
  • 14. Fractal Shiva • with a fast graphics card, OpenGL can calculate a Julia set fractal in less than 1/100 second • formerly (1980’s) would take overnight on an Atari ST • possible to consider fractal animation as main Julia set parameters are varied • rhythmically timed to music • music freely composed in North Indian Classical style - Bhairava raga (sacred to Shiva) and Jhapta Tal
  • 15. Anthropos - In Memoriam • algorithmically controlled music and visual • Planetary motions from 2000 to 2011 generate musical and visual activity • Each planet represented musically by a group of orchestral instruments and visually by a particle system.
 • TIMEBASE - one minute per year
  • 16. Anthropos - In Memoriam Control Panel
  • 17. Anthropos - In Memoriam •PLANETARY INTENSITY AFFECTS: •pitch width •dynamics •rhythmic activity •harmonicity •Uses the Transformation Engine compositional renderer
  • 18. Anthropos - In Memoriam ORCHESTRAL CORRESPONDENCES Moon - Flutes, Oboes,& Harp Sun - Strings Mars - Trumpets, Snare drum, Timpani Mercury - Clarinets, Bassoons & Xylophone Venus - Sopranos, Celesta Jupiter - French Horns Saturn - Trombones, Tuba, Bass Clarinets, Contrabassoon, Bass Drum & Gong
  • 19. Anthropos - In Memoriam • VISUAL • screen position & size • brightness • particle activity Planet Intensity from Transformation Engine (via OSC) screen position Brightness size particle activity