Skip to main content

Awdible - Just the best free version of audible

Project description

image License: GPL v3 Python Repo Size PEP8 Poetry Coverage Tests Statics Doc Pypi GitHub commit activity

Awdible - Just the best free version of audible

About

Awdible is a free and open-source software, app and python package that allows you to download music from youtube and convert it to mp3.

The idea is to provide a free version of audible.

Key Features

  • Download music / audiobook from youtube
  • Convert music / audiobook to mp3 / wave / flac (...) need ffmpeg installed
  • Automaticly crop a long audio file to a specific duration ie 60 minutes
  • Find music / audiobook from a list of songs / audiobook names : Waka Waka, Happy, Harry potter and the philosopher's stone, (...) need specific api keys
  • Add specfic context about a file such as live, album, or title

Installation

Using regular pip and venv tools :

python3 -m venv .venv
source .venv/bin/activate
pip install awdible

Third party dependencies

FFmpeg

Please note that you should to have ffmpeg installed on your system to use certain features of Awdible.

On Ubuntu, Debian, Linux Mint (...) you can install it with the following command :

sudo apt update
sudo apt install ffmpeg -y 

On fedora, Red Hat, CentOS (...) you can install it with the following command :

sudo dnf install ffmpeg

On MacOs, you can install it with the following command :

brew install ffmpeg

Please check that the ffmpeg command is available in your terminal.

ffmpeg -version

If you have any issues with ffmpeg, please visit the ffmpeg website.

It is possible not to have ffmpeg installed but in such case, you will not be able to convert the downloaded files to mp3, wave, flac, etc.

External api

Some features of Awdible require external api keys, specially the -s option.

you must have a set up your youtube rapid api account.

You need to add in your environment variables or export directly from a terminal the following :

export RAPID_API_KEY="*********"
export RAPID_API_HOST="youtube-data8.p.rapidapi.com"

Internet connection

Last but not least, Please not that a valid internet connection is required to use Awdible.

Usage

Local

As executable

Standard usage, download and convert to mp3 :

awdible [youtube-url] 

Specify a destination folder :

awdible -d my/dest [youtube-url]

Specify a file list song / audibooks urls and specify destination folder :

awdible -f my_file.txt -d my/dest

The my_file.txt file must contain one youtube url per line. my_file.txt example :

https://www.youtube.com/watch?v=3y5A4paFOb4
https://www.youtube.com/watch?v=3y5A4paFOb4
https://www.youtube.com/watch?v=3y5A4paFOb4

Specify a file list song / audibooks ids and specify destination folder :

awdible -f my_file.txt -d my/dest -p

The my_file.txt file must contain one youtube id per line. my_file.txt example :

3y5A4paFOb4
3y5A4paFOb4
3y5A4paFOb4

Specify a file list song / audiooks names (not just yourube url) and specify destination folder :

awdible -f my_file.txt -s -d my/dest

The my_file.txt file must contain one youtube id per line. my_file.txt example :

waka waka shakira
Stand by me
Somewhere over the rainbow

⚠️ WARNING ⚠️

Please note that for the -s option, you must have a set up your youtube rapid api account.

You need to add in your environment variables or export directly from a terminal the following :

export RAPID_API_KEY="*********"
export RAPID_API_HOST="youtube-data8.p.rapidapi.com"

As library

from awdible import Awdible

url = "https://www.youtube.com/watch?v=3y5A4paFOb4"
awdible = Awdible(url)
awdible.run()

# or

urls = [
    "https://www.youtube.com/watch?v=3y5A4paFOb4",
    "https://www.youtube.com/watch?v=3y5A4paFOb4",
    "https://www.youtube.com/watch?v=3y5A4paFOb4"
    ]

awdible = Awdible(urls)
awdible.run()

As web app

Launch local streamlit :

awdible gui 

On line

The on line web app is temporarily unavailable.

It will be available in the 0.3.0 release.

Documentation

Please visit Documentation page.

Updates

Please visit the :

Contributing

Awdible is an open-source project and we are always looking for more people to contribute to its development.

It could be by adding new features, fixing bugs, improving the documentation, or any other way you see fit.

Any help is welcome, and we will do our best to help you get started.

Any feedback is also welcome.

Please visit Contributing page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

awdible-0.2.5.tar.gz (30.6 kB view details)

Uploaded Source

Built Distribution

awdible-0.2.5-py3-none-any.whl (33.7 kB view details)

Uploaded Python 3

File details

Details for the file awdible-0.2.5.tar.gz.

File metadata

  • Download URL: awdible-0.2.5.tar.gz
  • Upload date:
  • Size: 30.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.3 Linux/6.5.0-17-generic

File hashes

Hashes for awdible-0.2.5.tar.gz
Algorithm Hash digest
SHA256 8e8b15d18a5326a6bb77f854a2d6300f91b415373c53124a83dd93526ef94e14
MD5 8898e514e2610df3011ede6a5c10765a
BLAKE2b-256 11dfc3c0deda918021bb978b94d71c47020d19150551001b26395529241a73bc

See more details on using hashes here.

File details

Details for the file awdible-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: awdible-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 33.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.0 CPython/3.11.3 Linux/6.5.0-17-generic

File hashes

Hashes for awdible-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 010a8605d871cc49e031651cb5d23bec7e32dd35f95d3e5d9e308e6e64d326ed
MD5 57a95ecc92adf8f7a81c15eeb7e7d382
BLAKE2b-256 b9f6815efade15ebe0ec06677675eefef3985d9d66f2dbc8173abfb4f61770a8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page