I have a confession to make: The code for audio and sequencer logic in Sputter is really unoptimized. According to the holy grail of audio programming, and a lot of other general optimization advice, pretty much everything is done wrong. This means that it uses more CPU power and battery life than is really needed. Audio latency is also unreasonably long, which is evident when notes are played back as they are inserted in the grid.
Sputter version 1.5.0 has finally been uploaded and released on Google Play.
This release brings a not so exciting but very important feature: Backup functionality. This is very important on the Android platform to mitigate storage access restrictions in later versions of the operating system. These restrictions already led to one user losing all songs.
As a result of this, the global file menu has been reworked and now includes a backup option:
As discussed before highlighting the currently used instrument on a track in Sputter presents some challenges. What if the instrument is tweaked beyond recognition or a different wave is imported or recorded to it? Is the instrument used in the track then the same instrument which is highlighted? And what if a song is shared between two users and the receiving user does not have some of the instruments used in the song?
Because of limited file access in newer versions of Android, songs and instruments in Sputter has to be saved to the app’s internal storage. This means that when the app is uninstalled the user’s files are deleted with it, which of course can be disastrous. It also means that there is no simple way to migrate all your songs and instruments from one device to another.
To mitigate these issues there is now a backup feature in Sputter version 1.
A few days ago one of those highly encouraging one star reviews was posted on Google Play. As usual it did not go into any detail and was more along the lines of “This sucks!”.
Of course one should not take things like this too personal and I am certainly not the only one experiencing incidents like this. All in all Sputter is actually in quite good shape when it comes to ratings.
After experiencing the horror of having a user loose all files, I have been considering ways to reorganize the way Sputter handles saving, exporting and importing songs and instruments. With that horror story in mind it seemed obvious that some kind of backup facilities are needed. In the same run it would also be nice to clean up the file handling UI, which for the time being is a bit all over the place.
Sputter version 1.4.0 has been uploaded and released on Google Play. It brings sample audio recording, which is quite fun to play around with.
What surpises me is that even with the limited quality phone microphone, when using effects and other tweaks to the sound it can actually sound quite good in a song.
Also quite apparent is the need for a method of tuning the recorded samples. Right now it is possible, but admittedly a bit cumbersome.
Sputter 1.4.0-alpha1 has been released to the beta channel in Google Play. The star of the show in this release is sample recording through microphone or other audio input device. I have already had much fun with it on my own, and I am sure many of you will too. The interface is a Snapchat-style recording button with a finite allowed recording duration:
As you probably can spot the wave editor has also been touched up a bit:
A day earlier this summer I woke up to a message containing these emojies:
It turned out that a user had lost all Sputter song files. After discovering a bug the user had attempted to fix that bug by uninstalling and reinstalling the app.
Sputter was originally designed to save song files to the phones “external” storage, i.e SD-card or local file storage available to all apps. These files are persistent and will remain after the app is removed.
I just received notification from Google Play that Sputter 1.3.2 has gone through all security checks and is now live in the store. This release brings several bug fixes and minor usability improvements as well as a new drum kit preset called “Voltage”.
From the developer’s perspective it is the beginning of a major refactoring to allow for optimizations with regards to performance, audio latency and battery usage. This work will be going on for some time, but it will be done in batches and there will be new features dripping in from time to time along the way.