Music and Audio Computing I A

Slides:



Advertisements
Similar presentations
Slide 1CPU Emulator Tutorial This program is part of the software suite that accompanies the book The Digital Core, by Noam Nisan and Shimon Schocken 2003,
Advertisements

AN INTRODUCTION TO MAX/MSP Medialogy, Aalborg University Copenhagen. Niels Böttcher,
Objectives Understand the software development lifecycle Perform calculations Use decision structures Perform data validation Use logical operators Use.
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 3 Programming and Software.
A High-Level Model For Software Development
Recursion Chapter 7. Chapter 7: Recursion2 Chapter Objectives To understand how to think recursively To learn how to trace a recursive method To learn.
MCITP Guide to Microsoft Windows Server 2008 Server Administration (Exam #70-646) Chapter 14 Server and Network Monitoring.
ACSE th Conference The Iconic Programmer Stephen Chen.
Chapter 3 Planning Your Solution
CPSC 203 Introduction to Computers T43, T46 & T68 TA: Jie (Jeff) Gao.
Mathcad Variable Names A string of characters (including numbers and some “special” characters (e.g. #, %, _, and a few more) Cannot start with a number.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Carolyn Seaman University of Maryland, Baltimore County.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 6 Value- Returning Functions and Modules.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Practical Programming COMP153-08S Week 5 Lecture 1: Screen Design Subroutines and Functions.
PROGRAM DEVELOPMENT CYCLE. Problem Statement: Problem Statement help diagnose the situation so that your focus is on the problem, helpful tools at this.
INSERT BOOK COVER 1Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall. Exploring Getting Started with VBA for Microsoft Office 2010 by.
CS Class 04 Topics  Selection statement – IF  Expressions  More practice writing simple C++ programs Announcements  Read pages for next.
Music and Audio Computing I A Prof. Marcelo M. Wanderley Week 8.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Music and Audio Computing I A Prof. Marcelo M. Wanderley Week 9.
Integrating Algorithms and Coding into the Mathematics Classroom
CS1010 Programming Methodology
OPERATING SYSTEMS CS 3502 Fall 2017
Recursion Topic 5.
3.1 Fundamentals of algorithms
Resource Management IB Computer Science.
Topic: Recursion – Part 2
Hun Wie (Theo) SJSU, 2011 Spring Prof: Dr. Sin-Min Lee
Programming & Scratch.
Problem , Problem Solving, Algorithm & Flow Charts –Part 1
Repetition Structures Chapter 9
Topics Introduction to Repetition Structures
Algorithms and Flowcharts
Computer Programming I
Programmable Interval Timer
C-language Lecture By B.S.S.Tejesh, S.Neeraja Asst.Prof.
Programming Fundamentals
Microsoft Access Illustrated
Barb Ericson Georgia Institute of Technology Dec 2009
Computer Programming.
ALGORITHMS AND FLOWCHARTS
Chapter 6 Repetition Objectives ❏ To understand basic loop concepts:
Exploring Microsoft Excel
CS1100 Computational Engineering
Global Challenge Fitness Friend Lesson 2.
Defining and Calling a Macro
ALGORITHMS AND FLOWCHARTS
Introduction to TouchDevelop
CIS 16 Application Development Programming with Visual Basic
CPU Emulator Tutorial This program is part of the software suite
Global Challenge Fitness Friend Lesson 2.
Introduction to Database Programs
Algorithm and Ambiguity
Global Challenge Fitness Friend Lesson 2.
Topics Introduction to Value-returning Functions: Generating Random Numbers Writing Your Own Value-Returning Functions The math Module Storing Functions.
Global Challenge Fitness Friend Lesson 2.
Global Challenge Fitness Friend Lesson 2.
Global Challenge Fitness Friend Lesson 2.
Flowcharts and Pseudo Code
Global Challenge Fitness Friend Lesson 2.
Music and Audio Computing I A
Hun Wie (Theo) SJSU, 2011 Spring Prof: Dr. Sin-Min Lee
Introduction to Database Programs
Music and Audio Computing I A
Global Challenge Fitness Friend Lesson 2.
Review of Previous Lesson
Programming Assignment Tutorial
Introduction to Computer Programming IT-104
Chapter 1: Creating a Program.
Presentation transcript:

Music and Audio Computing I 216-306A Prof. Marcelo M. Wanderley mwanderley@acm.org Week 7

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

(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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing

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 2001 - week 7 306A - Music and Audio Computing