Project Description:
I am designing an app to play backing tracks for my piano compositions. Each “track” will consist of 4 individual tracks with the following combinations (in m4a or mp3 or ? – I can supply the tracks in whichever format is best):
backing track only
backing track + metronome click track
backing track + piano
piano only
When the user selects a track to play one of the above options will be played (according to which option they chose). I will provide all the backing tracks.
My requirements:
- develop (suggest appropriate hosting for) a server where my tracks are stored
- work within opensource software (core audio, dirac LE, ?) to allow the app to play m4a (or mp3) tracks slower or faster without changing the pitch (range is up to 50% slower and 30% faster):
examples of apps that do this: Audiostretch, Tempo Slo Mo, Slow Down Music Player
- the app should be capable of:
- downloading and caching tracks within the app
- organising these tracks according to : alphabetically, by level of difficulty, albums, free/purchased
- play, pause, search within the track
- slow down and speed up the music before playback commences and during the track with no change in pitch (this is expressed as a percentage of the original tempo – up to 50% slower and 30% faster in 1% increments). Does not necessarily need to do this in “real time” - the user can press “pause” and then adjust the tempo rather than being able to adjust the speed during playback of the track.
- “loop” the piece or sections within the piece
- support in-app purchases (tracks can be bought as single tracks or as packs)
I have a preliminary design done (with a list of screens, colour schemes, screenshots of apps that I wish to emulate, etc.).