✨ Feature Requests

  • Search existing ideas before submitting- Use support.secondlife.com for customer support issues- Keep posts on-topicThank you for your ideas!
Loudness Normalization
All platforms with user generated content of video/music feature loudness normalization, to prevent sudden volume jumps or differences between content. Loudness normalization adjusts the overall volume of an audio track to match a target standard, which is measured in LUFS (Loudness Units Full Scale). This algorithm evaluates the human perception of average volume across an entire file. Currently residents in Second Life cope by reaching for the sound slider, turning it way down. This kills their shared experience with unbalanced volume. TPVs implemented a Sound Explorer and derender tools to aid in dealing with auditory issues. Loud sounds also travel further, the engine fades sound with distance, so a sound that is twice as loud is heard twice as far away. So every platform with user audio has already solved with this loudness normalization. YouTube and Spotify measure each audio track once and level it. Second Life could do the same. However it is not enough to gate loudness across the entire audio engine -- that is a bandaid that still ruins the shared experience by silencing most sounds across the board towards silence. So what you have to do is fix it from the source, which are the individual sound assets. Ideally users should process sounds in Audacity first with the Loudness Normalization filter and other processing before uploading their asset, but that is an additional tedious step on top of format and other limitations. I've been there and done that. What I am proposing is a Viewer-side only feature: Measure each sound's loudness once, while it is being decoded. The measurement rides inside the existing Vorbis decode loop. A full 30s may only take a single digit ms more off-thread. Store the measurement/correction in a small index in the sound cache Apply the correction as a multiplier on the source gain at play time. The sound is never rewritten, nothing clips or loses bit depth. How much do we correct? Not all the way. A whisper and an explosion are different. So we only apply half the correction. It is also limited so a sound is never turned up more than 12 dB, or down more than 24 dB, and never turned up so far that it distorts. Many SL sounds are under one sec. Loudness is typically averaged over a whole track. This goes wrong on short clips, where silence after the sound gets averaged in. So the sound for a 'click' reads quieter if the creator leaves a longer gap after it. For short clips we measure simply the loudest 400ms of the clip, which gives the same answer however much silence follows. Suggested defaults, all user-adjustable: Target, between -15 to -25 LUFS Strength: 0.5, e.g. half the correction in dB; At full strength every sound lands on exactly the LUFS target -- this means that 50% is closer to creator intent of an uploaded sound Clamp the correct to +12 / -24 dB and cap any boost so the clip's sample peak stays under -1 dBFS. What that means is that transient sounds read far below target while already peaking near full scale, as boosting them to target only drives them into the limiter A toggle in Preferences > Sound I am currently experimenting with this in a private TPV fork ( https://github.com/Martin-Pitt/Alchemy-Skooma/tree/feature-audio/loudness-normalization ), and I also measured every sound in a viewer cache, about 3.5k. Most are already mastered loud, so the usual correction across the board is a gentle turn down. 5/6 sounds come down a little, 1/6 goes up a little. The gap between the loudest and quietest roughly halves. This is really an accessibility feature turned into a good user experience. Like how a significant number of people leave subtitles on YouTube. --- Note I am NOT an audio engineer, I'd really like to hear ones opinion on this, particularly game audio engineer or engineer who has done game accessibility stuff. Expert chiming in and steering this would be a lot better.
0
·
Content Creation
Reselect Previous Object Selection
When a user has selected multiple objects and accidentally deselects them, provide a command and/or keyboard shortcut to restore the immediately previous selection. The viewer could retain the UUIDs of the previous selection until a new selection is made. Why this would be useful: A lot of the time, when moving store content around or building, it is very easy to lose your selection of objects. You can then spend quite a bit of time having to manually re-select everything. It can also happen when moving parts of a build. Sometimes, due to lag, moving something too quickly, or other unexpected behavior, the entire selection can become deselected. If you were working with a large number of objects, you then have to go back and find and select everything again. A “Reselect Previous Selection” option would make building, organizing, and moving content significantly faster and less frustrating. I know you can drag a selection box around objects to select multiple items more quickly, but this isn't always practical. On regions with dense builds, dragging a selection box can select all kinds of unrelated objects. You then have to manually deselect the things you don't want and reselect anything that was missed. Having the ability to simply restore the previous selection would avoid all of this. For example: Select 30 objects > accidentally deselect > press a keyboard shortcut > the same 30 objects are selected again. Even keeping the last 3 selections in a small selection history would be extremely useful for builders, content creators, and residents. Thanks
10
·
Content Creation
·
tracked
Load More
→