top of page

Mu-Sci Keyboard

I. Summary

 

The purpose of this project was to create a mini-keyboard that makes use of different ­techniques of digital sound synthesis, to produce a number of familiar musically appealling and synchronized sounds. Mu-Sci is designed to contain a number of pre-programmed melodies and riffs, as well as allowing the player to play and playback musical sentences synchronized with the ongoing tempo, cued at specific beats.

II. Project Design

 

The skeyboard was desired to:

- Operate similar to the existing keyboards for simplicity purposes

- Have a variety of synthesized sounds

- Allow improvisation and live production of riffs

- Allow accurate recording and playbacks

To fulfill the above objectives, the methodology used was as follows.

 

 

II.A          Sound Synthesis

 

Most of the sounds synthesized in Mu-Sci were created using frequency and amplitude modulation, making use of ‘cycle~’, ‘line~’, ‘noise’ and ‘function’ objects. In certain cases, to get a more fitting sound, filters such as ‘reson~’, ‘rampsmooth~’ and the compressor ‘omx.4band~’ were used.

 

The two sounds whose synthesis was inspired by their physical models were the ‘guitar’ and the ‘bell’. The guitar notes were created using the Karplus Strong algorithm, and the ‘bell’ sound was inspired by Maraca’s PhISEM model (Physically Informed Stochastic Event Modeling) filtered with a resonance filter which results in the Maraca sounding like a bell.

Figure 1: Karplus Strong Algorithm [1]

Figure 2: Maraca PhISEM [2]

Figure 3: Guitar sound synthesis using Karplus Strong algorithm (left), Bell sound synthesis inspired by Maraca PhISEM (right)

Mu-Sci has a total of 5 pre-programmed musical sentences which can be initiated by simply pressing a button for each. The 5 sounds can generally speaking be referred to as:

 

1. Drum Kick

2. Snare Drum

3. Low frequency function driven sound

4. Maraca ‘bell’

5. Keyboard Didgeridoo  

 

Aside from the above 5 sounds whose sentences are controlled by the tempo, the player is also free to produce riffs on one of the two channels that are connected to the keyboard. One channel is designed for the Guitar sound, and the other is an enveloped digital-sounding keyboard sound.

Figure 4: Drum sound syntehsis

Figure 5: Low Frequency function driven sound (left), Snare drum sound synthesis (right)

Figure 6: Keyboard Didgeridoo sound synthesis subpatch (left), digital sound channel(right)

II.B           Timing

 

The general Synchronism in Mu-Sci is controlled using the global transport object on a 4/4 basis, and in certain cases, addition of a number of ‘gate~’ s was necessary, to start and stop the phrases, recording or playbacks on time.

Figure 7: Timing related patches

II.C           Record and Playback

 

The notes played on each of the two live channels (i.e. Guitar or Keyboard) can be recorded on two separate buffers, which permit playbacks later on. Each of the buffers is designed to store 4 bars of music, regardless of the tempo. This type of organization which required use of extra metro objects helps with the synchronism.

 

The ideal technique that could be used for storing and replaying the produced riffs is using a Vocoder, since a Vocoder allows replaying previously recorded riffs at different tempos, without changing the pitch of the recordings. However, for issues that will be explained later, the playback patches make use of ‘count~’, ‘poke~’ and ‘index~’ objects to store and read data from buffers.

Figure 6: Record and Playback subpatch

III. Challenges Faced

 

  • Signals interference: When the instruments/sentences are played together, their amplitudes add up and and reach an unpleasant level. To overcome this, I had to divide the amplitude of the sum by the number of incoming signals. This caused the overal volume to be lowered too.

  • Perfect synchronism of the playback  with the rest of the ongoing music was difficult to achieve, perhaps because the toggles activating objects in subpatches are not activated right away.

  • Originally, my plan was to use a phase vocoder for recording and playback, in order to have the flexibility of playing the recorded sentences in other tempos, without their pitches changing. Unfortunately, I had to abandon the phase vocoder idea, after noticing the quality of the sounds recorded were not good, when more than one phase vocoder exist inside a patch. This could possibly be a bug in Max, or from my patch.

 

IV. Problems with the Current Patch

 

  • Cannot play multiple notes on one channel of the keyboard at the same time

  • Lack of control over the synthesized sounds

 

 

V. Possible Future Work

 

- Introduce harmonic chords/arpeggios along with and based on the produced sounds

- Bank of controllable filters

- Expand the bank of the synthesized sounds

- Add control of the kslider to the laptop keyboard

- Flexibility in terms of rhythm structure choice (4/4, 3/4, etc.)

- Add the option of recording layers of sound on top of one another

- Implement smart ways to avoid signal interactions

- Make the on/off buttons push and pull buttons

References

 

[1] K. Karplus and A. Strong, 'Digital Synthesis of Plucked-String and Drum Timbres', Computer Music Journal, vol. 7, no. 2, p. 43, 1983.

 

[2] G. Scavone, 'PhISEM Particle Models', Music.mcgill.ca, 2015. [Online]. Available: http://www.music.mcgill.ca/~gary/618/week12/node12.html. [Accessed: 30- Nov- 2015].

Enclosure

 

Original Max Patcher

 

bottom of page