This Python Command-Line application assists in helping you wake up for Fajr prayer by providing automatically selected verses + explanations from the Quran after a set alarm time along with a soothing Islamic prayer fade-in and fade-out from Mishari bin Rashid Alafasy. The program uses the Quran Module to obtain Quran verses in English as well as OpenAI's API GPT models to produce corresponding Tafsir (explanation).
- Plays Alafsay's Quran recitation audio for user-selected Surah (default is Surah Al-Fathiha) from Tahfeem
- Includes option to play Alafsay's Quranic recitation with its corresponding English translation obtained from The Chosen One
- Plays the downloaded audio after a user-specified countdown time (i.e. 10s, 15m, 7h), with volume gradually fading in.
- Option to select and display a Name of Allah and provide corresponding explanation of its meaning with the GPT API
- Displays automatically selected verses from the Quran and provides corresponding explanations.
- Depending on the length of the countdown, one, two, or three verses will be selected for display
- After each explanation, the program waits for the user to press Enter before proceeding.
- Once all explanations are provided, the audio volume gradually fades out over a 5-second period.
FFmpeg is a necessary dependency for this package in order to play audio mp3 files. Follow the instructions below based on your operating system:
If you have Anaconda or Miniconda installed, you can install FFmpeg using the following command:
conda install -c conda-forge ffmpeg
- Go to the FFmpeg official download page and download the Windows version.
- Extract the ZIP archive.
- Add the path to the
bin
directory (whereffmpeg.exe
is located) to your system's PATH variable.
Using Homebrew (recommended):
brew install ffmpeg
Or follow the manual installation process similar to Windows by downloading from the FFmpeg official site.
Using the package manager:
sudo apt install ffmpeg
For other Linux distributions, adjust the command according to your package manager.
- Clone repo and install packages (for developers):
git clone https://github.com/malekinho8/quran-wake-up.git pip install -r requirements.txt pip install .
- Alternatively, install one dependency manually and
fajrGPT
through PyPI:pip install git+https://github.com/malekinho8/quran-module.git fajrGPT
- Run the main.py script, passing the required parameters:
fajrGPT --countdown-time <Seconds, Minutes, or Hours until Alarm> --surah <Which Surah (number) to play for the alarm, default is 1>
--countdown-time
: The amount of time
- Python 3.x
click
pygame
pydub
moviepy
openai
scipy
mutagen
TheQuranModule
- The OpenAI API key must be set in an environment variable named
OPENAI_API_KEY
. See instructions here for more details.