Skip to content

Waiting…..

I just uploaded my app for submittal to iTunes today and so the wait begins.  I’m excited to see the app get ready for release and I’m also happy to have a little more time to do other stuff!

 

Truthfully, I had no idea what to really call this app past something with “synth” somewhere in the name.  So, I’ve called it “AnaddrSynth” because it will have lots of additive pieces to it, both audio-wise and interface-wise, in the future.

 

The blog will move to:  anaddrsynth.wordpress.com/

 

Image

Advertisements

Nearly there, ready to just sustain it and add new features once in a while…

I’m finally working on the final ‘graphics’ for this virtual synth for the iPad.  I used this space scene of some galaxies and just stretched them over the synth land, for now.  It will be released in 1-2 weeks, more than likely.

A pic is below:

Screen Shot 2014-04-24 at 11.14.55 PM

Final stretch for the initial release

I’ve been working on and off for several weeks on the iPad synth and it has improved, measurably, since about two months ago.

The initial release effort all comes down to this list of to-do’s (below).  I’ve released an app for Doosan Portable Power (with a second one on the way), but it will be great to get something out that is purely my own.

iPad Virtual Synthesizer
Activity
Finish Oscillator Graphics
Remove Un-used knobs on Oscillators
Add settings retrieval for LFO (graphics updated)
Add settings retrieval for Wah (graphics updated)
Add settings retrieval for Hi Pass (graphics updated)
Add settings retrieval for Lo Pass (graphics updated)
Add settings retrieval for Delay (graphics updated)
Add settings retrieval for ExPass (graphics updated)
Remove extra tabs after iCloud settings tab
Create new synth trim (white with gold, blue, red)
Create new synth background (black with white highlight lines)
Sharpen triangle, square, etc. waveforms
Make up a better starting preset
Improve attack. decay, sustain, release algorithm/quality
Refine text/knob sizes for easier adjustments and reading

App Memory Leaks

The other day I had to shutdown the Macbook Pro I was using and reboot.  I really wondered what the heck was going on – I mean, this is a Mac.  I then decided to mess with the synth app and starting looking at the memory monitor.  The memory usage grew and grew, and then the old friend ‘memory leak’ came to mind.  As it turns out, my app’s memory footprint would grow and grow based on some old, novice class retain statements I thought I needed at the time (this was 2011).  Sure, the app worked, but it was far from efficient.  

It comes down to this:  I did not quite have a good understanding of retain/init and release/retain.  As it turns out, I am far better off leaving a class instance in memory than trying to init and release it.  You see, in the case of this app, where I have made custom effects and filters, class instances get called in microsecond intervals.  Each time a class is called, a new set of variables (and small buffering arrays) would pop into memory.  Sure, separate instances are needed for various modules within the synth calling on, let’s say the LFO engine, but this LFO engine does not need multiple instances brought up during a “saw” oscillator “run-through”….  In any event, I started correcting things and the memory allocation seems to have stabled out at about 21MB.  The Instruments application, a part of Xcode, was extremely useful.  All done over lunch.

Image

 

Synth Setup

After getting all of this done:

– Delay fixed for three oscillators

– Attack Decay Sustain Release (ADSR) complete

– Modulation engine complete (LFO Triangle and Square)

I am now ready to proceed with developing a synthesizer setup system.  This system will be implemented as another Objective C class which may be accessed from an iCloud-connected file system and sub-UI within the synthesizer.  The sub-UI needs sprucing up, but the iCloud accessibility was proven out months ago.

Image

 (Synth setup area over to the right.)

Image

(The new class, empty right now.)

After this is done, I then need to decide if I want to include the waveform customization (requiring a fourth or fifth oscillator engine choice) or make that an in-app purchase.  We’ll see.  

 

Delay Effects Expanded

I keep digging up new things to improve on this iPad synthesizer.  The latest thing has been the delay effect.  Before I restarted development work on this project, the delay stage only handled the total output.  Using a very minimal code change, I have now expanded this functionality to include individual delay effects (or at least the mechanisms to do so) for 3-4 oscillators.  The resulting effect is one that paints a color containing both a foreground note as well as backing (even ghostly) background notes.  I can’t wait to make some recordings with this app!Image

 

Ultimately VERY cool

I’ve figured out how to further customize the sound of each oscillator (maximum of four) used in this iPad synth.  So, work continues.  Neat discovery/realization, though…..

Image