Audio/Visual Experiments with Python Radio Free Quasar and Ergo Tim Thompson

Slides:



Advertisements
Similar presentations
LabVIEW is a graphical programming development environment for data acquisition and control, data analysis, and data presentation. With LabVIEW you can.
Advertisements

Computer Hardware 4 Main Types.
MP3 Files for Tape Groups Cassette Tapes ● Limited capacity ● Bulky ● Hard to position ● Difficult to rewind ● Difficult to organize ● Must turn tape over.
Types of Computers & Computer Hardware Computer Technology.
Discovering Computers Fundamentals, Third Edition CGS 1000 Introduction to Computers and Technology Fall 2006.
Computer Basics 1 Computer Basic 1 includes two lessons:
COMPUTER CONCEPTS Computer Information Systems. COURSE COMPETENCIES Explain the functions of computer system components. Describe the information processing.
Sample vs. Tick Absolute timeline Unchanging, regardless of tempo – Samples – Min:Secs – Time Code – Feet + Frames Relative timeline Change dynamically.
© by Pearson Education, Inc. All Rights Reserved.
C ODE A RT By: Russell Goldenberg. W HAT IS C ODE A RT ? Combine Visual Arts and Computer Science Explore the creation of artwork using programming as.
Discovering Computers: Chapter 1
Macromedia Dreamweaver 4 Advanced Level Course. Add Rollovers Rollovers or mouseovers are possibly the most popular effects used in designing Web pages.
Microsoft Office Illustrated Inserting Illustrations, Objects, and Media Clips.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Computer Skills Preparatory Year Presented by: L.Obead Alhadreti.
Operating Systems.
Virtual Reality Virtual Reality involves the user entering a 3D world generated by the computer. To be immersed in a 3D VR world requires special hardware.
Hardware Specialised Devices
Object Orientated Data Topic 5: Multimedia Technology.
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
V-Cert Music Technology BRIEF The Year 9 cohort are about to use Cubase for the first time. They have been composing and performing Music and will now.
Random access memory is a form of computer data storage. A random-access device allows stored data to be accessed directly in any random order.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Chapter 11 Adding Media and Interactivity. Flash is a software program that allows you to create low-bandwidth, high-quality animations and interactive.
Computer for Health Sciences
2 pt 3 pt 4 pt 5pt 1 pt 2 pt 3 pt 4 pt 5 pt 1 pt 2pt 3 pt 4pt 5 pt 1pt 2pt 3 pt 4 pt 5 pt 1 pt 2 pt 3 pt 4pt 5 pt 1pt Networking Can you find it? Apps.
MULTIMEDIA M U A T H H U M A I D R a s h A t a l l a h.
Tutorial 7 Working with Multimedia. XP Introducing Multimedia Bandwidth is a measure of the amount of data that can be sent through a communication pipeline.
© Cheltenham Computer Training 2001 Macromedia Dreamweaver 4 - Slide No 1 Macromedia Dreamweaver 4 Advanced Level Course.
Plugging VSTs into Python Tim Thompson
How computers work Learning objective 2: Explain the four basic functions of a computer.
Visual BasicC++ Diane Zak. Microsoft © Small (But Powerful) Basic Presented by Diane Zak.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Computer Components Checklist There are many parts that work together to make a computer work.
Section 17.1 Add an audio file using HTML Create a form using HTML Add text boxes using HTML Add radio buttons and check boxes using HTML Add a pull-down.
MULTIMEDIA Is the presentation of information by a computer system using graphics, animation, sound and text.
Integrated Development Environment (IDE)
Chapter 8: Operating Systems and Utility Programs Catherine Gifford Dan Falgares.
Module 8 Review Questions 1.VGA stands for A. Video Graphic Association B. Video Gradient Array C. Video Graphic Array D. Video Graphic Arrangement.
Object Orientated Data Topic 5: Multimedia Technology.
Computer Components.
The Mechanics Of Computers The Operating System (OS) & Hardware.
COMPUTER MAIN PART DANILO GARCÍA GONZÁLEZ TÉCNICO EN SISTEMAS.
Guide to Programming with Python Chapter Twelve Sound, Animation, and Program Development: The Astrocrash Game.
Copyright © 2011 by Denny Lin1 Computer Music Synthesis Chapter 5 Based on “Excerpt from Designing Sound” by Andy Farnell Slides by Denny Lin.
Theme: Multimedia Sound ProductionUFCFY Multimedia Sound Production.
Hardware/Software Basics Test
Ulead Video Studio is an easy to use video editing software that allows even the novice of movie makers to produce a professional project complete with.
Computer main parts HARDWARE It corresponds to all physical and tangible parts of a computer: your electrical, electronic, electromechanical and mechanical.
CSC190 Introduction to Computing Operating Systems and Utility Programs.
Lesson 5 MULTIMEDIA. Multimedia on the Web has expanded rapidly as broadband connections have allowed users to connect at faster speeds. Almost all Web.
Digital Literacy: Computer Basics
Hardware/Software Basics Test Get out your DIY Test Review.
Final Year Project Eoin Culhane. MIDI Guitar Guitar with 6 outputs 1 output for each string Each individual string output will be converted to MIDI.
Software Architecture for Multimodal Interactive Systems : Voice-enabled Graphical Notebook.
Parts of a Computer Created by Carmen Garzes. An electronic device that manipulates information or data. It can store, retrieve or process data. There.
1 AQA ICT AS Level © Nelson Thornes 2008 Operating Systems What are they and why do we need them?
OCR A Level F453: The function and purpose of translators Translators a. describe the need for, and use of, translators to convert source code.
Reference: What is it? A multimedia python library – Window Management – Graphics geometric shapes bitmaps (sprites) – Input Mouse Keyboard.
Music and Audio Computing I A Prof. Marcelo M. Wanderley Week 9.
Identify internal hardware devices (e. g
Hardware & Software Lesson 1 Computer Systems & Components
Introduction to Visual Basic 2008 Programming
An Introduction to Computers and Visual Basic
An Introduction to Computers and Visual Basic
Types of Computers & Computer Hardware
Computer Basics.
The Computer Work Stations
An Introduction to Computers and Visual Basic
Presentation transcript:

Audio/Visual Experiments with Python Radio Free Quasar and Ergo Tim Thompson

Outline Radio Free Quasar = audio experiments Ergo = MIDI-driven visual experiments Hoops = Looping MIDI to drive Ergo

Intentions Intended to demonstrate: – Fun and interesting apps – Ease of developing with Python – Ease of using pyrex to integrate with C – Combination with other languages Not intended to demonstrate: – Sophisticated Python – Particularly good code or object design

Radio Free Quasar Art installation for Burning Man 2004 Antique radio Computer generating audio Laser generating graphics Big knob for control

Radio Free Quasar

Radio Free Quasar at Burning Man

But what does it sound like?

Radio Free Quasar – hardware Windows XP Mini-ITX motherboard (fanless, low power) DC power supply Power sequencer USB-powered speakers USB knob (Griffin Powermate) Laservibe laser (driven by computer’s audio output) EL-wire antenna

Radio Free Quasar – software components Python VST plugins Pyrex-based VST wrapper Pyrex-based Portaudio wrapper

Radio Free Quasar – example code 1 #!/usr/bin/env python import time import snip import sys a = snip.snipaudiodevice() sound1 = snip.snippet(filename="winsound1.wav") loop1 = snip.sniploop(sound1) a.open() a.start() a.attach(loop1) time.sleep(10) a.stop() a.close() sys.exit(0)

Radio Free Quasar – example code 2 # Load a VST plugin and randomize its parameters ring = snip.snipvst(dll=vstdir+"\\BJ Ringmodulator.dll") for i in range(ring.numParams()): ring.set_param(i,random.random())

Radio Free Quasar – example code 3 ring = snip.snipvst(dll=vstdir+"\\BJ Ringmodulator.dll") vsyn = snip.snipvst(dll=vstdir+"\\StrataVar.dll") # Connect output of vsyn VST to ring modulator VST ring.setinput(vsyn) # Open audio output and connect ring modulator output a.open() a.start() a.attach(ring) # Send random MIDI notes to vsyn VST # while randomizing parameters of both VSTs for i in range(100): time.sleep(2.0) pitch = int(random.random() * 128) % 128 vstrandparam(vsyn) vstrandparam(ring) vsyn.send_midi(1,pitch,8000,80)

Radio Free Quasar – example code 4 def vstrandparam(v): for i in range(v.numParams()): f = random.random() v.set_param(i,f) def vstinfo(v): print "Is VST2 = ",v.is_vst2() print "Is synth = ",v.is_synth() print "numParams = ",v.numParams() print "numInputs = ",v.numInputs() print "numOutputs = ",v.numOutputs() print "can_receive_midi = ",v.can_receive_midi() print "can_send_midi = ",v.can_send_midi()

Radio Free Quasar – final program Collection of WAV files Ten robust VST plugins Python program: – selects wave files – enables/disables/randomizes VST plugins – allows interactive control from keyboard Big knob on radio sends keypresses Automatic randomization if no user input

Radio Free Quasar – interactive control r: randomize wave file and plugin parameters w: change to a different wave file 0-9: randomize parameters of plugin N d: disable all plugins e: enable all plugins s: save current parameters p: select previously saved parameters

Ergo E – Events R – Routed to G – Graphical O – Objects

Ergo Used in dud, a multimedia improvised art ensemble Drummer uses DrumKAT drums Drum MIDI output processed by KeyKit program Events sent to Python over TCP/IP socket Python does OpenGL graphics in response Sliders and buttons (from a MIDI controller) affect what kind of graphics are generated

Ergo – interactive control Sliders: – object’s initial width/height, final width/height – speed in x/y direction, speed of rotation – fade time – initial x/y position – velocity threshold Buttons: – color shift, color randomizing – initial position control – sprite enable/disable – patch control

Ergo – sprites vector (horizontal and vertical) triangle square (hollow and filled) bar (horizontal and vertical) image (selected interactively) text (entered interactively)

Ergo – image control Wanted images related to content of unpredictable musical improvisation Solution = library of 300,000 images Filenames describe image Type in a word and it select all files whose name contains that word Retrieval of images interleaved with graphical display to avoid pauses

Ergo Version 2 ideas Rework with cleaner object model Envelopes, LFO’s, etc Patch represented entirely by connection of event processors Randomized patch generation

Hoops MIDI application written in Keykit Designed in collaboration with Herb Heinz Loops MIDI in realtime Handles multiple MIDI loopers simultaneously Animated graphical display of loops If ergo is running, MIDI events are sent to it Used at last Saturday’s Y2K5 International Looping Festival in Santa Cruz

Audio/Visual Experiments with Python Radio Free Quasar and Ergo Tim Thompson