Tuesday, 1 December 2009
Tuesday, 3 November 2009
ol.dinsync~ max external
I've uploaded a beta version of a new max external that i made in order to sync drum machines and sequencers that use dinsync, such as the 808, 303, 606 etc to Max.
It works with a suitable audio interface that passes DC, such as most MOTU interfaces. An added bonus is that you can slew the dinsync signal in order to make the drum machine swing.
To do this i had to solder together a cable to go from two 1/4" jack outputs on my MOTU 828 MkII to a dinsync 5 pin din connector. You can find info here about what pins to connect to what: http://www.doepfer.de/faq/gen_faq.htm#Sync
Download it here: (windows and mac, source included)
http://www.olilarkin.co.uk/blog/files/ol_dinsync-v0-1.zip
Monday, 2 November 2009
Maxbuild v0-1
When i make an external, i usually duplicate an existing one. I got really tired of going through and doing find and replace in multiple files for Xcode and Visual Studio, so i decided to make a bash script and folder layout (with template projects) to automate the process.
To duplicate a project you simply have to open a terminal window, cd to your max external projects folder and type:
sh duplicate.sh [inputprojectname] [outputprojectname]
e.g.
oliver-larkins-macbook-pro-15:maxbuild oli$ sh duplicate.sh mb.msp~ ol.mynewmspexternal~
The script copies your project and then goes through all the files and substitutes the old project name for the new one you specify, both in the file name and inside the files. When making changes inside the c or cpp files, the class/function/struct names etc. are substituted but tildes and dots are removed where they would cause problems for the compiler. It includes the following template externals, which have VS2008 express and Xcode 3.1 projects:
http://www.olilarkin.co.uk/blog/files/MaxBuild-v0-1.zip
To duplicate a project you simply have to open a terminal window, cd to your max external projects folder and type:
sh duplicate.sh [inputprojectname] [outputprojectname]
e.g.
oliver-larkins-macbook-pro-15:maxbuild oli$ sh duplicate.sh mb.msp~ ol.mynewmspexternal~
The script copies your project and then goes through all the files and substitutes the old project name for the new one you specify, both in the file name and inside the files. When making changes inside the c or cpp files, the class/function/struct names etc. are substituted but tildes and dots are removed where they would cause problems for the compiler. It includes the following template externals, which have VS2008 express and Xcode 3.1 projects:
- mb.max - a basic vanila max external
- mb.maxobex - a basic max object with obex for pattr/attribute functionality
- mb.maxcpp - a basic c++ max external (with obex)
- mb.msp~ a basic vanilla msp external
- mb.mspobex~ a basic msp object with obex for pattr/attribute functionality
- mb.mspcpp~ a basic c++ msp external (with obex)
Thanks to Graham Wakefield for the C++ templates.
I develop Max externals first on OSX, so it made sense to do the script in bash. I expect you could do a similar thing in Windows too, maybe using cygwin or something similar.
there's a readme with instructions. At the moment this is set up for the MaxUB sdk (4.6). I will add support for the 5.x sdk in the next version.
I develop Max externals first on OSX, so it made sense to do the script in bash. I expect you could do a similar thing in Windows too, maybe using cygwin or something similar.
there's a readme with instructions. At the moment this is set up for the MaxUB sdk (4.6). I will add support for the 5.x sdk in the next version.
http://www.olilarkin.co.uk/blog/files/MaxBuild-v0-1.zip
Tuesday, 1 September 2009
Synth Secrets Links
I searched for a list of direct links to the Sound on Sound Synth Secrets series. This site had a lot but was missing some intros. Here's an HTML file with all the intros to the articles, and here is the list on its own:
- What's In A Sound?
- The Physics Of Percussion
- Modifiers & Controllers
- Of Filters & Phase Relationships
- Further With Filters
- Of Responses And Resonance
- Envelopes, Gates & Triggers
- More About Envelopes
- An Introduction To VCAs
- Modulation
- Amplitude Modulation
- An Introduction To Frequency Modulation
- More On Frequency Modulation
- An Introduction To Additive Synthesis
- An Introduction To ESPS And Vocoders
- From Sample And Hold To Sample-rate Converters (1)
- From Sample And Hold To Sample-rate Converters (2)
- Priorities And Triggers
- Duophony
- Introducing Polyphony
- From Polyphony To Digital Synths
- From Springs, Plates & Buckets to Physical Modelling
- Formant Synthesis
- Synthesizing Wind Instruments
- Synthesizing Brass Instruments
- Brass Synthesis On A Minimoog
- Roland SH101/ARP Axxe Brass Synthesis
- Synthesizing Plucked Strings
- The Theoretical Acoustic Guitar Patch
- A Final Attempt To Synthesize Guitars
- Synthesizing Percussion
- Practical Percussion Synthesis
- Synthesizing Drums: The Bass Drum
- Practical Bass Drum Synthesis
- Synthesizing Drums: The Snare Drum
- Practical Snare Drum Synthesis
- Analysing Metallic Percussion
- Synthesizing Realistic Cymbals
- Practical Cymbal Synthesis
- Synthesizing Bells
- Synthesizing Cowbells & Claves
- Synthesizing Pianos
- Synthesizing Acoustic Pianos On The Roland JX10
- Synthesizing Acoustic Pianos On The Roland JX10
- Synthesizing Acoustic Pianos On The Roland JX10
- Synthesizing Strings: String Machines
- Synthesizing Strings, PWM & String Sounds
- Synthesizing Bowed Strings: the Violin family
- Practical Bowed-string Synthesis
- Practical Bowed-string Synthesis (continued
- Articulation & Bowed-string Synthesis
- Synthesizing Pan Pipes
- Synthesizing Simple Flutes
- Practical Flute Synthesis
Monday, 31 August 2009
EMS Sequencer 32
I uploaded some photos of one of the earliest digital sequencers made by EMS, found in a cupboard at work. Not the most exciting thing to look at but historically interesting imo. Check out those shiny switches. It works too!
Thursday, 20 August 2009
Plugin Jams
I thought i would upload some old jams i made with plugins that never got finished. I loved the sounds that i got out of these half-built things, but sadly most of them are missing certain externals etc, and so no longer work. First up is groove modulator, which was a ridiculously feature-heavy step sequenced synth. It could make some fantastic evolving FM sounds. The MP3s encoding here is quite poor, sorry.
Tuesday, 18 August 2009
Auto set audio driver in Max
Here's a patch i uploaded to the Cycling '74 forum recently.
If you work with different audio interfaces in max this patch can help. If you usuallly use a Firewire or USB soundcard, when you launch max without it connected, no ad driver will be selected. Then if you select your built in sound output, next time you connect your external soundcard, you'll have to select it again. This patch specifies a preffered (1st choice) soundcard, and one to use if that is not available (2nd choice). To use it specify your 1st and 2nd choices as arguments (the name needs to be exactly the same as what is repoted by adstatus. Put it in a patch in your maxstartup folder to open automatically when max starts.
Monday, 17 August 2009
Lingon - keep max open
The other day I needed to find a way to restart Max automatically on OSX. For a project at work we're using Max 5 in an installation - many different sub patches are loaded dynamically by a scheduler throughout the day. The machine (a Mac pro) restarts every night, but I wanted to make Max restart as soon as it crashed, so as to minimise the downtime. We were experiencing seemingly random crashes that didn't appear to be linked to any specific piece or any specific time of day. The crashes seem to happen once or twice a month at random times and with different crash reports, even though the same schedule was played every day, therefore it was almost impossible to debug.
In order to keep Max running I used a program called Lingon which allows you to automatically restart a program once it's crashed. It's an interface to the OSX launchd daemon. The developer seems to have abandoned the project but you can still download it from here:
You can download my "keepmaxopen" launchd script here:
Once you've installed Lingon, you can put this plist file in ~/Library/LaunchAgents/
Launch Lingon, and in the section labelled myagents it should show com.olilarkin.keepmaxopen.plist. Check the enable button and restart your computer.
Now Max will boot automatically when you restart. Try quitting Max, and you will find it launches again. This is a potentially dangerous situation if you build a patch that crashes straight away as it will keep on crashing/restarting/crashing/restarting forever until you disable the script!
Subscribe to:
Posts (Atom)