A premium, mobile-responsive, dark-themed HTML5 audio player designed for studying CLEP lecture courses on the go. It supports lock-screen media controls, custom loop counts, speed adjustments, and auto-resumes playback precisely where you left off.
This repository houses the player interface and a helper playlist compiler designed to cleanly split audio storage (hosted externally on Cloudflare R2 / S3) from the player code (hosted on GitHub Pages).
0.75x and 2.0x speeds.companion.html) directly from the player settings without interrupting audio playback.index.html: The core player application. 100% self-contained client-side code (HTML, CSS, JS).companion.html: The written study companion containing course notes, diagrams, and reference tutorials.generate_playlist.py: A python script that scans your audio files (either locally or on a remote bucket) and writes the catalog files.about.txt: A metadata text file containing the course Title and Subtitle. Used by the Python generator to dynamically brand the player.playlist.json & playlist.js: Automatically compiled playlist catalogs containing the track order and Cloudflare R2 base URL configuration.1. Log into your Cloudflare account and create an R2 Bucket.
2. Upload your .mp3 files to the bucket.
3. Enable public access (either via a custom domain like https://audio.example.com/ or Cloudflare's free pub- bucket URL).
Edit the about.txt file in your root folder:
Title: Macroeconomics
Sub Title: CLEP Examination Prep Audio
The Python playlist compiler detects your audio files and creates catalog files for the player.
click installed:
pip install click
python3 generate_playlist.py -d "https://audio.epistemicresearch.org/Macroeconomics/"
The generator automatically parses your folder structure (or falls back to scanning your local MP3 filenames if remote directory listing is disabled) and writes out both playlist.json and playlist.js with your embedded R2 URL.
1. Push index.html, about.txt, generate_playlist.py, playlist.js, playlist.json, and companion.html to your GitHub repository.
2. In your repository settings under Pages, enable GitHub Pages to build from your main branch.
3. Your audio player will immediately go live!
This project is built to support offline learning:
index.html directly in your browser (file:/// protocol).playlist.js.*Designed for seamless studying on the go.*