Audio for SL Converter

A tool to quickly convert audio to be suitable for SL upload.

This is an older tool of mine, it's a bit clunky, unfortunately I never kept the source. Still, it does a job!

Audio Converter User Interface

What it does

Feed it an audio file such as an mp3 and it will

  • Normalize the volume to be appropriate for SL
  • Split the audio file into numbered 9.9s .wav segments so they can be uploaded to SL

Enjoy uploading your sounds!

Notices / Disclaimer

ℹ️
This software is in no way affiliated with SecondLife, Linden Lab or OpenSim. It is third party software

Disclaimer

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Acknowledgements

Code is used from the following open source projects:

Download

AudioForSL
MediaFire is a simple to use free service that lets you put all your photos, documents, music, and video in a single place so you can access them anywhere and share them everywhere.

Script

For putting in a sound/music box

integer playing = FALSE;
integer numAudioFiles = 0;
integer position = 0;
default
{
    state_entry()
    {
        llSetText("Click to play", <0.5,0.5,0.5>, 0.5);
    }
    touch_start(integer num_detected)
    {
        playing = !playing;
        if (playing)
        {
            numAudioFiles = llGetInventoryNumber(INVENTORY_SOUND);
            if (numAudioFiles == 0)
            {
                llSay(DEBUG_CHANNEL, "You need to put your sounds in me first!");
                playing = FALSE;
                return;
            }
            llSetText("Preloading, Please Wait", <0.5,0.5,0.5>, 0.5);
            position = 1;
            llSetTimerEvent(9.9);
            llPreloadSound("1");
        }
        else
        {
            llSetTimerEvent(FALSE);
            llSay(0, "Stopping");
            llSetText("Click to play", <0.5,0.5,0.5>, 0.5);
        }
    }
    timer()
    {
        llTriggerSound((string)position, 1.0);
        llSetText("Playing", <0.5,0.5,0.5>, 0.5);
        position = position + 1;
        if (position < numAudioFiles || position == numAudioFiles)
        {
            llPreloadSound((string)position);
        }
        else
        {
            llSetText("Click to play", <0.5,0.5,0.5>, 0.5);
            llSetTimerEvent(FALSE);
            playing = FALSE;
        }
    }
}