Radium Info
Radium Info
Radium Info
Kjetil Matheussen
Norwegian Center for Technology in Music and the Arts. (NOTAM)
Sandakerveien 24D, Bygg F3
N-0473 Oslo
Norway
k.s.matheussen@notam02.no
Abstract
Radium is a new type of music editor inspired by
the music tracker. Radiums interface differs from
the classical music tracker interface by using graphical elements instead of text and by allowing musical
events anywhere within a tracker line.
Chapter 1: The classical music tracker interface
and how Radium differs from it. Chapter 2: Radium Features: a) The Editor; b) The Modular
Mixer; c) Instruments and Audio Effects; d) Instrument Configuration; e) Common Music Notation. Chapter 3: Implementation details: a) Painting the Editor; b) Smooth Scrolling; c) Embedding Pure Data; d) Collecting Memory Garbage in
C and C++. Chapter 4: Related software.
Keywords
Radium, Music Tracker, GUI, Pure Data, Graphics
Programming.
Introduction
Radium4 differs from the music tracker interface by using graphical elements instead of text
and by allowing any number of events to be
placed anywhere.5 The latter means that a line
in Radium is essentially just a graphical hint. It
should be possible to compose millions of years
of music within just one tracker line.
These differences are so fundamental, that its
questionable whether Radium can be defined as
a tracker.
1.2
History of Radium
http://users.notam02.no/~kjetism/radium/
1.3 Portability
The first version of Radium was released
for the Amiga Operating System (AmigaOS ),
version 3.0 or later. The code was written in
a portable style, where non-portable code was
clearly separated and easy to replace. An alpha
version for Linux was available already in 2001.
Radium is at the time of writing available for
Linux, Windows, and Mac OS X, where Linux
is the main development platform and the platform with the most features. It should be
straight forward to port Radium to a platform
which has Jack, POSIX, and Qt.
1.4 Term
In the rest of this paper, the word line means
a tracker line, and not a vertical graphical line
(i.e. a row of pixels) or an automation line.
In cases where we refer to a graphical line,
the expression graphical line will be used instead. In cases where we refer to an automation
line, the expression automation line or break
point line will be used.
Time-varying
volume
changes
(crescendo/diminuendo)
are
defined
using break point curves.
The audio
waveforms are updated in realtime:
Radium Features
Time-varying
tempo
changes
(accelerando/ritardando) are defined with
break point lines. The audio waveforms
are updated in real time:
Effects, e.g. reverb or chorus, are also defined with break point lines:
Pitch can be defined with unlimited precision. The pitch below is placed 82 cents
above C sharp at octave 4:
Updating the graphics too often can be tiring for the eyes. The SPS option (Scrolls
Per Second) sets a limitation on the number of updates per second. SPS is an effective way to make the viewing more pleasurable when not using smooth scrolling.
2.3.1
Sampler Instrument
This instrument can play: 1) Normal soundfiles,8 2) Fasttracker instruments,9 or 3) Soundfonts [Rossum and Joint, 1995]:
All editing operations are undoable and redoable. The number of undoes is limited
by system memory.
2.2
The modular mixer provides a graphical interface to route note events and audio signals between sound objects.
The role of a sound object is to produce audio,
receive audio, produce note events, receive note
events, or any combination of those.
Inside each sound object in the Mixer GUI,
there is a volume slider, a mute button, a bypass
button, VU meters (one for each channel), and
Name
that
color:
http://chir.ag/projects/
name-that-color/#594C5B
8
mega-nerd.com/libsndfile/
9
Text
files
describing
the
Fasttracker
XI instrument format: 1) XI format description by
KB / The Obsessed Maniacs / Reflex, 2) The XM
module format description for XM files version $0104
by Mr.H of Triton in 1994.
https://www.ableton.com/en/live/max-for-live/
http://kokkinizita.linuxaudio.org/linuxaudio/
zita-rev1-doc/quickguide.html
12
https://ccrma.stanford.edu/~jos/Reverb/Zita_Rev1_
Reverberator.html
13
http://www.fluidsynth.org
Implementation Details
2.5
15
https://ccrma.stanford.edu/software/cmn/
Amiga 1200
This strategy is similar to how we reliably get sound
in real time from a non-deterministic source, for instance
a hard drive.
22
23
24
http://libpd.cc
http://github.com/kmatheussen/libpd
http://puredata.info/downloads/pd-extended
http://www.jeskola.net/buzz/
27
http://en.wikipedia.org/wiki/Jeskola_Buzz
26
Conclusion
Radium presented a radical change to the classical tracker interface when it was released fourteen years ago.
The following is a list of larger tracker features that first appeared in Radium (at least
to my knowledge). An appending means that
Radium is still the only tracker, or tracker-like,
program that provides this feature, at least to
my knowledge:
a) Smooth scrolling ; b) Limitation on the number of scrolls
per second ; c) Tickless timing (may have been introduced
in Aodix before Radium); d) Zoom in/out (may have been
introduced in Aodix before Radium); e) Waveform data
visible in tracks; f) The Radium Compressor compressor interface ; g) Pitch values shown graphically; h) Tempo
automation ; i) Effect automation ; j) Volume automation ;
28
http://www.kvraudio.com/product/
aodix-by-arguru-software/details
29
http://www.renoise.com
Acknowledgements
Radium is an open source program which includes code from several other programs and
uses several open source libraries. Todays
Radium would not exists without the open
source community. Some of the people who have
written code thats used in Radium are (apologies to those Ive forgotten):
Fons Adriaensen:
References
Hans-Juergen Boehm and Mark Weiser. 1988.
Garbage collection in an uncooperative environment. Software: Practice and Experience,
18(9):807820.
Peter Brinkmann, Peter Kirn, Richard
Lawler, Chris McCormick, Martin Roth, and
Hans-Christoph Steiner. 2011. Embedding
Pure Data with libpd. In Proceedings of the
Pure Data Convention.
Perry R Cook and Gary Scavone. 1999. The
Synthesis Toolkit (STK). In Proceedings of
the International Computer Music Conference, pages 164166.
Maarten De Boer. 2001. Tapiir, a Software
Multitap Delay. In Conference on Digital Audio Effects, Limerick, Ireland.
Romain Michon and Julius O Smith. 2011.
Faust-STK: a Set of Linear and Nonlinear
Physical Models for the Faust Programming
Language. In Proceedings of the 11th International Conference on Digital Audio Effects
(DAFx-11), page 199.
Yann Orlarey, Dominique Fober, and
Stephane Letz. 2009. FAUST: an efficient
functional approach to DSP programming.
New Computational Paradigms for Computer Music, Editions Delatour France, pages
6596.
Dave Rossum and E Joint.
R 2.0 File Format.
SoundFont
1995.
The
Bill Schottstaedt. 1997. Beyond midi. chapter Common Music Notation, pages 217221.
MIT Press, Cambridge, MA, USA.
Julius O Smith. 2012. Signal Processing Libraries for Faust. In Proceedings of the Linux
Audio Conference 2012, pages 153161.