Should've mentioned this too: if the WAV file is over 30s, it won't play normally on the wavplayer. You can go around this by making it use integers instead of floats. While this does not remove the limit fully, it gives extra memory for more audio or your whatever variables. You can always split the waveform too.
Before StartingBefore staring, make sure you have the following: SmileBASIC File Manager Wav Recorder A audio managing tool. (I used Audacity for this tutorial) A PC with Windows installed on it. (you may be able to use Mono on Linux to run this but IDK) Download the WAV2SBWAV tool from here.
Preparing your audio fileOpen your audio file in Audacity, and first, set the sample rate to 8180. (there is no option for 8180 but you can write it there manually) Next, make the audio track mono via Tracks->Stereo Track to Mono. Finally, select File->Export Audio. On the save dialog, set the save format to be Other uncompressed formats and then select Options. Set the settings to be WAV (Microsoft) and Unsigned 8-Bit PCM. Now save the new file as anything.
Exporting audio to SmileBASIC formatOpen the WAV2SBWAV tool. Select Load WAV and then select the file made earlier. (if the WAV file's length is over 30s, tick Ignore sample count) After it's done writing the data, select Save SBWAV and save it anywhere you want to. To see how to import the file to SB, see this. Make sure the filename starts with B and is UPPERCASE
Known bugs(?) of the tool:
- The tool apparently overwrites the footer a bit, but that really shouldn't be a problem.
- The date is totally wrong. I might change it to use the current time & date.
- Ticking "Ignore sample count" makes it also ignore the sample rate. I haven't tested yet what happens when you play a file like that, but I don't think it'll make the wavplayer library explode/freak out/fly to space.