sample and layer chords.
acrostic lets you stack monophonic sound sources into chords with subtle melodies. basically, it is a sequencer that sends out one note at a time from chords to use the loops to record the entire chord phrase. I’ve used just this script (+tapedeck) to record my entire album “generations”.
this script originated as an addition to the norns oooooo script but I’ve broken it out into its own script with “acrostic”. the major benefits in this script are:
I recorded a tutorial that includes a demo, a quick start and a in-depth overview:
https://vimeo.com/663443176
here are a few more demo performances:
https://vimeo.com/663740623
https://vimeo.com/663740704
https://vimeo.com/663740652
I want to express a huge thanks to Takahiro for implementing the eyes in their wonderful three-eyes norns script and thanks to Ezra for helping me integrate some softcut code to record single loops. also big thanks to Jonathan who was a big inspiration for the demo video (I literaly took a page out his book displaying video text on a physical notebook).
the idea behind “acrostic” is to take several chords and then rearrange the notes in the chords to create a semblance of melody (sometimes called “voice leading”). for example: first suppose you chose four chords: Am, F, C, G. acrostic will first determine the notes for each chord in a separate column:
Am F C G
---------------
A F C G
C A E B
E C G D
then acrostic will rearrange the notes of each chord in each column.
Am F C G
---------------
A A G G
C C C D
E F E B
the nature of the re-arrangement can help to induce natural melodies. acrostic re-arranges in many ways - trying to keep similar notes grouped together or minimizing distances (as in example above), etc.
use K1+E1 to change pages.
there are four pages in acrostic:
the matrix does the sequencing and sampling and lets you modulate both. the planets lets you modulate the lfos for the volume and pan of the samples. the bars lets you gate and add interstitial notes. the phantom is a voice that you can use if you have no other voice.
use E1 to change “context” within this page. in the matrix there are four contexts:
the chords lets you pick the chords and allocate the beats. the notes context lets you rotate and change octave of notes in a chord. the phrase context lets you rotate notes and change octave in a phrase. the sampling context is where you initiate recording and can do some leveling.
you are in the “chord context” when the bar around the roman numerals is highlighted.
you are in the “note context” when the columns are highlighted and you are in the “phrase context” when a row is highlighted. both of these contexts have the same controls/share controls.
you are in the “sampling context” when the sample area is highlighted.
when you queue a recording (K3) it will begin recording at the next loop. you can queue multiple samples, even while one is recorindg.
adjust parameters in PARAMS > loop X
or from the phantom UI:
adjust parameters in PARAMS > notes
or from the phantom UI:
adjust parameters in PARAMS > phantom
or from the phantom UI:
the crow outputs are used for expression with CV instruments:
the grid is meant as a performative sequencer. in the parameters you can set whether the sequence resets every chord or not (PARAMS > grid > reset every chord
). using the grid will “takeover” the crow outputs. when the grid stops playing, the crow will output as normal. tip: if you sequence a single note you and just change notes and use it as a simple keyboard.
rows 1-6 controls pitch. you can use two finger gestures to draw shapes. the note shapes are applied the note matrix. the rows 1-3 notes that are always the same. the rows 4-6 are notes that change with every chord. pressing a note again will transpose it, alternating up/down.
row 7 controls duration. pressing a step twice will cause that note to hold. pressing two steps will reset their duration to the default (1/16th note).
row 8 controls gates. pressing two gates will invert all gates in between.
dev only</summary>
I created a patch for softcut that simplifies the recording and lets the pre
function work as it should.
requires latest softcut and a unreleased norns build.
first rebuild norns:
sudo systemctl stop norns-jack.service; sudo systemctl stop norns-matron.service; sudo systemctl stop norns-crone.service && \
cd ~; ~/norns/stop.sh; rm -rf ~/norns; \
git clone https://github.com/schollz/norns && \
cd ~/norns && git checkout id && \
git submodule update --init --recursive && \
cd ~/norns/crone/ && rm -rf softcut && \
git clone https://github.com/schollz/softcut-lib softcut && \
cd softcut && git checkout id && \
cd ~/norns/crone/softcut/softcut-lib && \
./waf configure && \
./waf && \
cd ~/norns && \
./waf configure --enable-ableton-link && \
./waf build && \
sudo systemctl restart norns-jack.service; sudo systemctl restart norns-matron.service; sudo systemctl restart norns-crone.service
then install acrostic:
rm -rf ~/dust/code/acrostic && \
git clone https://github.com/schollz/acrostic ~/dust/code/acrostic
then restart norns:
sudo systemctl restart norns-jack.service; \
sudo systemctl restart norns-matron.service; \
sudo systemctl restart norns-crone.service
don’t do this unless you know what you are doing. </details>
install with
;install https://github.com/schollz/acrostic