Audio Quality Degraded
greg.marukov
Member Posts: 5
Hello, I've been having issues with the quality of the sound after APK export. I made a soundboard app, that use both "play sound" and "play music." I've noticed the quality of the "play sound" degrades drastically after export and used on mobile devices. I have noticed that the "play music" option is better quality than the "play sound" option. Some buttons i need for it to be "play sound" due to the responsiveness of the button, and because i need to "pause music" when those buttons are pressed. I'm using free version of GS, all help appreciated.
Comments
Hey Greg,
Unfortunately, the 'play sound' functionality is always going to be lower quality than 'play music'. That's just how Gamesalad functions. The only workaround that I can think of to solve this issue (although it may be very time consuming) is to re-export your sounds (not music just sounds) from wherever you created them originally at an even higher quality than the music. That way when you bring them into GS, the audio downgrade will just even everything out. Hopefully that works.
Darn.... I've made it the highest quality I could. Is there anyway to improve the responsiveness of a "play music" button? I have it set to where it only plays while being held. Thank you for your insight.
Save your audio as CAF files and drop them into GameSalad. This avoids GameSalad's audio compression, and decreases loading times, though at the expense of some file size (CAF files are bigger!).
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
This is not true, both Play Sound and Play Music can be set to the same quality. Simply create your sound at the quality you want (bit depth / sampling rate / kbps . . . etc ) and save them in the correct format for GameSalad.
That won't work.
You can avoid GameSalad's audio compression without having to move to CAF files, simply convert the files externally to the correct format for GameSalad, if a file is imported in the correct format GameSalad won't need to convert it.
No. The Play Music behaviour plays the music via the target device's built in audio hardware, whereas the Play Sound behaviour loads and plays the sound from RAM, so Play Sound will be pretty much instant, whereas Play Music will always have a little latency.
The only thing that would help with responsiveness with Play Music would be to make sure there is no silence at the start of your music, trim the start down to the very first sample, even a few milliseconds of silence will impact the responsiveness.
Hey socks, thanks for your all your replies. I made the sounds in FL studio. Which format and settings is optimal for maximum quality for the "play sound" option? And while we're at it, play music as well. I'm using windows by the way.
You don't get the sweet loading time reductions then, though! I've been working on a project where replacing several hundred oggs with cafs reduced the load time from around 17s to around 7s. Probably not so relevant here, though
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
That's a lot lol.
Would .caf work with windows? or is it just an ios thing?
I have no idea if tools to convert it exist on Windows, but I'd assume so! If not, it wouldn't be too hard to have someone convert them for you.
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support
'Optimal' is too vague a term for a technical discussion, at least it's too vague for me !
I suppose the limiting factor here would be the playback device's audio capabilities, DACs, speakers (and so on), but as a general rule . . . . with sampling rate you don't need to go beyond 44.1kHz (which gives you 22.05kHz playback, most adult's hearing tops out around 10-15kHz) . . . with the bit depth you'd be fine with 16bit, lower values start to sound crunchy, higher values will usually be resampled to 16bit by the device anyhow . . . and as for the bit rate I wouldn't go lower than 128kbps, you will really start to hear your audio fall apart when you get down to 64kbps, you can go higher than 128kbps, but to be honest most people won't be able to hear the difference between a 192kbps sound and a 128kbps sound.
But . . . . this of course all depends on the sound itself, if - for example - you your sound is a 50hz sine wave then you could probably get away with a 16kHz, 8bit sound @ 32kbps . . . but for a general purpose high quality sound I would start with 44.1kHz / 16bit @ at least 128kbps.
This sound will need to be saved as an Ogg file - otherwise GameSalad will convert it to a Ogg using its own settings (ignoring your carefully crafted settings).
If you cannot output Ogg sounds from FL, then download MediaHuman Audio Converter (free for OSX and Windows), it's a fast high quality converter that can batch, just output 16bit/44.1kHz from FL, drag into MediaHuman and batch convert to Ogg.
Same deal, 16bit/44.1kHz @ at least 128kbps, format needs to be .m4a.
If you have a heavy sound based app (hundreds+) and loading times are becoming an issue then it sounds like CAF would be the way to go .
Tried all of it, even with everything at the highest rates. The quality is still degraded after apk export. I'll try another program.
Just a note - my CAF trick will not work with APKs. It's an iOS thing.
Contact me for custom work - Expert GS developer with 15 years of GS experience - Skype: armelline.support