Digital Signal Processing, theory and composition
teacher: Tom Zicarelli – http://tomzicarelli.com
You can reach me at: firstname.lastname@example.org
Office hours: Wednesday 2:30-3:30 PM, at the EPD office #401 at 161 Mass Ave. Please email or call ahead.
Assignments and class notes will be posted to this blog: https://reactivemusic.net before or after the class. Search for: ep-4yy13 to find the notes
Examples, software, links, and references demonstrated in class are available for you to use. If there is something missing from the notes, please ask about it. This is your textbook.
The focus will be on composition – and sparking your imagination. Composition plus science fiction. After you take the course, you will have composed several new pieces. You might design a musical instrument. You will have opportunities to solve problems. You will become familiar with how artists use DSP to compose music and to build musical instruments. You will be exposed to to a world of possibilities – which you may embrace or reject.
In particular we will compose, by improvising, using tools that transform signals and movement. For example, generative music.
We will explore a range of topics in DSP, and have opportunities to use them in projects. Most applications of DSP involve one or more of the following actions using signals:
For example, statistics is a form of analysis.
Topics: (subject to change)
- Future music tools
- Signals: the time domain – granular synthesis
- Signals: the frequency domain – convolution
- Problem solving, prototyping, portfolios
- How to get ideas
- Demodulation and reversibility
- Music from data – sonification, Internet API’s
- Radio waves and ultrasound
Grades will be based on compositions, several small assignments, and class participation. Please see Dr. B’s EP-4yy13 syllabus for details. I encourage and will give credit for: collaboration with other students, outside projects, performances, independent projects, and anything else that will encourage your growth and success.
Go to the future. Make music. Bring it back to the present.
It should be a very short piece or an excerpt. Less than two minutes. It can be a remix of a song that you believe represents a future direction in music. Near future or distant future – your choice. Use any tools to create the music. The result: an audio file (mp3) or a link to audio or video on the Internet, or a live performance in class
Due: in 2 weeks.
- Sven Andersson
- Johannes Algelind
- Filip Lundborg
- Jhonny Göransson
- Malin Sundelin
- Ingemar Ådahl
A search on “music” returns 1396 hits. Problems, like identifying songs, have been solved. Novel solutions, like Gibsons’ self tuning guitar from 2008, have failed to take hold.
A Max 4.6 patch that uses Pluggo to create random effect matrixes with random parameters and various routing options.
plugv4r6.pat is the patch that works
– not available yet
Choose a data file from the menu in this panel
The data files contain patches – not Max patches, but banks of fx patches that define a configuration of fx saved and named by the user. I haven’t figured out just what is what yet. Select a patch and press the green button. If it worked you will see the patch name change in this text box:
If it doesn’t work, the drop down menu in this box will probably read ‘nothing’
To select a patch, use the drop down menu box, or the number box to the left to make a selection. Then press the green reload button just to the left… (the purple button is for saving the current patch)
After pressing the green button – you should see the fx rack modules reloading from top to bottom – they will turn yellow when loading – and you may see the Pluggo control panel appear.
note: you may need to load a patch twice – there is a bug in the sequence of events for reloading parameters
Channel randomization: There are 4 channels 0-3 which correspond to the individual fx in the rack, starting at the top. The number box selects which channel to randomize.
Global randomization: Randomize all channels
There are various randomization modes that you choose with the message boxes:
- 0: randomly select a new plugin for the channel – using default preset (program)
- 1: randomly select a new preset (program) for the current plugin
- 2: randomly select new (reasonable) parameter settings for the current plugin
- 3: randomize the plugin and the programs
- 4: randomize the plugin and the parameters
- 5: randomize all the parameters for this plugin, reasonable or not. (this appears to not work)
Saving patch files
Enter the name of an xml file to save the new bank of patches to, and press the red button.
Note: the patch (xml) files are getting modified by the patch, even when they aren’t explicitly saved. Why is this?
Signals can be routed through the effects matrix in a variety of ways using the matrix control object. The radio buttons on the left side of the matrix control select the most common presets
The vertical lines represent inputs in the following order:
- signal in
- channel 0
- channel 1
- channel 2
- channel 3
- channel 0
- channel 1
- channel 2
- channel 3
- signal out
Midi plugins and the bypass button
The green indicator to the right of the channel meter indicates that the plugin is a Midi device
Midi devices receive Midi input and will block audio input in a serial routing. To bypass any plugin, click the red button to the left of the channel meter:
The green button reloads the plugin with the default preset. The brown button does nothing.
Mixer and Midi input
The mixer has 3 sets of stereo controls. From left to right, they are input, wet signal, dry signal. The radio buttons to the right of the sliders allow you to select the current channel – which will bring the plugin control panel for that channel into the foreground.
The 2 drop down menus to the right of the radio buttons select the midi input devices.
The top menu selects the midi controller device. (bcr-2000)
The bottom menu selects the midi note input and performance device.
The letter assignments can be set in the Max midi-setup configuration.
global randomization params
MidiStroke is a utility app that converts typewriter key strokes into Midi messages.
By Charlie Roberts
Configuration file (On a Macbook):
Helpful article at djtechtools.coml:
You can’t create multiple preset files within midiStroke – but you can work within the file system as they explain in the article above.
D3, Web Audio, questions…
By B. Lyon