Showing posts with label sythe. Show all posts
Showing posts with label sythe. Show all posts

Saturday, September 10, 2011

Sythe 1.2 released!


Sythe 1.2 has been released onto the Android Market. This release brings:
  • A 3-octave "Grid" mode
  • Faster and more refined user interface
  • Some German localisation
Get it from the Market for free or if you'd like to support my work you can buy it for the cheapest price allowed in your currency.

Thank you for all the feedback you've given me so far, I will continue to integrate your ideas into Sythe as long as you give them to me!

Friday, July 29, 2011

Hiatus, features and a thank you

Well, that was a longer "week or so" than I initially expected. The short version is that since my last post my partner and I became home-owners (Yay!) and I simply didn't have the time to push out a serious update to Sythe. I also found a number of problems with the new UI - something that will be left on the back-burner for a little while.

The good news is I can now show you screenshots of some new functionality:



Firstly, I have added an toggleable Pad note grid that you can lock the synth to, with the input screen able to show a one or two octave span. The X/Y marker can still move freely but the current note is highlighted on the grid.

I have also added a Pad "Tilt" mode (toggled via the "+" button) where you can control the pitch and Sine/Saw mix by tilting the phone left, right, forwards and backwards. This allows you to change other parameters while still controlling the Pad behind the scenes.

The addition of this grid was suggested by a number of reviewers on Sythe's market page and I would like to take this opportunity to thank everyone who has given me feedback on Sythe so far. Your feedback has been both positive and filled with excellent feature suggestions.

These features will hit the market shortly, along with some internationalisation, reliability updates and background playback. 

Friday, April 29, 2011

Sneak peak of the new Sythe UI

I didn't mention this in my last post on Sythe's future because it was only an idea then, but the new UI has progressed far quicker than expected so here is a sneak-peak:

Click for a larger, clearer version
The design will evolve of course, but this is the general idea. The new UI will make its way into the next update, coming within then next week or so I hope!

Friday, April 22, 2011

What's next for Sythe

Just a quick update on what's coming out with the next version of Sythe Free:
  • German Localisation - Germany makes up 10% of my active users and is the largest non-English user-base.
  • Background Playback - so you can use multiple applications at once.
  • Higher reliability - I've removed a ton of unhelpfully-buggy code, and thanks to the help of one of this blog's followers, dcp, I think I've fixed a rather nasty glitch sound that's triggerable by a certain combination of inputs. Thanks, dcp!
The rest of my energy has been going into developing the first release of the full version of Sythe - so far I have implemented about 30% of the record-loop functionality. The good news is that I have the next 10 days off work so it shouldn't be too far away!

Monday, April 11, 2011

Milestones

Just a quick update - here are some milestones I have reached in the last week:

Downloads of Beat Dialer Lite: 6000
Downloads of Beat Dialer full: 100
Downloads of Sythe Free: 800
Active installs of Sythe Free: 500
5-star ratings of Sythe Free: 5

Sythe Free is the highest rated app that I have released with 4 stars average from 13 ratings - I must be doing something right! :)

Sunday, March 20, 2011

Managing multiple versions of an Android app

When developing an Android app you may find yourself in a situation where you want to publish two different versions - one basic version that is free and a fully-featured version that isn't.

The free version is the marketing "hook" to get people to buy your full version - this is the tactic I am taking with Sythe, and that I took with Beat Dialer.

The obvious problem is that you end up with two codebases that undoubtedly share the vast majority of their code - requiring error-prone double-entry of any changes to common code. Here is the technique I am using to help mitigate the effects of this problem.

Firstly - this is what you'll probably have in your Eclipse Package Explorer:

Two identical hierarchies of code, the differences between versions limited to a few files in the "src" directory.
The key thing here is that I have broken the code up into "common" and "tests" packages, separate from the main "free" or "full" packages. In the filesystem these packages are different folders - allowing me to use Symlinked folders to share the "common" and "tests" code between the two projects:

I've also Symlinked the "drawable-*" folders in "res"

Whilst I obviously still have to test each project after an update, I no longer have to re-enter the same code in each - a major reducer of errors.

I how this helps you out with you projects - let me know if you have any suggestions for working with cross-project share code.

Saturday, March 19, 2011

Free Sythe beta released

The title says it all - I've released a free version of Sythe to the Android Market - please try it out and let me know what you think.

The forthcoming paid version will have extra exciting features like sequencing and background playback, so stay tuned!

Sunday, March 13, 2011

Sythe sequencer layout

Here's a sneak preview of the in-progress sequencer's integration into Sythe:


The idea being that you can have a different setting for each parameter for each step in the sequencer - crossed-fingers that that's how it turns out!

Saturday, March 5, 2011

An update on Sythe

Sythe (the working title for my work-in-progress Android synthesiser) has taken a few more steps toward release with the re-writing of the audio engine and an updated UI design:

The "Pad" is used to generate the sounds - horizontal axis for frequency, vertical axis for sine/saw wave mix.


The other areas control the effects applied to the generated sound.

The sound is still the same as before with the exception of the AM LFO actually being time-correct.

I've decided to go ultra-minimal on the UI again, for two reasons. Firstly, the performance of the whole system very important and too much UI will lead to too much latency in the audio. Secondly, the input method is inspired by the look of the Korg Kaossilator which uses a big black square pad for input.

The pre-release TODOs are:
  • Save/Restore of configuration
  • Support for multiple audio output formats/rates
  • A few more LFOs to modulate the harmonics and "fatness"
  • A preferences screen for changing the colours and min/max "Pad" frequencies. 
For those interested in how it works, Sythe is essentially a wavetable synthesiser. When a touch event is registered, Sythe renders a single cycle of the mixed sine and saw waves, then applies effects to that rendered cycle. The AM LFO works by modifying the Android AudioTrack's volume hundreds of times a second following a sine wave shape.

Sunday, February 6, 2011

Synthesis

Today I built my first synthesiser. I've wanted to create one for a while, and considering that I now understand the Android audio system down to the bytes-in-the-buffer level, I thought a touch-driven Android synthesiser would be a good challenge.

Currently the synthesiser has:
  • A sine wave tone generator
  • A saw wave tone generator
  • A phase-shifted saw-wave tone generator (for "fatness")
  • A 0-20 layer sine wave harmonic control
  • A 0-20 layer saw wave harmonic control
  • A 1-20Hz amplitude modulator
All of these inputs are driven off x/y locations on the touch screen.

This is what is sounds like (after a day's work, clicks and SoundCloud transcoding muck included for free):

Sythe demo 1 by thisismyrobot

Enjoy!