[Csnd] [Music] Visitiing Cloud-Cuckoo-Land (Csound only)

Hey hey,
Visiting Cloud-Cuckoo-Land:

This piece is influenced by an atmospheric game soundtrack, with beautiful, quiet sound design. The game is called Stray and the piece is "Ant Village":

Theme starts at 3:12

Technical notes: this piece was entirely recorded and mixed in Csound, only the final "mastering" was done in Nama/Ecasound. Thanks to the ArchLinux maintainers of the Ecasound package for updating the software!
All melodic sounds were specially created for this project. The strings and "mandolins" using Karplus-Strong synthesis using Csound wguide1 opcode. The drums were ready-made User Defined Opcodes with the idea of "drum machines" as can be found in some of the flexible digital and analogue hardware, for example the Elektron, new Roland MC-* or Korg Drumlogue. The melody, bass and rhythm instruments use classic virtual analogue synthesis, while the marimba/bell sound is based on Csound's marimba model with the addition of resonant filters phaser2.

Composition/writing: the melodicy lines and the drums were recorded in MIDI and then, using a Python script, transformed into a format ready to read in Csound. I implemented a simple sequencer in Csound, reading its data from f-tables. This gives the basis for another family of UDOs making it easier to use that kind of looping sequencer. It allows to handled MIDI notes, velocity and a degree of randomness/humanisation.
The melodic lione was played polyphonically and then split into four monophonic voices. The voice-lines were alternated by the Python script, so that the melody switches, not by note, from the first voice to the second. The same happens with the third and fourth voice. That way, the lead lines suggest two - or three - motives, only coming together as the intended melody, when al four voices play at the same volume. -- Again, this Python code gives rise to a more organised and feature rich tool.

When all is said and done, I just hope you enjoy it.

Best wishes,

Jeanette

Very good. Emoji

-Partev

Do you have .csd file/s of the work?

Csound mailing list Send bugs reports to Discussions of bugs and features can be posted here

Hi Pablo,
attached is a zip file of the sources. It's one main CSD file, plus a lot of UDOs and *.[digits] files containing the sequence data for the melodies. I tried to write organised and clean code, but towards the end I just hammered in a few pieces as they came up. I has definitely unearthed more UDOs to write and even better structural layout of the whole orchestra.

I did not include the Python scripts I used to convert the MIDI patterns into the ftable files, because they are even more a work in progress. Ths was my first attempt to do this. Basic concepts are emerging and when I come round to a coding phase next, I will work out a more fully featured application for that task as well. :slight_smile:

Best wishes,

Jeanette

visitiing_cloud_cuckoo_land.zip (46.6 KB)

Jeanette,

A really super piece, and a wonderful process. (As always).

Jeanette, would especially love to add this csd to CsoundMeta and play with it, and share it with others, in the MetaVerse.

Dr. Richard Boulanger
Professor
Electronic Production and Design
Berklee College of Music

Jeanette,

The csd is awesome.

I do get a few warnings and errors, and so, I am not hearing the birds.

WARNING: loop opcode: wrong argument count

I presume that this is in one of your UDOs?

Also - and maybe this is where the birds went…

new alloc for instr Receiver:

PERF ERROR in instr 11 (opcode tab) line 459: tab off end 300

from file /Users/richardboulanger/Downloads/Jeanette_C-visitiing_cloud_cuckoo_land/piece.csd (1),#a20 tab #k19 iSequence 0

note aborted

PERF ERROR in instr 11 (opcode tab) line 459: tab off end 1176

from file /Users/richardboulanger/Downloads/Jeanette_C-visitiing_cloud_cuckoo_land/piece.csd (1),#a20 tab #k19 iSequence 0

note aborted

PERF ERROR in instr 11 (opcode tab) line 459: tab off end 852

from file /Users/richardboulanger/Downloads/Jeanette_C-visitiing_cloud_cuckoo_land/piece.csd (1),#a20 tab #k19 iSequence 0

note aborted

PERF ERROR in instr 11 (opcode tab) line 472: tab off end 828

from file /Users/richardboulanger/Downloads/Jeanette_C-visitiing_cloud_cuckoo_land/piece.csd (1),#a43 tab #k42 iSequence 0

note aborted

PERF ERROR in instr 11 (opcode tab) line 472: tab off end 264

from file /Users/richardboulanger/Downloads/Jeanette_C-visitiing_cloud_cuckoo_land/piece.csd (1),#a43 tab #k42 iSequence 0

note aborted

PS - the opening is heavenly.
Ah, now I am hearing the birds - I think I needed to keep the --sinesize==65536 commandline argument in there. :wink:

Danke schön !!!

Csound mailing list Send bugs reports to Discussions of bugs and features can be posted here

To run in CsoundUnity, I think that the defaults are sr=48000 and ksmps=64

Correction, I typically set them to that in my CsoundUnity csd files, but I think that Unity changes them to
kr = 48000 and ksmps = 1

Hi Richard,
thanks, as ever, for your kind and motivating feedback.

The receiver instrument is used for the pre-recorded sequences, i.e. the main melody, the VA-brass like arpeggios and the FM-brass-like backing lines. I don't think I ever used a loop opcode in there.

So the table errors you got must be from those supplied table files. Not sure, why this would happen. I know that it is quite possible to run into issues at the ends of ftables and thus tried to put in a few safe-guards.

You'd be welcome to play with the piece, though I think the full version is not very friendly towards live perfrmances. If, however, you remove the strings and the mandolins, the CPU load drops quite a bit. :slight_smile:

And just to avoid confusion: I am using Csound 6.18.

Best wishes,

Jeanette

Ah ksmps=64 might cause a few artefacts. I tried to use a-rate envelopes as much as possible, but not everywhere...

Hi Aaron,
I was particularly inspired by this "choral" bit myself, as well as by the whole sound design. So I began writing Cloud Cuckoo Land. I never wrote any music for a game.

But it's good that you're here,I may have one or two Faust questions. Perhaps you might lend a hand? If so, just e-mail me off-list.

Best wishes,

Jeanette