Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SonicCouture (Kontakt version) backend #6

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions docs/backend/SoniccoutureKontakt.md
Original file line number Diff line number Diff line change
@@ -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)





Binary file added docs/img/push2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions parse-ableton/soniccouture-luts.sh
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions parse-ableton/soniccouture.sh
Original file line number Diff line number Diff line change
@@ -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
Binary file added patchers/BackendSoniccoutureKontakt.amxd
Binary file not shown.