Sound Programming
The blog posts of this section relate to the course MCT4001 Sound and Music Programming (from 2021), and to the discontinued course MCT4048 Audio Programming (2019 to 2021). This section also includes posts from the Digital Audio and Scientific Computing modules of the discontinued course MCT4000 Introduction to Music, Communication and Technology (from 2018 to 2020). The aim of these course is to develop audio signal processing and sound design knowledge as well as skills with general-purpose and audio-specific programming.
-
Markov Chain Core in PD
Markov Chain Core in PD
-
Make The Stocks Sound
Make The Stocks Sound
-
MCT Blog Sonified!
Making sound out of this blog.
-
Sonifying the Northern Lights: Two Approaches in Python & Pure Data
Making 'music' from the Aurora Borealis.
-
The sound of rain
How we sonified the rainfall data.
-
Cellular Automata - Implementation in Pure Data
Check out the concept of Cellular Automata and my implementation in Pure Data.
-
Clean code
Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
-
Creating Complex Filters in Pure Data with Biquad~
One approach to building/rebuilding complex filters in Pure Data, with a little help from Python.
-
Euclidean Rhythms in Pure Data
What are Euclidean Rhythms and how can you program them?
-
How to do No-Input Mixing in Pure Data
No-Input Mixing in Pure Data
-
Chorale Rearranger: Chopping Up Bach
Can we use Midi data to rearrange a recording of a Bach chorale?
-
Mixing a multitrack project in Python
Attempting to mix a multitrack song with homemade FX in our very own mini PythonDAW
-
Audio Blending in Python
Blending audio tracks based on transients in Python.
-
Tapeloop DT-20
For the MCT4048 we wanted to make some looper with layers and FX. But what did we get? The DT-20, a 4-track inspired digital tape looper with FX channels and a 'WASD'-mixer. Enjoy! - Stephen, Pedro, Anders & Henrik
-
Get unstressed with Stress-less
Acoustically-triggered heart rate entrainment (AHRE)
-
Trinity: Triple Threat
Trinity: What happens when you combine Grain shimmer + Chorus + Stereo Width? Click to find.
-
Funky Balls
Want a more organic and dynamic way of mixing and applying effects? Experiment with funky balls!
-
Strange Fragmented Music
A strange song from Sequencing fragments of stranger things and Astronomia
-
A new season of chopped music
The arbitrary mixing of two seasons (two songs representing seasons)
-
Chopping Chopin and Kapustin preludes
Chopping a prelude by Chopin and one by Kapustin and then merging the slices based on their loudness (RMS) and tonality (Spectral Flatness).
-
Chaotic Battle of Music Slices
Slicing up the music and reorganize them with four kinds of Librosa features.
-
Merry slicemas
Let it slice, let it slice, let it sequence.
-
Graphic score no. 7
So … it’s 00:01 in Oslo, December 1st, and the final SciComp assignment is here … And … it’s a though one … 2345 words … AI must be involved here …
-
Chop it Up: Merging Rearranged Audio
Taking beautiful music and making it less so.
-
My Bloody Zerox
So the plan was to take two audio files, chop them up in some random way, mix up the pieces and stitch them back together again in a totally different order. Doesn’t have to be musical, they said. Well, just to make sure, I decided to chose two pieces of music that weren’t particularly musical to begin with - Only Shallow by shoegaze band My Bloody Valentine, and Zerox, by post punk combo Adam and the Ants.
-
Segmentation and Sequencing from and to Multichannel Audio Files
The strategy explained here considers the slicing of stereo audio files and the production of a new stereo output file based on a multichannel solution. The spectral centroid is used to reorder and intercalate segments in an ascending or descending order according to some rules.
-
Dark Tetris
Scientific Computing assignment for a non-programmer, please don't expect anything special when you see the title about DARK Tetris, even I really want to create that...
-
Slicing and Dicing Audio Samples
Slicing up two songs and re-joining them with RMS and Spectral Centroid values.
-
SYNTHa
While this is not a clone of the classic EMS Synthi A, it might have a trick or two up it's sliders, this one to: A softsynth with hard features.
-
Everything's Out of Tune (And Nothing Is)
Who says that Csound and early music can't mix? Building a VSTi for swappable historical temperaments.
-
Butter: a multi-effect plugin
An easy to use and fun plugin to make your sound smooth as butter.
-
A fake Steinway made by Csound
How to use Csound to create a digital Steinway?
-
Spaty Synthy
Attempt at modelling a Delay Repeating Spatial Synthesizer using Csound
-
Phade - a phaser delay FX
A swirly, shimmery shoegazey multi-fx.
-
Beethoven under Moonlight
Creating a CSound project that uses Frequency Modulation synthesis (carrier and modulating oscillator) and plays the first few bars of the Moonlight Sonata by Beethoven based on a score.
-
Ondes Martenot's brother - Orange Cabbage
The evolution of Ondes Martenot.
-
'El Camino de los Lamentos': A performance using custom Csound VST Plugins
This performance is using two VST plugins produced in Cabbage through Csound. A synthesizer based on elemental waveforms, frequency modulation, and stereo delay, and an audio effect for pitch scaling and reverb.
-
Kovid Keyboard
A web based CSound Synth letting you play together online!
-
Shaaape
Distorting signals with ghost signals.
-
Team C's reflections on Scientific Computing
Despite our diverse professional backgrounds, three of us are pretty much beginner pythonista. All of our code seems pretty readable. Joni’s code is very clean, possible because she’s a designer, with good commenting. Wenbo favoured a single cell for his code. Upon the review on everyone’s submissions, we agreed that our team activity in the future has to increase. Meister Stephen will have to be more patient with us!
-
Reflections on Scientific Computing (The B Team Bares All)
Team B reflects on a week of coding ups and downs.
-
Scientific Computing Midterm
Team A's reflection on the midterm scientific computing assignment. Shortly, this had a purpose of creation of a general python program that would read audio files from a specified folder based on a csv file and would output another csv file with an added values for each individual audio file: the average Root Mean Square, Zero Crossing Rate, Spectral Centroid. Moreover, the program displays and saves to a file several scatterplots.
-
[ pd Loop Station ]
This is an attempt to create a Loop Station with features that I wish I had in such a pedal / software.
-
Making Noises With |noise~|
Wherein I attempt to either program paradise or just make bacon-frying noises, which could be the same thing, actually
-
Sonification of plants through Pure Data
I am not sure if I am going crazy or if I am actually interacting with plants, but here me out here
-
Strumming through space and OSC
A gesture-driven guitar built in Puredata and utilizing OSC
-
Practice-Toolbox-for-students-of-music
In our audio programming course we were tasked to make a PD-patch without any restrictions on what it should be. I wanted to make something useful I could incorporate in my daily practice routine, and also distribute to some of my guitar students.
-
Multi voice mobile sampler
A mobile tool to dabble with small audio recordings wherever you encounter them
-
The Delay Harmonizer
This chord generator uses a variable length delay fed by a microphone input as sound source.
-
The MIDI Remixer
This sequencer based poly FM-synthesizer invites its users to remix and play with some of Johann Sebastian Bach's most famous preludes and fuges.
-
It's not just phase, mom!
Why phase coherency in loudspeakers matters.
-
Touch the Alien
The web audio synth 'Touch the Alien', a project by Eigil Aandahl, Sam Roman, Jonas Bjordal and Mari Lesteberg at the master's programme Music, Communication and Technology at University of Oslo and Norwegian University of Science and Technology. The application offers touchscreen functionality, Oscillators, FM Oscillator & Delay, phaser, Chorus & Filter on Dry/wet slider,Canvas UI with follow visual FX and it's alien themed for your pleasure!
-
The Magic Piano
During our second week learning about Audio programing and web Audio API we were divided into groups and had to come up with an idea for a final project. The main challenges were to find an idea that is doable within 4 days, to code collaboratively and to prepare for the presentation of our project. Guy had an Idea for building a piano keyboard that will help beginners play a simple melody and Ashane and Jørgen agreed to collaborate and join forces in creating 'The Magic Piano'.
-
Convolverizer
Convolverizer, Real-time processing of ambient sound, voice or live instruments, utilizing the convolution effect.
-
The Giant Steps Player
As part of the MCT master program we are being introduced to a variety of technologies for creating music and sounds. We have just finished a week long workshop learning about Audio programing and web audio API. The benefits of this technology are helpful and relevant in areas like art, entertainment or education. We were introduced to several ways for creating and manipulating sound, follow tutorials and experiment on our own during the days. I must admit that I do not have intensive knowledge in programing in general and javaScript in particular. Many failures accrued while trying, from simple syntax errors to flawed design. But understanding the idea behind each process and striving towards the wanted result was an important progress.
-
The Spaghetti Code Music Player
The Spaghetti Code Music Player is a simple music player that is loaded with one of my own tracks. The player allows you to play and stop the tune, turn on and off a delay effect and control a filter with your computer mouse. The player also has a volume control.
-
Odyssey
Odyssey is a simple prototype of a Web Audio API envisioned to immerse users into a misty jungle environment. Besides soundscape of a jungle, the application adds bits of flavour of few domestic animals and mix them all together with a piece of jazz music. The web audio application is developed using HTML5 and javascript.
-
Catch the wave – First week's dive into web audio programming
It is possible to create simple, but effective applications on the web browser, even without prior knowledge. However, it took way longer to implement those ideas, but luckily there was always someone around to ask.
-
The Pointilator Sequence Synthesizer
The Pointilator sequence synth is an experimental instrument that can be played directly from a web browser! It is tested to work with Opera and Chrome, but does not work in Safari. It is based around entering a sequence of notes as points on a Canvas that registers each click and draws a circle where the note was put. It can then play back the notes from left to right with the height of the click translating to pitch. The result is a sequencing synthesizer that has a finely detailed scope in both time and pitch, although it is not easy to control based on traditional musical scales or rhythmic time.
-
SineWave Pad
It was a wonderful journey we had for a week getting hands-on experience with Web audio API and JavaScript. In the beginning, I was tensed about the way that I will handle coding with zero prior experience. But, at the end of the week, I was happy about what I have managed to achieve. I was lacking ideas to start a project for the week but after getting introduced to oscillators, I thought of making a synthesizer or a drum pad that works on the browser. So it was either to work with Oscillators or sound loops.
-
Reese da Alien!
The project I have developed on over the first week of web audio based programing is called Reese da Alien - a web based synth of sorts with mouse functionality. The idea is that the program presents a relatively novel way of producing a reese, by the user moving around the mouse on the the page to find different sweet spots as they affect the pitch and amplitude of two oscillators with the movements. The persona of the application came after early in development I likened the sounds to an alien talking – I felt it a fitting title for the weird, abrasive sounds that the program creates.
-
Freak Show
As my first experience working with Web Audio API, utilizing JS, HTML and CSS; it was quite a challenge, but a pleasant one that lead to the outcome that I wanted and also broadened my perspective, in regards of my future plans.
-
The Mono Synth
This blog post outlines the production of the MonoSynth. The Mono Synth is drawn by Jørgen N. Varpe, who also wrote a lot of the code. The objective of this prototype was to improve my familiarity with coding, and at the same time be able to have a working chromatic instrument. Working with a cromatic instrument is interesting because it allows me to have a less abstract understanding of what happens in the code - behind the scenes if you will.
-
The Wavesynth
During the first workshop week in the course Audio Programming, I have been working on a project which I have called "The Wavesynth". I have called it this because I have chosen to use wavetables to shape the output of an oscillator. I have not made a wavetable synthesizer like for instance Ableton's Wavetable, where you can interpolate between waves. instead I use some wavetables created by Google Chrome Labs to make it sound like "real" instruments. The synth is played by using the computer keyboard, and the user can choose the output sound, and adjust three different effects to shape the it the way they want. The synthesizer is made using web technologies, including HTML, JavaScript, Web Audio API, and more.
-
DSP Workshop Group C
During our DSP workshop we were introduced to several tools and techniques for creating, manipulating and controlling sound. We started exploring Csound and waveguides. We learned a bit about the code in Csound, setting inputs and outputs and rendering the result to audio files.
-
Group B, DSP workshop
The 4 day DSP workshop introduced some basics of Digital Signal Processing techniques. We were given examples in Csound that focused on physical modeling of a string, and also how to use Csound as a DSP-tool. The exercises allowed us to take ownership of the codes by modifying and creating new sounds. We used simple operations like addition and multiplication to process the digital signals. We enjoyed experimenting with digital waveguides to model sounds travelling through strings and also manipulating with reverbs delay, envelope etc. Trondheim team also built an instrument with a piece of wood connected to a contact mic and used it in some of the tasks.
-
A-team - DSP workshop blog
On the final DSP class we were bringing it all together - and performing our combined CSound based creations! Having the day to develop on our instruments, we prepared for performing with the other groups at 2 o’clock. After finding our respective rooms, We had a A-Team meeting on how to finish off our sounds,and devise a plan of action for our performance.
-
Exhibition 'Metaverk' in Trondheim: DSP, Csound orchestras and bone feedback
Once you enter Metamorph, an art and technology space in the old town of Trondheim (Bakklandet), you will immediately become part of the generative soundscape of the exhibition 'Metaverk'.