Skip to content

SoundObjects

Introduction

The concept of SoundObjects is the foundation of Blue's design in organizing musical ideas. This section will discuss what is a SoundObject, how this idea is implemented in Blue, and strategies on how to use the concept of SoundObjects in organizing your own musical work.

What is a SoundObject?

SoundObjects in Blue represent a perceived sound idea, whether it be a single atomic sound event or aggregate of other sound objects. A SoundObject on the timeline can represent many things, whether it is a single sound, a melody, a rhythm, a phrase, a section involving phrases and multiple lines, a gesture, or anything else that is a perceived sound idea.

Just as there are many ways to think about music, each with their own model for describing sound and vocabulary for explaining music, there are a number of different SoundObjects in Blue. Each SoundObject in Blue is useful for different purposes, with some being more appropriate for expressing certain musical ideas than others. For example, using a scripting object like the PythonObject or JavaScriptObject would service a user who is trying to express a musical idea that may require an algorithmic basis, while the PianoRoll would be useful for those interested in notating melodic and harmonic ideas. The variety of different SoundObjects allows for users to choose what tool will be the most appropriate to express their musical ideas.

Since there are many ways to express musical ideas, to fully allow the range of expression that Csound offers, Blue's SoundObjects are capable of generating different things that Csound will use. Although most often they are used mostly for generating Csound SCO text, SoundObjects may also generate ftables, instruments, user-defined opcodes, Audiofiles, and everything else that would be needed to express a musical idea in Csound.

Beyond each SoundObject's unique capabilities, SoundObjects do share common qualities: name, start time, duration, end time. Most will also support a Time Behavior (Scale, Repeat, or None) which affects how the notes generated by the SoundObject will be adjusted--if at all--to the duration of the SoundObject. Most will also support NoteProcessors, another key tool in Csound for manipulating notes generated from a SoundObject. All SoundObjects also support a background color property, used strictly for visual purposes on the timeline.