diff --git a/docs/backend/SoniccoutureKontakt.md b/docs/backend/SoniccoutureKontakt.md new file mode 100644 index 0000000..dd23a7d --- /dev/null +++ b/docs/backend/SoniccoutureKontakt.md @@ -0,0 +1,58 @@ +# Backend: Soniccouture Pan Drum (Kontakt version) + +## Why the Kontakt version + +Ableton Live pack: + +- Octave map only provides a single octave per articulation; insufficient range +- Precision map works, but Ableton has no support for key switching; we can drive the chain selector from within Max, but not with reliable ordering. (Multiple instances of the instrument would have the same problem: that too would require a chain selector to choose between them; exactly the same setup.) +- Our custom key-switched sampler works, but we cannot load the samples from the Live pack directly into Max (copyright protection?), and while we can drag them into wave file recepticles in Max, that requires loading 9 samples. Worse, such a setup does not reliable save and reload, so that every time we start we have to reload them again. + +The Kontakt version _does_ support proper key switching. So we can use the chromatic map (avoids having to do our own retuning), and we can use key-switching to select between articulations. + +Below is specific to the mk1, for now. + +## Used articulations + +``` +------------------------------- +PERCUSSION | Bass | + | Tak (Left) | + | Tak (Right) | + | Slap 1 (Left) | + | Slap 2 (Right) | +------------------------------- +MELODIC | Doum | Center + | Tonefield 1 | + | .. | + | .. | + | .. | + | .. | + | .. | + | .. | + | .. | + | Tonefield 9 | +------------------------------- +GHOST | Tak | + | Tonefield 1 | + | .. | + | .. | + | .. | + | .. | + | .. | + | .. | + | .. | + | Tonefield 9 | +------------------------------- +``` + +## Doum + +Natural doum: F3 +Transposed range: A2 - F#3 +Manually extended to G2 - F#3 for a full octave (just drag the Kontakt ranges) + + + + + diff --git a/docs/img/push2.jpg b/docs/img/push2.jpg new file mode 100755 index 0000000..16c2050 Binary files /dev/null and b/docs/img/push2.jpg differ diff --git a/parse-ableton/soniccouture-luts.sh b/parse-ableton/soniccouture-luts.sh new file mode 100755 index 0000000..99881ff --- /dev/null +++ b/parse-ableton/soniccouture-luts.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +cabal run parse-ableton-files -- examples/mk1-precision.adg create-luts --file-prefix sc_mk1_ +cabal run parse-ableton-files -- examples/mk2-precision.adg create-luts --file-prefix sc_mk2_ + +cp out/*.{table,coll} ../ks-sampler diff --git a/parse-ableton/soniccouture.sh b/parse-ableton/soniccouture.sh new file mode 100755 index 0000000..9b5686c --- /dev/null +++ b/parse-ableton/soniccouture.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +PARSE="cabal run parse-ableton --" + +$PARSE examples/mk1-precision.adg invert-msp | friendly >examples/inverted.mk1 +$PARSE examples/mk2-precision.adg invert-msp | friendly >examples/inverted.mk2 + +$PARSE examples/mk1-precision.adg summarise-msp --collate-velocities | friendly >examples/summary.mk1 +$PARSE examples/mk2-precision.adg summarise-msp --collate-velocities | friendly >examples/summary.mk2 diff --git a/patchers/BackendSoniccoutureKontakt.amxd b/patchers/BackendSoniccoutureKontakt.amxd new file mode 100644 index 0000000..2a51fe1 Binary files /dev/null and b/patchers/BackendSoniccoutureKontakt.amxd differ