A small package to stretch audio
Project description
simpleaudiostretch
A simple python package to stretch audio files and change their speed.
Installation
You can install the package by running the command pip install simpleaudiostretch
Features
- Supports many different audio formats, including mp3, wav, and also raw audio data in the form of numpy ndarrays.
- Its really fast, especially when working with raw audio data.
Documentation
The full documentation for this package can be found here.
Usage/Examples
Python
This is an example on how you might use this library
In this example we take a file called song.mp3
and make it twice as long:
import simplestretch
# A factor of 2 means the song becomes twice as long
simplestretch.stretch_audio("song.mp3", 2, "out.wav")
You might also have the raw audio data, in which case you could do the following:
import simplestretch, soundfile
# In this example we use soundfile to get the audio data
# But you can use any numpy ndarray representing audio
audio_data, samplerate = soundfile.read("song.mp3")
# When working with raw audio data
# You will also need to pass the audio's sample rate to the function
simplestretch.stretch_audio(audio_data, 2, output="out.wav", samplerate=samplerate)
You can also work with changes in speed rather than changes in length through the speedup_audio
method:
import simplestretch
# In this example we make the song twice as fast rather than twice as long
simplestretch.speedup_audio("song.mp3", 2, "out.wav")
CLI
You can also use the command line interface to stretch your audios, through the simplestretch
command.
Required Arguments
Short | Long | Description | Type |
---|---|---|---|
-a |
--audio |
Path to the audio file | String |
-f |
--factor |
Factor for the change in audio length/speed | Float |
-o |
--output |
Path for the output file | String |
Optional Arguments
Short | Long | Description | Type |
---|---|---|---|
-s |
--speed |
Use this flag to target audio speed instead of length | Boolean |
Example Commands
To stretch an audio file to 1.5 times its original size and save it:
simplestretch -a path/to/audio/file -f 1.5 -o path/to/output/file
To speed up an audio file to 2 times speed and save it:
simplestretch -a path/to/audio/file -f 2 -o path/to/output/file -s
Support
If you have any issues using this package or would like to request features, you can open an issue or contact me through my discord!