Forelesning 1-2 (MUS2840 / 4840 - høst 2003)
Introduksjon til MAX
Hva er MAX? |
Hva er MAX ikke? |
|
|
Historie
- 1984: MAX: Laget av Miller S. Puckette ved IRCAM i Paris. Ment som et kontrollverktøy for MIDI.
- Lisensiert til kommersiell utvikling av Opcode.
- 1997: MSP lansert. Realtidsprosessering av audio. Basert på PD av Miller S. Puckette.
- 2000: Cycling '74 tar over utviklingen etter Opcode.
- 2002: Jitter lansert. Håndtering av matriser -> video.
- 2003: MAX for OS X lanseres.
- 2003: MAX for Windows lanseres (?)
Funksjonsoversikt
MAX | MSP | Jitter |
System | DSP |
Matriser |
MIDI | Audio | Video |
MAX i musikklandskapet
------> Enkelhet
og brukervennlighet |
|||||||
Assembler | C | Java | CSound | MAX/MSP PD jMax |
Retro Reaktor Unity |
Band in a Box | Ferdig CD |
<------- Kontroll og muligheter |
MAX krever forståelsen av
- Programmeringsteknikk
- Digital signalbehandling
- MIDI
- Analyse
- Syntese
Introduksjon til programmering
- Et program er en selvstendig enhet som får en datamaskin til å gjøre noe med et eller annet.
- Java og C++ er populære programmeringsspråk som brukes til å lage alle mulige applikasjoner.
- Matlab er et programmeringsspråk som brukes innenfor matematiske beregninger.
- MAX er et programmeringsspråk som er spesielt beregnet for midi, audio og video i realtid.
- Programmer må kompileres for å kunne kjøre.
- I MAX går man enkelt fra edit til run modus.
Objektorientert programmering
- MAX er grunnleggende objektorientert.
- OO er basert på at uavhengige enheter kobles sammen.
- Alle MAX-objekter er programmert i C++.
- Nye objekter kan enkelt legges til.
- Nye patcher kan enkelt legges til.
Oppbygning av et MAX-program
- Patch: et selvstendig programvindu
- Subpatch: et "hjelpeprogram"
- Objekt: er egentlig en patch. Et objekt kalles gjennom å skrive navnet i et tomt objektvindu.
- Bang: En kommando som får noe til å skje.
Programmering og tall
Programmeringsspråk operer med forskjellige typer tall, i hovedsak:
- Int: integer = heltall (1, 2 osv)
- Float: desimaltall (1.2234, 4.5982289 osv)
Programbeskjeder
- Beskjeder (fra print) og feilmeldinger skrives til MAX-vinduet
- MAX-vinduet kan skrues av og på under Window-menyen
- Man bør alltid følge med i MAX-vinduet for å se om det kommer meldinger
Kontrollobjekter
- Metro: tar parameter tid (i millisekunder) og når den skrus på med en av/på-bryter, sender den bang for hver tidsenhet. Metro brukes når man ønsker at noe skal skje regelmessig.
- Counter: brukes for å telle verdier. Den legger til en verdi hver gang den mottar en bang inn fra venstre. Man kan koble counter på et tallobjekt for å se gjeldende verdi. Nullstilles med tekstkommandoen set 0.
- Timer: er egentlig en kombinasjon av metro og counter. Brukes for å finne tiden mellom hendelser.
Matematiske operasjoner
- + addisjon
- - subtraksjon
- / divisjon
- * multiplikasjon
- ...
Logiske operasjoner
- == er lik
- >= er mindre enn eller link
- ...
- % modulo gir restverdien av en divisjon
Introduksjon til MIDI i MAX
Nyttige objekter:
- midiin
- notein
Introduksjon til Audio i MAX
Alle audio-objekter er etterfulgt av en tilde ~.
- cycle~ er en tonegenerator som lager en sinustone med gitt frekvens.
- dac~ omformer lyd fra digitalt signal til audio. Må skrus på for å gi lyd.