Support controlling the sound or video speed

Is your feature request related to a problem? Please describe.

I generated for cards using HyperTTS. The audios are a bit slow.

However, I can’t dynamically control the playback speed of these sound files ([sound:…]).

Describe the solution you’d like

Allow controlling the sound speed.

Solution 1

Introduce a new tag

Syntax: [sound:<path>][speed:<speed>]

Example: [sound:abra.mp3][speed:0.8]

The speed setting will be applied only if it’s specified without a space after the [sound:...] tag.

This syntax:

  • will allow to specify speed on a per-card level
  • won’t require any changes to add-ons such as HyperTTS that produce [sound:...] tags.

Solution 2

Syntax: [sound:<path>, speed:<speed>]

Example: [sound:abra.mp3, speed:0.8]

Implementation

Add the speed attribute to the SoundOrVideoTag.

Update other relevant code.

Describe alternatives you’ve considered

Speed up .mp3 files using sox or a similar program. However, it’ll be inconvenient to track which files were modified, especially when I add new cards and generate new audios.

In the meantime, something like this might work: Audio Playback Controls