Presentation is loading. Please wait.

Presentation is loading. Please wait.

Music and Audio Computing I A

Similar presentations


Presentation on theme: "Music and Audio Computing I A"— Presentation transcript:

1 Music and Audio Computing I 216-306A
Prof. Marcelo M. Wanderley Week 7

2 Music and Audio Computing I
Concepts, algorithms, data structures, and programming techniques for the development of music and audio software, ranging from musical instrument design to interactive music performance systems. Student projects will involve the development of various music and audio software applications. October 18th week 7 306A - Music and Audio Computing

3 306A - Music and Audio Computing
Previous four weeks Introduction to MAX (Alex Burton) General features: objects, messages, connections, arguments… Objects: coll, table value, delay, metro, counter, random, split, gate, select, send & receive, if, midi objects, operators, … First assignment: algorithmic project October 18th week 7 306A - Music and Audio Computing

4 306A - Music and Audio Computing
Previous four weeks Week 2 Data storage: coll, table. value data sharing Week 3 Basic mathematical operations Decisions: if-then, split, gate, select Week 4 Abstractions and sub-patches send & receive October 18th week 7 306A - Music and Audio Computing

5 306A - Music and Audio Computing
Rest of the Course Total duration: 13 weeks 2 assignments - 20% each 2 tests - 10% each 1 project - 40% Main Topics to be covered: Time management, mathematical functions, sequencing, design/simulation of interactive instruments… October 18th week 7 306A - Music and Audio Computing

6 306A - Music and Audio Computing
Week 7 (this week) Topic: Time and Math managing in MAX Objectives: Understanding of the various ways to manage time in MAX, the use of mathematical expressions using expr and if-then-else loops. Objects to be used: clocker, metro, counter, line, tempo,if, expr Tutorials: tutorial 31 and tutorial 38 October 18th week 7 306A - Music and Audio Computing

7 (Real-) Time in computer music
Synchronization Between processes To external events, e.g. MIDI timecode Triggering of events simultaneous or with delay Repetition (with variations: e.g. tutorial 23) October 18th week 7 306A - Music and Audio Computing

8 306A - Music and Audio Computing
Time in MAX Time code formats in MAX milliseconds (most usual) metro, count, clocker… beats (ticks: fractions of a beat) tempo SMPTE code -> synchronization October 18th week 7 306A - Music and Audio Computing

9 306A - Music and Audio Computing
Time management in MAX MAX SCHEDULER timing interval: 1 to 20 ms (accuracy versus CPU efficiency) Interruption: stop scheduler -> Stack overflow error, e.g in a loop that overloads MAX (repetitions in less than 1 ms) Solution: resume (from the edit menu) restarts the scheduler (MAX 4) October 18th week 7 306A - Music and Audio Computing

10 306A - Music and Audio Computing
Timing objects in MAX Basic objects: metro, clocker… timeline object Sequencers: seq, follow, mtr, detonate OMS timing: clock source useful for synchronization of multiple sources to a single clock. MAX objects: timein, timeout, setclock October 18th week 7 306A - Music and Audio Computing

11 Timing objects in MAX: Hands on
Check patches week7-clocker, week7-counter, week7-line and week7-tempo. Compare the 3 different ways of implementing the same counter. Verify the difference between the counters in milliseconds and in beats (clocker, metro + counter, line versus tempo) Check the different possibilities in counter, line and tempo. October 18th week 7 306A - Music and Audio Computing

12 Loops in MAX Repeated actions (common in computer music) If, For (While) Loops with decisions: metro, clocker, random and sel, if… Instantaneous loops: as fast as possible message boxes, uzi (machinegun bangs) if object: if-then-else loop October 18th week 7 306A - Music and Audio Computing

13 306A - Music and Audio Computing
Debugging in MAX Remember!! Clean patches with sub-patches and abstractions Attention to message order!! Right-to-left, bottom-up Debugging using simple objects: number boxes, button, print, capture and Text October 18th week 7 306A - Music and Audio Computing

14 306A - Music and Audio Computing
Debugging in MAX TRACE option (MAX menu) traces messages as they are passed in a patch) Trace enabling (without overdrive) You can trace your messages step by step (cmd T), using automatic steps, setting breakpoints… Max window indicates each step!! (try week7 trace patches) October 18th week 7 306A - Music and Audio Computing

15 306A - Music and Audio Computing
Math in MAX Basic objects: operators expr object -> math similar to C programming language Ex. "pow": x to the power of y Additional math functions available using “expr”: abs, min, max, sin, cos, tan, log10, ln, random... October 18th week 7 306A - Music and Audio Computing

16 306A - Music and Audio Computing
Math in MAX: Hands on Open patches: week7-expr and week7-if Compare the two implementations of the same mathematical operations using individual objects and the expr object Remember that using simple objects implies taking into account the right-to- left, bottom-up flow of messages in MAX!! October 18th week 7 306A - Music and Audio Computing


Download ppt "Music and Audio Computing I A"

Similar presentations


Ads by Google