Skip to main content

Audio Extract

audio-extract is a Python library that allows you to extract audio from video files and trim the audio according to your needs

Description

audio-extract is a Python library that allows you to extract audio from video files and trim the audio according to your needs. You can use it to create audio clips from movies, podcasts, or any other video source. It supports various audio and video formats, such as MP3, WAV, OGG, MP4, AVI, and MKV.

Installing

  • Install from Pypi:
pip install audio-extract
  • Install from GitHub:
pip install git+https://github.com/riad-azz/audio-extract.git

Getting Started

AudioExtract - Info

The application is pretty straightforward all you need is to import the extract_audio function. The function args:

  • input_path : The path to the input (Video/Audio) file.

  • output_path: The path to the extracted audio file. The default value is ./audio.mp3.

  • output_format: The format of the extracted audio. The default value is mp3.

  • start_time: The start time of the output in HH:MM:SS or MM:SS format. The default value is 00:00:00.

  • duration: The duration of the extracted audio in seconds (float). The default value is None which means full audio will be extracted if start_time is set to 00:00:00.

  • overwrite: Whether to overwrite the output file if it already exists or not. The default value is False.

The supported file formats:

  • Supported audio formats : WAV, OGG, MP3, AAC, FLAC, M4A, OGA, OPUS

  • Supported video formats : MP4, MKV, WEBM, FLV, AVI, MOV, WMV, M4V

Executing the program

Extract full audio:

from audio_extract import extract_audio

extract_audio(input_path="./video.mp4", output_path="./audio.mp3")

This will create a mp3 file called audio.mp3 that contains the full audio of the video file video.mp4.

Extract sub clip audio:

from audio_extract import extract_audio

extract_audio(input_path="./video.mp4",
              output_path="./audio.mp3",
              start_time="00:30",
              overwrite=True)

This will create a mp3 file called audio.mp3 that starts after the first 30 seconds of the video file video.mp4 and will overwrite audio.mp3 file if it already exists.

Extract sub clip audio with custom duration

from audio_extract import extract_audio

extract_audio(input_path="./video.mp4",
              output_path="./audio.mp3",
              start_time="00:25",
              duration=15.0)

This will convert video file video.mp4 to a mp3 file starting from 00:25 to 00:40 called audio.mp3 that will have a duration of 00:15.

Trim audio:

from audio_extract import extract_audio

extract_audio(input_path="./audio.mp3",
              output_path="./new_audio.mp3",
              start_time="00:05",
              duration=20.0)

This will trim the audio.mp3 file starting from 00:05 to 00:25 to a mp3 file called new_audio.mp3 that will have a duration of 00:20.

Running Command-Line-Interface

CLI Arguments

The following cli arguments are supported:

  • --input or -i : The path to the input (Video/Audio) file.

  • --output or -o : The path to the extracted audio file. The default value is ./audio.mp3.

  • --format or -f : The format of the extracted audio. The default value is mp3.

  • --start-time or -st : The start time of the output in HH:MM:SS or MM:SS format. The default value is 00:00:00.

  • --duration or -d : The duration of the extracted audio in seconds (float), The default value is None which means full audio will be extracted if start_time is set to 00:00:00.

  • --overwrite or -ow : Whether to overwrite the output file if it already exists or not. The default value is False.

CLI Usage Example:

Here is an example of using the CLI to extract audio:

audio-extract --input="./video.mp4" --output="./audios/extracted_audio.wav" --format="wav"

This command will extract the full audio starting from video.mp4 to a wav file called extracted_audio.wav and will be saved to the folder ./audios/. The folder will be automatically created if it doesn't exist.

Authors

Riadh Azzoun - @riad-azz

License

This project is licensed under the [MIT] License - see the LICENSE.md file for details

Metadata

Release files for audio-extract 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for audio-extract 0.7.0
File Size Uploaded Provenance
audio_extract-0.7.0.tar.gz 7.0 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for audio-extract 0.7.0
File Interpreter ABI Platform
audio_extract-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.5 kB

Release files / audio_extract-0.7.0.tar.gz

Download URL audio_extract-0.7.0.tar.gz
Size 7.0 kB
Tags Source
SHA-256 checksum
How to use checksums
bf8d5f48146e2d4d15778a26cede57b303f465f299621539118448bc22100dbb
BLAKE2b-256 checksum
How to use checksums
767be2d7b3bb9005efe3c1307f512c0f37572c067187c6690080b1ae9b2c9ac5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Release files / audio_extract-0.7.0-py3-none-any.whl

Download URL audio_extract-0.7.0-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
44495569a86e46a94d1606214d39abebc30db59ed207b8b900787c2e844a887d
BLAKE2b-256 checksum
How to use checksums
b2855433110bf0eb71151782694098b818b4f0b26fd2992623881694fd8a6a09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.2

Security for audio-extract 0.7.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page