Learn & Develop - Blog
This is a blog in which my workflows and experience are being shared. I hope it could somehow be helpful for the "future me" and musicians who have the same atmosphere in building their own instruments/devices.
YOU COULD DOWNLOAD MY MAX INSTRUMETNS I TALKED ABOUT THROUGH THE BELOW ICONS


Building of a multi delays - Copy Cats
After building my first Max MSP Device - SWIRL, I decided to regularly put effort in building Max instruments. What in my mind was a multi-delays for audio processing. Instantly, my experience in playing Boss Space Echo RE20 and Verbos Electronics Bark Filter had already constituted how the sonic texture in it will be, meanwhile Max object "fzero" acts as an overbridge between the audio input and frequency received by oscillators. At this stage, I had already decided the name for this delay device - Copy Cats.
Delay head 1, John (This is the name of my Red Tabby British Shorthair cat) will process the audio signal by passing through a Low Pass Filter, FM multiplier (modulated by the OSC followd by it) and have digital distortion by a high feedback setting. A simple sine wave oscillator follows it through frequency converted and passed by the Fzero odject. I am pretty sure that some kind of modulation through delay(chrous, franger) has to be built for this oscillator so that a more complex sonic achievement would be enhanced.
Delay head 2, Mary (This is also a name of my cat which is another British Shorthair cat lived with me and she is a blue Tabby beauty) has three Board Pass Filiter with corresponding knobs like Resonance and Cutoff to process the input signal respectively and finally summed together to the output. Each BPF will have a unique envelope follower to shape before the summed output. To try more features from Max MSP environment, I decided to apply graphics for drawing envelopes which gives users more handy control. Those filters produced three different peaks spectrum which would be clearly separated from the Delay head 1. For me, head 2 processes quite elegant delay signals. Followed by another oscillator, I was thinking I should build a complex oscillator to give users a choice to have metallic FM tones. However, I am too interested in Karplus Strong Synthesis, so I strongly desired to give it a try. Finally, Karplus Strong oscillator is programmed through adopting a white noise as its source. The sound is full of overtones including odd harmonics and personally, I feel it stays well with BPF delays.
I spent the entire weekend programming the primary shape which has quite huge patching maps. To be efficient, I started to think about how to eliminate the CPU usage by using the same components to send data and send modulations. For example, noise object could be used not only for the source of Karplus Strong OSC, but also as a source to other modulations like S/H, as envelope followers. At the moment, this is just a concept as long as I was not good enough in planning an optimistic programme and lacked practical experience in a Max environment.
Testing my Copy Cats
When I had just finished the primary design of it, I imported 3 different samples to a temporary sampler to work with the delays which satisfy me with a fair sound quality because of their consistency in amplitudes. As an instrument player, I couldn’t wait to hear what this self-built delay would sound like. Before plugging in a guitar - my native instrument, I still feel those oscillators might be too boring to follow just the input signals. What if the oscillators could be functioned by a harmony generator but at the same time, the frequency converted by fzero object would have advanced priority before those from the harmony generator?
My Boss BT-8 guitar multi effect processor gave me the first experience in a harmony generator in which a specific kind of scale has to be selected in order to generate the whole series of ascending or descending notes by a note delivered from your guitar. My Digitech Whammy 4 pedal has kept serving me to add one selected interval to the note I played since 10 years ago. Of course, my knowledge in music theory and modular synthesis also provide me with more than enough ideas in building a harmony generator. Having a deep review of those gears and technology, my question now is what kind of generator I should build, considering that the basic patches for those delays and oscillator have already taken huge CPU usage. Does a chordal generator like an arpeggiator fit more with the melodies being played by the user? Or a scale based generator which adds extra notes to those melodies would be more practical? Finally, I decided to go for a scale based one.
By using the random object and 12 different sel objects, a chromatic scale would be selected chaotically when the user has to activate steps among those 12 intervals and choose a key for it. When those inactivated steps are triggered by the random number clock, no information will be sent to the oscillator which means the last note generated will suspend until the next activated step being triggered. In this way, a random rhythmic pattern would be achieved without adding much more complex logic objects.
To give users more freedom to play the generator between chaotic and instrument’s melodies, 2 to 3 modes have to be developed. In Mode 1, the oscillator fully follows the audio input. Mode 2 would give random melodies under its own clock while the original rhythm played by the user will also gate the oscillator to react with the generator. Finally, users could combine their own idea with the random melodies generated by using mode 3. Building a selector for modes was a really hard job because debugging and fixing logic mistakes cost me another couple of days. Finally, the melody generator was finished while I had also built another chordal generator for some devices in the future.
Quickly, I tried it with my guitars, at midnight, in my small Conner, with my headphones. Because of this setup, I didn’t suffer the problem of feedback and I had three hours of enjoyment from my digital audio delays. Being analog fever in my whole musical life, I wouldn’t be satisfied with digital devices easily. I put a lot of effort into setting the filters and designing the feedback amount so that a certain level of analog delays would be delivered to users. At that moment of finishing the setting, I went to bed finally full of satisfaction. I shall book a studio in Catalyst in order to test my device with amplifiers at rehearsal level of loudness.


Concept behind Nightmate, a granular sampler/looper/delay - With its ease in making good sound , everyone could play live music
Interrupted by the opportunities to perform in fancy venues, I couldnt manage to test my Copy Cats. It was so sad but this should not be an excuse to leave my Max MSP development because I still have my travelling hours everyday in tram and train which I could do nothing musically but programming. The only cost is music listening - This is such an expensive pay. I am always very interested in granular synthesis while my class in learning buffer objects brought me to the door of building a more comprehensive sampler in playing the play speed and also specifying the location of playheads - this is how I could build a simple granular processor. With my non-scientist brain, Granular synthesis was believed by me, a complex physics topic and I already had a bias about my ability to control any corresponding device until I had my first granular modular - Mutable Instruments Cloud. As a delay freak like me, no one will doubt me not falling in love with Granular but I just didn't know why I was suffering to even give it a try in Hong Kong.
I start to study the materials provided by Tama which are clearly enough to show me all the components to build a sampler. Then I have the following ideas
1. Build a ratio button to set the size of playback(grain size) in order to loop this after the user sets the position of playback head.
2. The sampler can keep the loop while I have to do something to sequence the position of playback head.
3. Applying a lin object to glitch the entire playback forwardly and backwardly without following the clock of the looper.
4. I have to build one more playhead to give users freedom to have slightly different positions of the loops in order to have a phaser effect.
5. Make the sampler to work like a live recording looper/ one off delays as well
6. This is a device for every kind of user no matter if he has musical, instrumental background. I hope this is a device even kids compatible(saying my son)
7. I have to limit the control of it so that the player would not go too deep in thinking. Instead, users should just treat this as a toy but good enough to perform with it.
8. I would like to make a hardware version according to its performance.
All those above were programmed after I kept working for a month during my traveling in trams in Mar 2023. Meanwhile, I kept testing it from the first day by jamming instruments with it. For instance, I drag some tracks produced last year into the device and everything goes rhythmically and provides me an environment to jam with my guitar or trumpet. This could be a drone machine to give an ambient for instruments players. It does not ask you to respond accurately in terms of controlling the knobs and buttons. Two playheads of the same buffer could be easily matched no matter how you set the playback in forwards mode or reversed mode. The speed of playback could drop or double the entire pitch dramatically through turning on its sequence. To work as a sampler with granular features, I believe that is functioning quite well. But the recording mode which acts as a live looper was not stable at all. I am going to intensively plan and program how the event and information being transferred through using trigger objects, gate objects with switch objects and furthermore, a lot of logic objects so that the order of those could be processed accordingly and avoiding bugs.

Audio testing with CopyCats
Focusing too much on the Nightmare, my Copy Cats had been waiting for me since a month ago, today I eventually have time to try this with the audio input instead of the building samplers. Delay head 1 was the first part I would like to try with my guitar. The outcomes were too disappointing because my self patched limiter for feedback noise didn’t give an expected good quality in sound and also in control. I did use a lot of logic objects to perform several “If, then” programming in order to customize how the feedback could sound more analog-like in texture. But all I heard on that day was digital distortion and uncontrolled volume. This was so disappointing after 3 hours of testing and debugging. So, leaving the studio with a lot of feelings convinced me to give up my idea. I was in no mood to try the Delay head 2.
Few days later, I met a tutor who suggested to me that it might not be efficient in trying to build analog-like sound through Max which is something from computer science. He suggests that living well with the digital environment would be a better direction for musicians-kind builders. He also mentioned Robert Henke did perform an immersive sound by adopting digital noise and distortion. This is so inspiring!!! It reminded me of an experience which was ages ago about experimental music and I needed a serious thinking session. On that night, I walked from Frankfurter Tor to Bornholmer Straße and considered all the options and operations that could be inspired by that failure in the Delay head 1. It turned out to be something very important. Firstly, how I set the maximum amount for the feedback knob was a lesson. I just discovered that I don’t necessarily give users the full range from 0 to 1 or 0 to 100. Then, limiting the maximum feedback brings a fair level of digital distortion which sounds quite nice when the Karplus Strong oscillator following the delay head two is engaged. I further had an idea if I should build a logic patch inside that feedback to trigger an envelope follower according to the dry input audio signal to play around with that digital noise? Or leaving freedom for users to just reduce that feedback distortion by simply cutting the feedback? I also discovered the cutoff level of the Low Pass Filter corresponding to Delay head somehow correlated to the feedback level which makes the Delay head sound dirtier in a metallic way. By applying those I discovered to Delay head 2, the resonance of those 3 BPF has also been improved in a way not to have too much feedback with high parameters. The idea of Envelope follower for handling the digital distortion was further developed and involved in the BPF section in Delay head 2. After confusing debugging, the delay is basically work for jams but it doesn't mean the setting of the maximum amount of every single parameter has been done. A month was further occupied in Catalyst’s studio P2. I was testing this almost everyday with guitars, trumpet, my terrible vocal, modulars and bass guitar. I hoped everything will be going fine because my installation for Max instruments was approaching not more than one month.
Testing the Copy Cats with guitar
Wavetable synthesiser in Lake Dawn
Lake Dawn - from Wavetable synthesizers to an entire sound generator systems
When I was developing the harmonies generator for Copy Cats, I built another chordal generator at the same time in which the user had to define possibilities of whether a major chord or minor chord would be generated. Since the Max MSP lessons in Catalyst inspired me to put a different waveform generator into one selector~ object, I had already been very interested in building a simple wavetable oscillator and now I would like to incorporate that chordal generator into it. I planned that this oscillator is a really simple patch and I don’t need to do crazy patching in it. So, I set 7 different wave form objects and one sampler by operating through an 8 step sequencer. I made everything through one single trip from Bornholmer Straße to Funkhaus because of its simple structure and being used to working under Max environment. Then in P2 studio, I sent my patch to its computer through Airdrop. Immediately, I tried to play it with a setting of all oscillators receiving the same frequency while the sampler installed a funky guitar groove. Of course, an hour tram trip doesn’t give me precise patching but the mistake I made gave me such a surprise. Some of the wave form objects accidentally received a wrong frequency - a perfect fifth to the set frequency while the sample is offline with no sound. But all those mistakes give me entirely new ideas. I strongly believe even now, I sound a lot better than my design (I did take another 2 hours walk after the studio from Funkhaus to Frankfurter Tor to think about it). Firstly, that mistake of the sampler gave a very 1 step rest amount the entire sequence. Secondly, a perfect step doesn’t change the key center as well. All playing it with the chord generator, I had a feeling this is something that could easily sync with an instrument player. I planned to test it the next day with a loud electric guitar connected to an amp.
The next day, an usual Friday, I went to Catalyst in the morning for Gary’s class. When I was walking in the classroom, Gary was playing a track from my friend in 3rd year study - Carl G. This was an amazing ambient track which recorded completely analog feedback with a playful synthesizer’s random notes. Suddenly, I would like to build a Max instrument for him that is a Standalone sound generator with all the elements he needs. As I know that he likes modulars synthesis also, I would like to steal some ideas from famous Eurorack modules to design this device. Then I figured out that I need a Drone machine, a slope generator like Serge DUSG /MakeNoise Maths and the wavetable I just built. This is how I started to work out the “Lake Dawn ''.

Lake Dawn - 3 sound generators into one no matter how you twist, it would sound good
Instruments are my painter while music is the artwork I like to present - this is how I compose and perform music. I chatted about this concept with Carl all the time since we met each other in Catalyst. He is the kind of musician who understands sound design but he won't perform by adopting theory, instead he performs by ears. I am the opposite, I like to make crazy sounds with full calculation and well-organized. The Lake Dawn inspired by him has to be something that matches the contrast between us while containing the most important concept for me to build Max instruments- this is purely a machine whoever could make good sound with or without knowledge of synthesis.
For the first part of the machine, I had already finished because that is the wavetable patch I built with choral generator. Quickly, I spent half a day programming 2 slope generators with time of rise(attack) and time of fall(Release) with corresponding slope shape(exp/liner/log). Later, I also built a time of hold(sustain) to give users an opportunity to shape a pulse waveform. They look very similar but in fact one of them is an audio range generator and the other one is a DC kind for modulating signal as an envelope generator. I have already planned that the envelope generator for modulation has to work with some kind of clock divider or multiplier so that I could save the CPU by building fewer duplicate patches. They were easily well performing their sound and function during the testing with the wavetable oscillator. However, building the clock divider struggled me for another half day because I had to build my own latch objects through gen~ object in which lot of confusing trial and errors were done.
I already have built a playful sequenced melodic sound from the wavetable while the slope generators with S/H sequenced Low pass filter works the bass lines quite well. Now I need the drone but the problem is there are too many choices for it. I want an FM oscillator but also an additive oscillator would be very nice to be driven into a drone. I did some research for mc. tri~ objects which allows the user to set many oscillators in different frequencies in one single Max object and it also receives abnormal messages to work entirely differently with traditional tri~ object. After spending hours combing the FM and subharmonic features in one mc. Tri~ object, I have finished the drone machine while I also built a simple granular delay by having 3 individual knobs to receive signals from those 3 oscillators. Every part is smoothly done within 2 days from building it to testing it.
Despite the ease of building it, this is the biggest patch I ever built and I hope this is because of my improved skill in Max MSP. Seven months ago, I never knew what Max MSP but now I am feeling more and more comfortable in a Max environment. Of course, I push myself quite much in getting used to Max through playing and learning it every single day. Because of its abstract name, I would really like to design a heavy contrast in designing the surface but I don’t know how to make it by just using panel objects which have only a rectangle, circle and triangle. I had experience last December to design my first Max device - Swirl into Seabed which I have really not been satisfied with the control surface design. So the next topic, how I could do visual artwork in a Max environment.
Primary shape could mean everything in image design
I was too frustrated in designing Lake Dawn’s control surface and this was confusing enough to stress me out from my routine. Escaping from my work, I sat beside the river to chill but my mind was still occupied by the visual design. No matter how confused I am, the Spree stays peacefully and quietly with me. Such a beautiful view with the forest, fading blue and orange sky and wave movement. Suddenly, I can see the shape of everything being constructed. I mean everything could be resolved into basic shapes like square, circle and triangle. Thanks for the Spree, I have to clarify that this is not the first time how it inspires me. Quickly, I tried to draw the river, forest and sky in my sketch book and those are all I finally applied to the surface design in Lake Dawn, CopyCats and Nightmate.
With these ideas, I have developed some skills in building images slightly in 3D view and even built my own standard knobs and buttons which I have saved as snippets in Max. As a Eurorack player, I definitely would like to build some lighting visuals which are then achieved by using live.toggle, live. Knobs and bang objects. I found Reaktor in Native Instruments has more straightforward tools to switch specific parts in the control surface while Max MSP needs more steps to do this by suffering the CPU usage.
I won’t say design in Max MSP for the presentation view is very difficult but it takes time. In designing this for Lake Dawn, I spent one whole evening because I have already got a clear picture of this art piece while Nightmate is benefited by just a certain level of improvement as the design had been almost finished before the idea. However, Copy Cats is definitely something else - this is barely hard.
I started to draw a cat's eye, however it didn’t look well. Following this, I made a palm which is fairly good but boring. After watching a lot of photos of my cats, I decided to use their back views and shadows. I also built a dark room and one-step stair for my cats. Copy Cats is a kind of tribute to my cats - John and Mary in which you might feel my happiness and regret.
After the design process, I harmonized with what a great musician has ever said to me “I try to do a lot of simple things and summing them up would give me something unique and complex.” This is exactly what and how I am going now.
Preparation for the installation in
OPEN TINY
Not more than one week, I have to show my instrument in the installation hosted by Harry and me. I have finished all the designs and kept testing those. I also try to be more outgoing by asking friends and teachers in Catalyst to check out what my instruments do through bringing my computer to every corner. My intention is to collect recommendations and comments as much as I can so that I can update my instruments to meet users’ expectations. To build my own instruments, there are so many reasons but the primary and essential one is “To create instruments for both musicians and non musicians to enjoy live music”. So, enjoying the device is the most important while ease of making good sound is essential for users to express themselves without complicated technical issues.
I specifically asked some DJ producers who never play synth or only use preset in VST for producing, to play my instruments by clarifying that my instruments could be used by playing any knob directly without knowing what it is. Frankly, they quite enjoyed the sound and the controls. Some of them claimed that the instruments sound like modular synths but are much easier to play. Surely, I also heard one claimed “the knobs are so complicated in Copy Cats while too abstract in Lake Dawn ''. My teacher also recommended that I should make the knobs and buttons in a way more hierarchical that could instantly give the users some hints on what to do first. Too much information were obtained within 3 days and I have to make another important decision at that moment - Should I spend the remaining time building a midi controller just for Lake Dawn or upgrading those instruments accordingly?
To have my answer, I have to clearly figure out what the intention is to host this installation. This is not only my first installation, but also unimaginably being my first time to build instruments to let the public in experiencing my artistic concept. I would like people to play on my instruments rather than just watching me to play. The best case is building hardware for this purpose by coding the entire programme in Bela through RNBO’s export function. Because of sickness for two weeks in the beginning of April, my plan is far behind now, the entire hardware building for this installation is not possible. To build my own controller by Bela’s accessory, by the way, is still possible but I am not sure if this is worth the money and time. Struggling to make a decision, mapping those instruments to a small midi keyboard from Arturia did help me to see a bigger picture of midi control issues. I could feel those 20 knobs on the keyboard indeed do their jobs perfectly which remind me that my friend often emphasizes “Less is more”. I have the final decision now - try my very best to prepare the instruments in Max format by focusing all my efforts to make the potential players happy in playing it.
Testing Lake Dawn with trumpet
in P2 studio, Catalyst - 6.5.2023

The First day in Open Tiny
Harry has planned to spend an hour to set up his analog visual, analog tape machine and Eurorack for this part while I did plan hours to set up those speakers, audio interfaces, ADAT convertor, two computers, sound system for my guitar and bass, my condenser microphone, my trumpet, full sets of Eurorack. To be honest, how I could move those from my home to the venue is a misery. I was too tired to remember everything after 2 gigs right before the installation. The only thing I remembered is I got refused by drivers from Bolt and FreeKow when they drove to see my luggages. Finally, a very kind driver delivered me to join Harry. At that point, my heavy loads in addition to Harry's stuff, we got refused by drivers again and that's why we need to pay a big expensive taxi. I still believed that the installation would give us the highest satisfaction, no matter how my mood was being killed after the whole morning to beg drivers. Finally, we successfully started our installation at 2pm.
I planned what to invite guests to play my instruments and a certain workflow was also expected. Despite my full preparation, every guest seems to have their own prospect and workflow in testing my instruments. Things happen in life, and what was finally turning out in the entire day is the possibility of extra function in those instruments, musically information exchanged and networking between friends, walk-in guests and us. I keep improvising new workflows and jam with guests by playing a lot of instruments. Thanks to those drivers who were willing to deliver my full gear. The whole afternoon, guests are keeping me busy doing Max instruments and physical instruments. To summarize the first day, I experimented between the Max instruments I built and other instruments which gave the guests a clear picture of how instrumental players would benefit from adopting those I built. I was more the key player in the whole workflow to demonstrate things but what will happen on the second day is completely different.

The second day in
Open Tiny
I woke up at 8:30 in the morning after 6 hours of sleep. What did I do after the first installation? I took a taxi home with half of my equipment because of a safety issue in the venue. My wife cooked me a Hong Kong style midnight dinner - my pleasure to have Denise in my life. Today, the second day, I left my home around 11am after having breakfast with my family and headed to the venue. I was not as tired as the first day ,so setting up the equipment again just cost me half an hour. We didn’t expect too many guests on Sunday morning, so we jammed in the venue with everything we installed there. The afternoon then brought us guests again and unexpectedly more and more walk-in guests came and tried the instruments until we closed officially at 10pm. Guests were more aggressive than yesterday, they tended to play the instruments themselves and ask questions. Every time they asked “Can I …. ?”I am so happy because most of the questions were satisfied directly through my careful design. On the other hand, this is stressful because some guests expect more technical control to have precise changes which is how my instruments are basically not intended to do. My customer service experience in Hong Kong does a good job of it. I talked about the concept of ease of making a good sound to every kind of user and explained how I limited my instruments to a certain extent so that they could focus on playing and listening more rather than thinking too much. Those guests accepted my concepts and said nicely to me which reminded me why Berlin artists in different spectrums always get together peacefully.
Being a
long-time analog freak, I tend to stick firmly with hardware analog systems but what I was presenting to the public was fully digital designed instruments - this kind of contrast exists in my life all the time. I believe that different musicians have their own role in terms of presenting and responsibility. I am obviously the type who might be able to and have to bring digital user and analog user together because of my strong band experience and practical sound design background. In this installation, I clearly feel this role and understand how I could perform it better in the future. Now, we are planning where to do the next installation with deeper consideration in how to connect musicians and how to break the border between musicians and non musicians completely.
Keeping me busy with no lunch or dinner, the installation was finally closed at 10pm. Thanks to Harry, my partner from UHK Lab presented his fancy analog feedback with his ambient album which leaves me a perfect space to demonstrate my instruments. 1.5 years of working together in UHK Lab always makes our art consistent and compatible.
Thanks to all my guests, you all have given me professional and valuable information and comments. This is my pleasure to have all of you in my installation.
Special thanks to Denise, Ian and Elise brought me special drinks.







