MUS2840 / 4840 - Obligatoriske oppgaver
/ Hvordan levere oppgaver / Godkjentliste / Tips & triks /
Oppgave 1: "Hello World"
Lag en patch som:
- Printer Hello World i MAX-vinduet.
- Setter teksten Hello World inn i et tekstfelt (tips: prepend).
- Mottar MIDI-in og viser tonen både som tall (int), som MIDI-note og i "klaviatur"-objektet.
- Spiller av en tone med frekvens 440 Hz.
Oppgave 2: Avansert stoppeklokke
Lag en "stoppeklokke" som inneholder følgende elementer:
- En knapp som starter en teller (tips: metro + counter) med underdeling 1 sekund (=1000 millisekunder)
- Viser tiden i minutter og sekunder (tips: bruk både matematiske og logiske operasjoner)
- Spiller en kort tone (440 Hz) ved faste, gitte intervaller
Prøv å gjøre patchen så ren og pen som mulig, gjerne ved å skjule elementer. Husk å skrive kommentarer i patchen, som forklarer hva som skjer.
Oppgave 3: Enkel "synthesizer"
Denne oppgaven er todelt:
- Bruk midiin og midiparse til å finne ut hva som sendes når du bruker en keyboard (tangenter, hjul/bend og pedaler). Forsøk å gi en kortfattet forklaring (i patchen) av alle elementene. Lag en liste over hvilken rekkefølge ting skjer i.
- Lag en patch som tar inn MIDI fra keyboard, viser hvilken midi-tone som er spilt (både som MIDI-note og på "klaviaturet") og spiller tilsvarende tone via cycle~ (tips: bruk mtof).
Oppgave 4: Avansert metronom
Lag en metronom med følgende funksjoner:
- Variabel hastighet (50-250 slag per minutt)
- Spiller en tone på hvert taktslag (tips: bruk delay for å skru lyden av)
- Markerer første taktslag med en annerledes tone
- Mulighet for å endre rytme (3/4, 4/4, 5/4, +)
- Volumkontroll
Forsøk å gjøre patchen så pen som mulig. Lagre den gjerne som et selvstendig program som du kan bruke ved en senere anledning.
Oppgave 5: Akustiske øvelser
Følgende oppgaver er ment som illustrasjon til temaer tatt opp i Lydteori1. Lag:
- Et oppsett med to cycle~ slik at man kan:
- justere fasen på de to sinusbølgene og se (oscilloskop) og høre at de periodisk forsterker og kansellerer hverandre.
- justere frekvensene slik at man kan se og høre beats.
- Additiv syntese. Lag en tone med 5 partialer (overtoner). Sett inn en ADSR-envelope som justerer amplituden over tid.
Oppgave 6: Persepsjon og Groove-boks
- Ditt eget Fletcher Munson diagram. Lag et oppsett hvor en tone spilles fra 50-15 000 Hz i løpet av ca. 20 sekunder. Du skal selv bruke en volumkontroll for å forsøke å opprettholde en perseptuelt lik lydstyrke. Volumverdiene lagres i en table. Sjekk om dine verdier stemmer med tabellen i kompendiet til Lydteori1. Lagre tabellen i patchen. Forklare evt. avvik
- Lag en enkel "groove-boks" som tar opp en kort lyd (record~ til en buffer~), og spiller den av med loop i forskjellige hastigheter (groove~).
Oppgave 7: Notestatistikk og Utvidet Groove-boks
- Lag en patch som registrerer antall spilte MIDI-noter fra keyboard, og viser hvor mange ganger hver enkelt tone er spilt. Lag også litt enkel statistikk på disse verdiene, ved å finne ut hvor mye hver enkelt er spilt i forhold til de andre. Patchen bør se pen ut, slik at den kan brukes i analysesammenheng. Prøv å "gjemme" bort så mye som mulig i subpatcher.
- Utvid "groove-boksen" fra forrige oppgave med enkel romklang (tapin~ og tapout~) samt filter (biquad~). Forsøk å eksperimentere med flere separate buffere.
Oppgave 8: Planlegging av større prosjekt
- Fortsett på notestatistikken fra forrige ukes oppgave. Lag et system som "gjetter" hvilke akkorder som spilles, (eks: hvis du spiller en akkord med tonene C-E-G så bør systemet vite at dette er C-dur, D-F-A-C bør returnere Dm7). Du bør forsøke å definere minst tre forskjellige typer akkorder (dur, moll-septim, dominant-septim). Det kan være lurt å bruke bucket for å klare å ta vare på en serie med verdier. For å få dette til å fungere må du sette opp mange forskjellige typer logiske tester!
- Lag en skisse til semesteroppgaveprosjekt. Skissen skal lages i MAX, ved bruk tekstobjekter og beskrivelser av hva de forskjellige enhetene skal gjøre. Prosjektet kan være et analyseprogram, vst-effekt, synthesizer eller konsertpatch. Eneste krav er at det går lyd inn og ut av systemet! Bestem hvilke typer DSP du skal bruke (syntesemodeller, MIDI og/eller sampling) og beskriv hvordan de skal brukes.
Oppgave 9: Panning og reverb
Utvid Groove-boksen fra tidligere oppgaver med panning og reverb. Du kan enten lage egne objekter eller bruke noen som er ferdige (f.eks. cpPan~ og freeverb~).
Oppgave 10: Syntese
Lag en patch som viser følgende elementer: AM-syntese, ringmodulasjon, tremolo; FM-syntese, phasing og flanging (bruk gjerne MSP-manualen, Tors kompendium og Computer Music Tutorial som referanse). Beskriv kort (men oversiktlig!) hva som skjer.