A simple Python application that allows you to record live radio streams from iHeartRadio stations. The application uses the requests
library to stream audio and the pydub
library to combine the downloaded AAC files into a single MP3 file.
- Select a Station: Choose a station from a list of available iHeartRadio stations.
- Start/Stop Recording: Record the live audio from the selected station, and stop the recording when you're done.
- Track Info Display: Displays the current track's title and artist information.
- Cache Management: Shows the size of the audio cache and removes downloaded files after recording.
- File Naming: Automatically saves the recording as an MP3 file named after the station, including the date and time of recording.
- Play Recorded Audio: After recording, you can play back the recorded station audio.
- Python 3.x
requests
pydub
tkinter
(should be installed by default with Python)
-
Clone the repository to your local machine:
git clone https://github.com/Ghosty-Tongue/iHeartRadio-Recorder.git cd iHeartRadio-Recorder
-
Install the required dependencies:
pip install requests pydub
-
Download and install
ffmpeg
(required forpydub
to handle audio formats):- Download ffmpeg from https://ffmpeg.org/download.html.
- Make sure ffmpeg is in your system's PATH.
-
Run the application:
python recorder.py
- Launch the application.
- Select a station from the list of available stations.
- Click on "Record" to start recording the station's live stream.
- Click "Stop" to stop recording. The file will be saved in the current directory with the name
<StationName>_<YYYY-MM-DD_HH-MM-SS>.mp3
. - After recording, the application will provide the option to play back the recorded audio.
You can listen to a sample recorded audio from the application /assets/demo.mp3. This file serves as an example of what your recordings will sound like.
This project is licensed under the MIT License - see the LICENSE file for details.
- Developed by Ghosty Tongue.
- The project uses the
requests
library for HTTP requests andpydub
for audio manipulation.