# Tape Recorder Pro **Tape Recorder Pro** is an advanced PyQt6-based audio application designed to simulate and calibrate analog tape machine recording and playback. Built with a powerful DSP backend using `numpy` and `scipy`, it provides auto-calibrating EQ capabilities, tape saturation emulation, and real-time audio playback and recording. ## Features - **Auto-Calibrating EQ**: Automatically analyze and calibrate your audio signals to match specific frequency responses. - **Tape Simulation**: Accurate emulation of tape saturation and safety filters (High-pass/Low-pass) for various tape types, including Type I (Ferric). - **Comprehensive UI**: A multi-tab interface for device selection, calibration, EQ visualization, and media playback. - **Real-time Processing**: Built on `sounddevice` for low-latency, real-time audio routing and processing. ## Screenshots Here's a look at the application's interface: | Devices Setup | Calibration | |:---:|:---:| | ![Devices Setup](assets/screenshot1.png) | ![Calibration](assets/screenshot2.png) | | **EQ Controls** | **Player Panel** | | ![EQ Controls](assets/screenshot3.png) | ![Player Panel](assets/screenshot4.png) | ## Installation 1. Ensure you have Python 3.8+ installed. 2. Install the required dependencies: ```bash pip install -r requirements.txt ``` ## Usage To launch the application, run the `main.py` script from the project root: ```bash python main.py ``` ### Application Tabs: - **🔊 Devices**: Select your input and output audio devices. - **📐 Calibrate**: Run the auto-calibration sequence to generate accurate EQ bands. - **🎚️ EQ**: View and manually adjust the active EQ bands and saturation levels. - **▶️ Player**: Play back audio files and apply the tape processor in real-time. ## Dependencies - `sounddevice` - `numpy` & `scipy` - `soundfile` & `pydub` - `PyQt6` & `pyqtgraph`