Qu-bit Nebulae with Csound CSD files

Cwejman, Livewire, TipTop Audio, Doepfer etc... Get your euro on!

Moderators: luketeaford, Joe., lisa, Kent

Post Reply
User avatar
sebiiksbcs
Common Wiggler
Posts: 63
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Qu-bit Nebulae with Csound CSD files

Post by sebiiksbcs » Sat Feb 08, 2014 2:12 pm

Hi, I've made a simple .csd file for Qu-bit Nebulae with 3 2-op fm oscillators that respond to pitch and are tuneable against each other.

Image

I'd be happy if someone with a Nebulae could test if it works on their modules. Also, I hope for any suggestions, improvements etc. since I'm just a little wiggler.

See zip file for image and .csd file. [Just place the .csd file in the root directory of your USB stick you use your Nebulae with and start up. Nebulae should then automatically run the file in csound.
You do not have the required permissions to view the files attached to this post.

StoneLaw
Super Deluxe Wiggler
Posts: 1631
Joined: Mon Feb 04, 2013 9:59 pm
Location: Minneapolis, MN

Post by StoneLaw » Sat Feb 08, 2014 3:04 pm

Cool this is making me want one!

StoneLaw
Super Deluxe Wiggler
Posts: 1631
Joined: Mon Feb 04, 2013 9:59 pm
Location: Minneapolis, MN

Post by StoneLaw » Sat Feb 08, 2014 3:08 pm

Was the coding simple? Is there info out there about how to do this? I've used csound some but never coded any controllers... Just simple score stuff

User avatar
taylor12k
Ultra Wiggler
Posts: 993
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k » Sat Feb 08, 2014 8:33 pm

whoa! will try this tonight

User avatar
taylor12k
Ultra Wiggler
Posts: 993
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k » Sat Feb 08, 2014 11:52 pm

works for me here! really beautiful glassy sounds…!

hope this is the start of many csound experiments with this thing…

and, a quick sound over on soundcloud (pretty crappy pitch sequencing.. but this was quick. the skittery sound is an LFO on the FM index)

https://soundcloud.com/12k/feb08

[soundcloud url="https://api.soundcloud.com/tracks/133820061" params="auto_play=false&hide_related=false&visual=true" width="100%" height="450" iframe="false" /]

User avatar
sebiiksbcs
Common Wiggler
Posts: 63
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs » Sun Feb 09, 2014 1:49 am

Coding was simple once I've found out (from the Nebulae source code) how to access the knobs.

Also, I believe if you understand a modular synth, learning the basics of Csound will not be too challenging!

As far as I understand it, the Arduino (?) on the Nebulae will read out analog knob and button values and send them as MIDI control change values to Csound running on the Raspberry Pi. You can look up in the source code which CC numbers correspond to which knobs, many are 14-bit, very cool.

[Edit: For MIDI from an external device via the Nebulae's MIDI in, the respective control change numbers seem to differ. Haven't tested this yet, but I think it might just work. The MIDI implementation can be found in the Nebulae's manual]

I'll create a simple template with more comments later where you could paste any code. Also I'll try pushing the sample rate (currently 22050 Hz) higher and/or improve the latency, out of curiosity.

As for CV control of the knob/button values, their speed and steppiness seems to be limited hardware-wise, don't know at which stage though.


I have no idea how to compile a kernel for Raspberry Pi or anything similar, also I want to keep the original functionality of the Nebulae so I'll just stick to this quasi-improvised .csd reading thing.

So, that's that. Time for a coffee and making a virtual Minimoog inside my Nebulae :DD
Last edited by sebiiksbcs on Sun Feb 09, 2014 10:38 pm, edited 2 times in total.

mafouka
Wiggling with Experience
Posts: 438
Joined: Mon Dec 12, 2011 9:26 pm
Location: CA

Post by mafouka » Sun Feb 09, 2014 1:59 am

Wow this is some next level right here. Is there any fun way to create .csd files? First impression of Csound workflow seems very tedious and formulaic.
這一生中有多少人擦肩而過?而朋友是多麼可貴啊

User avatar
Richard Devine
Wiggling with Experience
Posts: 261
Joined: Tue Apr 28, 2009 10:49 am
Location: ATL

Post by Richard Devine » Sun Feb 09, 2014 2:06 am

Whoa, great download it now, thanks a bunch

User avatar
sebiiksbcs
Common Wiggler
Posts: 63
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs » Sun Feb 09, 2014 2:06 am

mafouka wrote:tedious and formulaic.
Yes but actually only if you write your score in Csound. I never did that and coded for realtime MIDI input instead. Enter voltage-controlled Csound in an Eurorack module!

The FM patch example above are just a few lines of code, and once you have these running, fire it up in your Nebulae and... (puts on sunglasses) apply voltage.

User avatar
taylor12k
Ultra Wiggler
Posts: 993
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k » Sun Feb 09, 2014 5:28 pm

i'd love to see like a harmonic oscillator... 4-8 sine waves with volume control over each one... of course, you'd need pitch control, too ... maybe not enough knobs/cv points for that..


sebiiksbcs wrote:Coding was simple once I've found out (from the Nebulae source code) how to access the knobs and buttons.

Also, I believe if you understand a modular synth, learning the basics of Csound will not be too challenging!

As far as I understand it, the Arduino (?) on the Nebulae will read out analog knob and button values and send them as MIDI control change values to Csound running on the Raspberry Pi. You can look up in the source code which CC numbers correspond to which knobs, many are 14-bit, very cool.

[Edit: For MIDI from an external device via the Nebulae's MIDI in, the respective control change numbers seem to differ. Haven't tested this yet, but I think it might just work. The MIDI implementation can be found in the Nebulae's manual]

I'll create a simple template with more comments later where you could paste any code. Also I'll try pushing the sample rate (currently 22050 Hz) higher and/or improve the latency, out of curiosity.

As for CV control of the knob/button values, their speed and steppiness seems to be limited hardware-wise, don't know at which stage though.


I have no idea how to compile a kernel for Raspberry Pi or anything similar, also I want to keep the original functionality of the Nebulae so I'll just stick to this quasi-improvised .csd reading thing.

So, that's that. Time for a coffee and making a virtual Minimoog inside my Nebulae :DD

digidandy
Veteran Wiggler
Posts: 620
Joined: Fri Mar 29, 2013 4:05 pm
Location: Norway

Post by digidandy » Sun Feb 09, 2014 5:35 pm

I'd like to see some of the stuff from the csound based Cecilia software (older versions), but it might be too processor intensive.

Would it be possible to use csd scores that uses samples?
My latest release, including vinyl!


digidandy
Veteran Wiggler
Posts: 620
Joined: Fri Mar 29, 2013 4:05 pm
Location: Norway

Post by digidandy » Sun Feb 09, 2014 5:36 pm

I'd like to see some of the stuff from the csound based Cecilia software (older versions), but it might be too processor intensive.

Would it be possible to use csd scores that uses samples?
My latest release, including vinyl!


digidandy
Veteran Wiggler
Posts: 620
Joined: Fri Mar 29, 2013 4:05 pm
Location: Norway

Post by digidandy » Sun Feb 09, 2014 5:40 pm

I'd like to see some of the stuff from the csound based Cecilia software (older versions), but it might be too processor intensive.

Would it be possible to use csd scores that uses samples?
My latest release, including vinyl!


User avatar
sebiiksbcs
Common Wiggler
Posts: 63
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs » Sun Feb 09, 2014 9:28 pm

taylor12k wrote:i'd love to see like a harmonic oscillator... 4-8 sine waves with volume control over each one... of course, you'd need pitch control, too ... maybe not enough knobs/cv points for that..
Should be simple. I'll give it a spin later.

This should technically work:

- one fundamental sine with pitch but always at full volume
- three additional sines with pitch and volume control
- should the three additional sines have independent pitch tracking or transpose based on the fundamental?
- waveform switching (adding "traditional" waveforms or wavetables) should be no problem as well once I understand how the buttons work.

Don't expect perfect 1v/oct tracking though. It works for about 2-3 octaves. Perhaps some fine tuning using a lookup table or so will help.

User avatar
sebiiksbcs
Common Wiggler
Posts: 63
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs » Sun Feb 09, 2014 9:39 pm

digidandy wrote:I'd like to see some of the stuff from the csound based Cecilia software (older versions), but it might be too processor intensive.

Would it be possible to use csd scores that uses samples?
I forgot how the Cecilia patches look like. Which ones would you like to see (hear) realized on the Nebulae? CPU is indeed limited though, I've had audio dropouts when using extreme settings on the grain cloud patch I've done last night. But then grain clouds are really demanding as they're technically polyphonic up to hundreds of voices.

And yes, you can reference to samples right away! I was surprised Csound wasn't complaining at all.
So you could technically program a Euclidean drum sampler with voltage control over sample selection or whatever.

User avatar
sebiiksbcs
Common Wiggler
Posts: 63
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs » Sun Feb 09, 2014 10:19 pm

Check out this grain patch! I don't own any rights to the included sample, it's merely being used for educational purposes and blah blah.

If you want to use your own sample, open the .csd and replace "jiejie3.wav" with the file name of your sample (which must be placed in the root directory of your USB drive. Try avoiding special characters in the file name).

Sample length is currently hard-coded to a fixed length. I might add sample selection via a knob or button in the future.
You do not have the required permissions to view the files attached to this post.

User avatar
sebiiksbcs
Common Wiggler
Posts: 63
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs » Sun Feb 09, 2014 10:42 pm

mafouka wrote:Is there any fun way to create .csd files?
I remember there used to be a tool called Cabel which basically lets you connect Csound modules in a "Nord Modular Editor" fashion. You could then export the .csd file, adjust the CsOptions and try if it works in the Nebulae!

User avatar
taylor12k
Ultra Wiggler
Posts: 993
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k » Sun Feb 09, 2014 10:50 pm

wow, that would be very cool….. could you try it?

i think the 3 additional sines based on the first would be quite nice musically and make it easier to dial in more useful results….

so great.. keep us posted!

- taylor
sebiiksbcs wrote:
taylor12k wrote:i'd love to see like a harmonic oscillator... 4-8 sine waves with volume control over each one... of course, you'd need pitch control, too ... maybe not enough knobs/cv points for that..
Should be simple. I'll give it a spin later.

This should technically work:

- one fundamental sine with pitch but always at full volume
- three additional sines with pitch and volume control
- should the three additional sines have independent pitch tracking or transpose based on the fundamental?
- waveform switching (adding "traditional" waveforms or wavetables) should be no problem as well once I understand how the buttons work.

Don't expect perfect 1v/oct tracking though. It works for about 2-3 octaves. Perhaps some fine tuning using a lookup table or so will help.

User avatar
clusterchord
Super Deluxe Wiggler
Posts: 1207
Joined: Tue Sep 07, 2010 8:46 pm
Location: Zagreb, Croatia
Contact:

Post by clusterchord » Mon Feb 10, 2014 4:11 am

taylor12k wrote:works for me here! really beautiful glassy sounds…!

hope this is the start of many csound experiments with this thing…

and, a quick sound over on soundcloud (pretty crappy pitch sequencing.. but this was quick. the skittery sound is an LFO on the FM index)

https://soundcloud.com/12k/feb08

[soundcloud url="https://api.soundcloud.com/tracks/133820061" params="auto_play=false&hide_related=false&visual=true" width="100%" height="450" iframe="false" /]

wow, i was tryin to resist nebulae , thinking i could use DAW for samples/realtime mangling but... this is really making it hard to say no.

your example sounds awesome.

now im thinking why someone doesnt make a bigger module with more knobs and processing power, to be able to load more complex csound files.. this is amazing. had no idea.. :woah:
Image

FS EU: Rene 1, Synthtech E370, MXR MF403 (pm me)
WTB EU: Jupiter 4 BA662, Octave Cat SRM (2040)

User avatar
sebiiksbcs
Common Wiggler
Posts: 63
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs » Mon Feb 10, 2014 5:33 am

Yeah I'd totally buy that! Honestly I'm considering getting a second Nebulae :D


[muffosophy mode]

I think it has just the right amount of knobs and buttons for a module. After all that's the point of a modular synth: modules specialize on things and do these things well, and are able to interact well with other modules.

Also I believe it is quite powerful already and even more when tweaked the right way.

An average entry-level laptop is cheaper than the Nebulae, and it can do a lot more in software, all with great visual feedback (a huge RGB display!! Dozens of keys!! An integrated XY pad!!) and tons of possibilities for expansion (low-latency USB audio!! MIDI controllers!!!)

But, having more knobs and buttons and more power but being a blank sheet will probably put you in the dilemma of indecisiveness, which can be a creativity killer. You have too many options and end up nowhere.

Anything bigger than the Nebulae would come close to a laptop or standalone synth, virtual studio, however you might call it. Analogically, having a huge and powerful all-inclusive sound generator in one module in my eurorack would only make sense to me if I could access its parts and patch in and out of it. But then, why not break it down into many modules in the first place so I can take certain modules out or duplicate others...



[/muffosophy mode]

User avatar
jafbox
Wiggling with Experience
Posts: 271
Joined: Sun Jan 02, 2011 9:03 pm
Location: brooklyn

Post by jafbox » Mon Feb 10, 2014 8:18 am

taylor12k wrote:works for me here! really beautiful glassy sounds…!

hope this is the start of many csound experiments with this thing…

and, a quick sound over on soundcloud (pretty crappy pitch sequencing.. but this was quick. the skittery sound is an LFO on the FM index)

https://soundcloud.com/12k/feb08

[soundcloud url="https://api.soundcloud.com/tracks/133820061" params="auto_play=false&hide_related=false&visual=true" width="100%" height="450" iframe="false" /]
great sounds taylor! need to hear more modular T12K. :)

User avatar
exmd
Common Wiggler
Posts: 132
Joined: Thu Dec 19, 2013 10:23 am

Post by exmd » Mon Feb 10, 2014 8:39 am

I have no idea what I'm looking at but it looks awesome!
___________________________
Jupiter Rising
YouTube Performances: https://tinyurl.com/y3ory34z
Soundcloud: https://soundcloud.com/exmd/

User avatar
taylor12k
Ultra Wiggler
Posts: 993
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k » Mon Feb 10, 2014 12:12 pm

jafbox wrote: great sounds taylor! need to hear more modular T12K. :)
don't forget to check on my 2014 studio sound diary…. (plug plug)

https://soundcloud.com/12k/sets/2014-studio-diary

User avatar
jc3music
Wiggling with Experience
Posts: 434
Joined: Mon Oct 22, 2012 4:55 pm
Location: Scottsdale Arizona, USA

Post by jc3music » Mon Feb 10, 2014 12:41 pm

Thinink about a sampler, Nebulae looks cool. Silver?
jc3music.com

John Costello on itunes and fb.
JC3 Music on Soundcloud.

User avatar
sgh
Common Wiggler
Posts: 112
Joined: Thu Mar 11, 2010 1:52 pm
Location: Hamburg

Post by sgh » Mon Feb 10, 2014 12:52 pm

sebiiksbcs wrote:
mafouka wrote:Is there any fun way to create .csd files?
I remember there used to be a tool called Cabel which basically lets you connect Csound modules in a "Nord Modular Editor" fashion. You could then export the .csd file, adjust the CsOptions and try if it works in the Nebulae!
Funny to read something about Cabel after all this time :lol:

I wrote this piece of software 8 years ago together with a fellow student and came up with the idea to generate Csound orchestras — Csound's instrument definitions — solely by combining so-called user defined opcodes (I think this concept was later incorporated in other Csound frontends like blue). Unfortunately I became more and more interested in real-time control and live coding, so I switched to Supercollider and Chuck and lost interest in Csound/Cabel.

As far as I remember the .csd file generation in Cabel was geared towards real-time pieces controllable by MIDI, but I am sure parts of it could be reused to create .csd files for Nebulæ.

Post Reply

Return to “Eurorack Modules”