Latest release: version 2.8, 14-Nov-2010 (see release notes below).
In 2005, I made a drone instrument. It’s been in the back of my mind for a long time to revise it, and I have finally done so. Here is a substantially rewritten version, one that has better sound quality and more sonic possibilities. Hopefully it is also easier to use.
You are welcome to use this instrument in your own music. If you do, I’d love to know about it and hear the recordings (if any).
Before I explain how to install and use it, I’d first like to thank Andrés Cabrera and his collaborators for QuteCsound, the excellent new authoring and performance front-end for Csound. I made this instrument in QuteCsound, and QuteCsound is required to play it. Andres and Joachim Heintz generously helped me to get this right, fixing bugs and offering useful suggestions.
For background information, please see the original article for background information on the drone box, much of which still applies.
Click for a full-size image.
Installing
Download Csound5 from here – here is the link to the Windows installer. There are Mac and Linux versions as well, and they should all work, but I have not used them myself.
Run the Csound5 installer you just downloaded.
Download the Sruti/Drone Box and save it somewhere that you’ll remember, such as the desktop.
Running
Run QuteCsound: on Windows, go to the Csound menu from the Start button and then click “qutecsound”).
Open the Sruti/Drone Box in QuteCsound: click the Open button, find the Sruti/Drone Box file you downloaded above and double-click it (the filename is SuiteDrone-2.8.csd).
If you don’t see something that looks like the image above, click the Widgets button in QuteCsound.
When you see the Sruti/Drone Box, click the Start button.
Playing
There are two different approaches to setting the base pitch (i.e., the pitch against which the individual drone ratios are measured):
Set it as a raw frequency in hertz (i.e., cycles per second) in the *Base (Hz)” field
Set it as using pitch class notation — a number like 5.11, where the number on the left is the octave and the number on the right is a note number ranging from 0 to 11 (based on standard equal temperament, with 12 notes to the octave, where 0 equals C, 1 equals C#, etc.). You must have the “Pitch Class” option checked for this to work. If you use this method, you may also use the drop-down menu to set the note by name as an alternative to remembering note numbers.
There are four different drones, each with its own pitch ratio and octave (relative to the base pitch, which is also settable). To play a drone, click its On button. Each drone has a green “LED” that lights up to indicate that it’s playing. Click Off to stop the drone. You can start or stop all drones at once using the “All On” and “All Off” buttons.
Use the Wave button to select a waveform; this is applied to all four drones. The Wave setting will not change any drones that are already playing. If you change it, you must turn the drones off and on again.
There are three different effects: Risset harmonic arpeggio, binaural beating, and reverb. You may change any of these settings at any time, even when the drones are playing, and your changes will take place immediately.
With the exception of the Wave setting, you may change all other settings, such as the pitch controls in real time, and the changes will take effect immediately.
Effects
The harmonic arpeggio effect is most effective (for the way I most often use it) at small values around 0.01, but you can get some interesting sounds at higher settings.
Binaural beating: the BPS (beats per second) setting determines the beating rate; the Level setting determines how loud the beating signal will be (in addition to the regular drones).
Reverb: you should probably keep the Feedback setting at least slightly below 1.0, otherwise the signal may get out of control.
To disable the harmonic arpeggio effect, set its level to 0.
To disable binaural beating, set its level to 0.
To disable reverb, set the slider all the way to “Dry”.
You may change all of the effects settings in real time.
Recording the Output
As of version 2.8, you may specify the name of a file to which the sound output will be recorded as a 16-bit, 44.1 kHz WAV file. If you leave this field blank, no file will be made.
Caveat 1: if you use this option, it is likely to cause the realtime sound output to glitch; however, the soundfile itself should contain a clean recording.
Caveat 2: you should specify the output file using a complete path, otherwise you may not be able the file (although it will probably be located in the same directory as the CSD file). Likewise, you should name the file with the extension “.wav” (e.g., “mydrone.wav”), because an extension will not be added automatically.
You should set the filename before you click the “Start” button. If you change it after you click “Start”, the change will have no effect.
Presets
QuteCsound has a preset features that allows you to save your settings, including multiple variations of setting. This is very handy if you come up with different tunings and effects configurations: just save them, each with a different name, and you can recall them at any time (without having to do something tedious like writing them all down and painstakingly reentering them).
If you right-click on the Sruti/Drone Box, you will see three items at the end of the menu called “Store Preset”, “Recall Preset” and “New Preset”. Use Store to save your current settings, either to an existing preset name or to a new one; use Recall to use a previously saved preset; use New to make a new one.
I have established a few presets to give you some idea of the possibilities.
Tuning Ratios
I use ratios because I prefer the sound of intervals tuned in just intonation, and ratios are the simplest and most precise notation for describing them.
Here are some commonly used ratios for a diatonic scale in just intonation (the note names are for reference only):
C
D
E
F
G
A
B
C
1/1
9/8
5/4
4/3
3/2
5/3
15/8
2/1
There are many other possible ratios, even for a diatonic scale. See Tuning Systems and follow the links if you would like to know more.
I developed it and run it on Windows 7 with Csound 5.12.1 and QuteCsound 0.6.0, using the installer from SourceForge dated 9/8/2010. Is it possible that you’re using a slightly earlier version of Csound?
Dave,
I keep getting a bunch of error messages. I don’t think it’s the program, but rather my computer. all the functions seem to be working on the widget, but I get these sort of messages:
failed to initialise real time audio output.
***PortAudio: error: no input devices are available.
how do i designate an input? I didn’t think I had to. email me with some help, please.
Following up: the solution to Sam's problem was suggested by Andres Cabrera (the primary developer of QuteCsound):
Yes, audio input is enabled by default in QuteCsound, and it seems that he doesn’t have any audio inputs available, hence the error. The best solution for him would be just to remove the -iadc text from the audio input device (which can be done with the button next to it and selecting “none”.
Hi Dave –
Tried v2.6 but Csound got an error message when I tried to start a drone:
new alloc for instr 99:
insert_score_event(): insufficient p-fields
WARNING: could not create score event
— Paul Muller 26 September 2010, 20:01 #
Hi Paul. I just tried it, and I can’t reproduce that error. What versions of Csound and QuteCsound are you using, and on what sort of system?
— Dave Seidel 26 September 2010, 20:25 #
Dave,
Latest versions of Csound, QuteCsound – installed them about 2 months ago and the demo programs worked.
Running all this on Windows 7 – anyone tried this?
Thanks,
— Paul Muller 27 September 2010, 11:29 #
I developed it and run it on Windows 7 with Csound 5.12.1 and QuteCsound 0.6.0, using the installer from SourceForge dated 9/8/2010. Is it possible that you’re using a slightly earlier version of Csound?
— Dave Seidel 27 September 2010, 11:35 #
Dave – it’s on my laptop at home – I’ll check.
Thanks for looking into this.
— Paul Muller 27 September 2010, 14:19 #
Hi Paul,
This was a bug in an older version of QuteCsound. If you update to the latest, you should have no problem.
Cheers,
Andres
— Andrés Cabrera 9 October 2010, 11:45 #
Dave,
I keep getting a bunch of error messages. I don’t think it’s the program, but rather my computer. all the functions seem to be working on the widget, but I get these sort of messages:
failed to initialise real time audio output. ***PortAudio: error: no input devices are available.
how do i designate an input? I didn’t think I had to. email me with some help, please.
sam
— sam 18 October 2010, 21:12 #
Following up: the solution to Sam's problem was suggested by Andres Cabrera (the primary developer of QuteCsound):
Sam did this and is now up and running.
— Dave Seidel 23 October 2010, 10:24 #
Dave, I think it would be useful to maybe have some sound samples on the page so people can get a feel for what it can do.
— Brad 15 January 2011, 12:36 #
Brad, thanks for the reminder. I made some samples a while ago and put them on SoundCloud, but forgot to post them here. I’ve added them now.
— Dave Seidel 15 January 2011, 12:43 #