Qu-bit Nebulae with Csound CSD files

Cwejman, Doepfer, Erica, MakeNoise, Mutable instruments, TipTop Audio, Analogue Solutions, and much more! The world’s most popular format.
Be sure to look into MANUFACTURER SUB-FORA as well..
Post Reply
User avatar
sebiiksbcs
Common Wiggler
Posts: 71
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Qu-bit Nebulae with Csound CSD files

Post by sebiiksbcs »

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.
Attachments
nebufoscil.zip
(630.87 KiB) Downloaded 196 times
StoneLaw
Super Deluxe Wiggler
Posts: 1631
Joined: Mon Feb 04, 2013 9:59 pm
Location: Minneapolis, MN

Post by StoneLaw »

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 »

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
Super Deluxe Wiggler
Posts: 1005
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k »

whoa! will try this tonight
User avatar
taylor12k
Super Deluxe Wiggler
Posts: 1005
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k »

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: 71
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs »

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: 471
Joined: Mon Dec 12, 2011 9:26 pm
Location: CA

Post by mafouka »

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: 258
Joined: Tue Apr 28, 2009 10:49 am
Location: ATL

Post by Richard Devine »

Whoa, great download it now, thanks a bunch
User avatar
sebiiksbcs
Common Wiggler
Posts: 71
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs »

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
Super Deluxe Wiggler
Posts: 1005
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k »

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: 640
Joined: Fri Mar 29, 2013 4:05 pm
Location: Norway

Post by digidandy »

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: 640
Joined: Fri Mar 29, 2013 4:05 pm
Location: Norway

Post by digidandy »

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: 640
Joined: Fri Mar 29, 2013 4:05 pm
Location: Norway

Post by digidandy »

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: 71
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs »

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: 71
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs »

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: 71
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs »

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.
Attachments
NebulaSound_grain.zip
(1.16 MiB) Downloaded 118 times
User avatar
sebiiksbcs
Common Wiggler
Posts: 71
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs »

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
Super Deluxe Wiggler
Posts: 1005
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k »

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: 1749
Joined: Tue Sep 07, 2010 8:46 pm
Location: Zagreb, Croatia
Contact:

Post by clusterchord »

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

5117 6U · Spacecase · Vector Skiff · System100 · SH101 · Sem · Mini · Wave2 · OB-Xa · Rhodes ..


WTB EU: Bionic mk1 · CMS1047 · Gamma Wave · Kotelnikov
User avatar
sebiiksbcs
Common Wiggler
Posts: 71
Joined: Sat Jun 22, 2013 5:44 pm
Location: Taiwan

Post by sebiiksbcs »

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 »

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: 181
Joined: Thu Dec 19, 2013 10:23 am
Contact:

Post by exmd »

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
Super Deluxe Wiggler
Posts: 1005
Joined: Sun Feb 13, 2011 2:35 pm
Location: pound ridge, ny

Post by taylor12k »

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 »

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 »

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 “1U & 3U Eurorack Modules”