Apologies in advance for the broad question.
Essentially: I'm getting into the audio side of Playdate game dev very belatedly. To experiment, I'm using a lot of the existing sounds and music for a previous PC game I made. All .wavs. Using sampleplayer for SFX and fileplayer for music as Inside Playdate recommends.
Running in the simulator, everything works perfectly, no worries at all.
Running on the actual device, some of the sounds are very hard to hear even at full volume. I assume this is due to the hardware of the Playdate speaker and what it can and can't do.
Best solution I've found is to just use higher pitch sounds, like more retro beeps and blips. But then, there's a heap of Playdate games out there with really great audio, so I just wanted to reach out to see if I was missing anything in terms of best practices for either types of audio files used, particular ways of importing them into the SDK, etc. I've search around and found other posts with some really cool tools people have made to use synth etc. But any just general advice people have (or can link to) on how to broadly approach audio design for the Playdate would be greatly appreciated!
Would be great to hear what you're hearing, to make more targeted suggestions.
I would guess that everything is simply too loud and is blown out before it even gets to the output. Think of sounds as additive with a finite amount of vertical space to work in.
Note also that the device speaker is mono and struggles with low-mid end frequencies. Headphones are stereo and have the full range.
- use a good audio editor (twistedwave is good and available in the browser, ocenaudio is my 2nd choice)
- work in lossless format full PCM WAV
- normalise volume levels to -6 dB to allow room for more sound in the mix
- listen on device at around volume 6 to be sure your game isn't too loud or too quiet
- you can then do small adjustments in code
- finally you can bake your gemstone volumes changes if you feel the need
- if you're going to ADPCM encode with adpcm-xq as a final or separate step, creating duplicate files (you could do this in a build script or make file)
I guess you could also test things by extracting audio files from games you own and play them back using your own code. Sounds like your hardware is good if you're hearing other games audio sound good.
Thanks for all the suggestions!
I've attached below the very basic text program I've made to figure out the basics. It's currently loaded with two of the sounds that sound fine in the simulator but are practically impossible to hear on the actual device. Attached both the whole project and the .pdf if that's useful. Press A to hear one of the sounds, B to hear the other.
It sounds like it's likely just the simple fact that the device struggles with low-end frequencies is the problem I'm encountered...
soundTest.pdx.zip (3.7 MB)
soundTest.zip (3.8 MB)
I'll try later.
What do you hear over headphones?
Just tried and through the headphones it sounds largely the same through the simulator and through the actual device. Quiet, but actually audible unlike through the Playdate's speaker.