5 Live Sampler
Opdracht 5 van 6
Voor deze opdracht maak je een live sampler waarmee je samples kunt opnemen en die direct met een kslider kunt bespelen. Met een druk op de spatiebalk kan je de opname maken. Ook kan je het instrument polyfoon maken door met meerdere voices te werken.
Deadline: 23 maart
Belangrijke objecten in deze opdracht:
Gebruik alt-click op het object om de help-file te openen. Bekijk ook de Max Keyboard Shortcuts en Max CheatSheet.
Plaats comments (sneltoets c
) om voor ons en jezelf duidelijk te maken dat je snapt hoe iets werkt.
Maak je patch netjes en overzichtelijk voordat je hem laat aftekenen, en zorg dat wat je presenteert een beetje muzikaal klinkt
Vooraf
De file cello-f2.aif is een van de samples die standaard in Max beschikbaar is. f2
staat voor de toonhoogte, ofwel 87.31Hz. Wanneer je de bestandsnaam als argument gebruikt in een [buffer~]
-object dan wordt die automatisch geladen.
a. Loop met Groove~
- Zorg er eerst voor dat je de cello-sample geloopt afspeelt met
[groove~]
en dat je de afspeelsnelheid kunt controleren met een[flonum]
(floating number box). - Maak vervolgens een
[kslider]
aan en implementeer de juiste berekening zodat def2
-toets de sample in originele snelheid afspeelt, en de andere toetsen in de juiste verhouding (dusf1
een octaaf lager, enc3
een kwint hoger) - Gebruik
[adsr~]
om een envelope te maken die je kunt instellen met vier[live.dial]
's. Zorg dat de[adsr~]
velocity sensitive is.
Objecten: [groove~]
, [sig~]
, [mtof]
, [kslider]
, [adsr~]
, [live.dial]
, [live.gain~]
, [/ 1.]
b. Record en De-click
- Gebruik
[ezadc~]
/[plugin~]
en[record~]
om audio van een mic of andere input op te nemen in de[buffer~]
zodat de cello-sample wordt overschreven. Zorg ervoor dat je kunt zien wat het input-level van de mic is. Met de[kslider]
bespeel je nu de opgenomen sample. - Patch het zodanig dat je de opname kunt starten met de spatiebalk.
- Het loopen van een sample kan klikjes veroorzaken wanneer hij van het einde naar het begin van de sample springt. Gebruik de sync output (rechter outlet) van
[groove~]
in combinatie met[trapezoid~]
om de sample kort in en uit te faden zodat eventuele klikjes verdwijnen. - Verzin een manier waardoor je de fade-in/out tijd van
[trapezoid~]
kunt instellen met waardes tussen0
en1
. Of beter nog: één waarde die zowel de fade-in als fade-out met gelijke lengte instelt.
Objecten: [adc~]
, [ezdac~]
, [record~]
, [trapezoid~]
, [*~]
, [meter~]
, [key]
, [trigger]
, [select]
(Cijfer 6)
c. Vibrato en Portamento
Vibrato is een zweving in toonhoogte, portamento is het geleidelijk interpoleren in toonhoogte van de vorige gespeelde noot naar de huidige.
- Gebruik
[cycle~]
om met een laag frequente sinusgolf de afspeelsnelheid te moduleren (vibrato) (en dus de toonhoogte). De modulatie moet rondom de gespeelde toon bewegen, en je moet de speed en depth kunnen instellen met UI-objecten. - Met
[line~]
interpoleer je van vorige toon naar de nieuwe gespeelde toon. Zorg ervoor dat je ramptijd kunt instellen.
Objecten: [cycle~]
, [line~]
, [*~]
, [+~]
, [pack f f]
(Cijfer 7)
d. Polyfonie
Je hebt nu een mono sampler gepatcht, om akkoorden te kunnen spelen wil je die polyfoon maken. Polyfonie is in wezen niets anders dan het tegelijkertijd kunnen gebruiken van meerdere kopieën van een monofone klank.
Kopieer de patch van a
, b
of c
om polyfoon te maken. Patches b en c hebben meer instellingen waar je rekening mee moet houden bij het opstarten en instellen van parameters, a
is wat makkelijker om mee te beginnen.
- Zet de
[kslider]
inpolyphonic mode
(via inspector), en zorg met een combinatie van[poly 4]
,[pack i i i]
, en[route 1 2 3 4]
dat je vier toetsen kunt indrukken waarvan de pitch- en velocitywaarde als lijsten uit aparte outlets van het[route]
-object komen. - Bedenk welk deel van de patch gebruikt moet worden voor polyfonie, en gebruik subpatchers of abstractions om dat te doen (4x). Sluit de vier pitch- en velocitywaardes op de juiste manier aan.
- Zorg dat je met dezelfde 4 dials elke
[adsr~]
van alle vier de voices kunt aansturen. - Indien je met vibrato en portamento werkt, zorg er dan voor dat ze met goed klinkende waarden opstarten en dat je ze kunt instellen voor alle kopieën tegelijk.
Objecten: [poly]
, [pack]
, [route]
, [p]
(subpatcher), [inlet]
, [outlet]
, [send]
, [receive]
(Cijfer 8)
Uitdaging (cijfer: 9, 10, 10+ met eeuwige waardering!)
-
Kijk eens naar andere objecten die met buffer~ kunnen werken zoals
wave~
oflookup~
en bouw je live sampler om tot een wavetable synth waarbij je zelf een stukje wavetable kunt opnemen -
Je hebt nu vibrato toegevoegd aan je sampler, dit is een frequentie modulatie techniek. Kijk ook eens naar het toepassen van andere modulatie technieken op je instrument zoals Ring-modulatie (RM) of Amplitude-modulatie (AM).
-
Het gebruik van subpatchers/abstractions is oké voor polyfone patches met weinig voices, maar zodra je 8 of meer voices wilt spelen wordt het al weer veel patchwerk. Bekijk eens het
[poly~]
(niet poly-zonder-tilde) om efficienter met polyfonie te werken en bouw je patch om. -
Maak een extra buffer zodat je 2 verschillende klanken kan opnemen. Verzin een interessante manier om deze 2 klanken in je sampler te gebruiken. Bijvoorbeeld een optie om te crossfaden tussen de twee, of dat elke keer dat je een nooit speelt willekeurig 1 van de 2 buffers gekozen wordt, of ...?