# Mapping 'Alle meine Entchen'

## Recommended Posts

Algorithmic 'play' with the song "Alle meine Entchen" (All my little ducklings) popular german children song.

An example with TONALITY-MAP and GEN-PAUSE functions.
A fun exercise for four voices in five parts.

The original song

Global seed.
`(init-seed 35)`

Song in OMN script.

```(setf song
'((e c4 d4 e4 f4) (q g4 =) (e a4 = = =) (q g4 -)
(e a4 = = =) (q g4 -) (e f4 = = =) (q e4 =)
(e g4 = = =) (q c4 -)))```

Creating four voices based on the original song.
Processing three voices, each with its own random order of its bars.
```(setf s-rnd (rnd-order song :list t))
(setf a-rnd (rnd-order song :list t))
(setf t-rnd (rnd-order song :list t))```

The fourth voice is 10 repetitions of the first bar of the original song.

`(setf b-rep (gen-repeat 10 (list (first song))))`

Transposition of each bar to start pitch.
```(setf s-trs (pitch-transpose-start '(0 1 2 3 4 5 6 7 8 9 10) s-rnd))
(setf t-trs (pitch-transpose-start '(0 7) t-rnd))
(setf b-trs (pitch-transpose-start '(0 -1 2 -3 4 -5 6 -7 8 -9) b-rep))```

Adding accents to the bass voice.
`(setf b-dyn (subseq (gen-accent 0.2 '(2 3) b-trs) 0 4))`

Three voices of the 2nd part are mapped to dorico-flamenco scale.
```(setf s-2 (tonality-map '(dorico-flamenco :root f3 :ambitus soprano :shift t) s-trs))
(setf t-2 (tonality-map '(dorico-flamenco :root f3 :ambitus tenor :shift t) t-trs))
(setf b-2 (tonality-map '(dorico-flamenco :root f3 :ambitus bass :shift t) b-trs))```

The 'bass' voice in the 3rd part is mapped to prometheus-liszt scale.
`(setf b-3 (tonality-map '(prometheus-liszt :root f3 :ambitus bass :shift t) b-dyn))`

All four voices of the 4th part are mapped to minor tonality.
```(setf s-4 (tonality-map '(minor :root gs4 :ambitus soprano :shift t) s-rnd))
(setf a-4 (tonality-map '(minor :root gs4 :ambitus alto :shift t) a-rnd))
(setf t-4 (tonality-map '(minor :root gs4 :ambitus tenor :shift t) t-rnd))
(setf b-4 (tonality-map '(minor :root gs4 :ambitus bass :shift t) b-rep))```

End bar with fermata.
`(setf end-bar '(e gs3 b3 eb4 e4 fermata))`

10, 4 and 1 bar pause.
```(setf pause10 (gen-pause song))
(setf pause4 (gen-pause b-dyn))
(setf pause1 (gen-pause end-bar))```

Assembling voices.
```(setf soprano (assemble-seq song s-2 pause4 s-4 pause1))
(setf alto (assemble-seq pause10 pause10 pause4 a-4 pause1))
(setf tenor (assemble-seq pause10 t-2 pause4 t-4 pause1))
(setf bass (assemble-seq pause10 b-2 b-3 b-4 end-bar))```

Defining the score and the layout.
```(def-score Alle-meine-Entchen
(:title "Alle meine Entchen"
:key-signature '(c maj)
:time-signature '(2 4)
:tempo '((120 34) (:rit 120 30 1/16 1))
:layout (choir-satb-layout 'soprano 'alto 'tenor 'bass
:ignore-velocity t))

(soprano :omn soprano :channel 1 :sound 'gm :program '0)
(alto :omn alto)
(tenor :omn tenor)
(bass :omn bass))```

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
• #### Browser

• Video Gallery

• Lessons