SoLoud audio plugin

That would be really cool to have…

So here’s the break down:
Those two functions (setSpeed, and setPitch) basically wrap around SoLoud’s setRelativePlaySpeed and setSamplerate. To me, they provide the same effect although there’s a difference in how.

I believe, however, the original audio lib does it the same way, where pitch values directly affects the duration of the audio, so I went ahead and put those two in. :slightly_smiling_face:

Now, there has been a request on the official repo to have built-in functionality to change pitch without affecting duration. It’s also commented that this is doable using FFTFilter.

So, to answer your question, I currently don’t know the “how”; I have only spent a little bit of time exploring SoLoud’s other features and functionality, and definitely not yet acquainted with it.

The Solar2D samples of SoLoud have a lot to chew on.

Anyone is welcome to provide insight on their experiments and findings.
I would also love to expand the module’s API facilitating SoLoud’s usage.

1 Like

crashes-20230620.zip (436.7 KB)
@StarCrunch Some crash logs related to the Soloud plugin, from Google Play Console and Bugsnag.

There are too many crashes related to luaD_precall , and I don’t know how to fix them. I had to switch back to using the built-in audio library in Solar2D.

@pickerel I was meaning to ask: do the new Google Play reports (as mentioned in the beginning here, for example) show any more information on those errors? I wasn’t sure if those were retroactive; might need new information.

Also, the new build (of Solar, not this plugin) has a possible fix for audio.onComplete.

SoLoud module has been updated, here’s a brief summary:

  • Changed totalChannels soft cap to 22, down from 32. We’re seeing instances of audio becoming silent when 23 or more channels are used simultaneously.

  • Fixed issue of not being able to stop audio when using stop() and play() in the same frame.

  • Fixed issue where cachedData would be created even when audio fails to load successfully.

  • onComplete callback now passes an event table and includes expected parameters.

  • index property has been added to channel table to be used in the onComplete event table.

  • Reconciled print output into printDebug.

Thanks to everyone for the continued feedback! :slight_smile:

2 Likes

Just pushed another update worth noting:

  • SoLoud’s max active voice count is now set automatically to match the totalChannels soft cap value. This resolves the “silent” issue which was caused by playing more audio streams beyond the current default max voice count of 16.

  • Default totalChannels soft cap is now back to 32, up from 22.

The maximum number of concurrent audio is hard cap at 4095, per SoLoud’s docs.

1 Like