|
|
@@ -0,0 +1,48 @@
|
|
|
+# 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 |
|
|
|
+|:---:|:---:|
|
|
|
+|  |  |
|
|
|
+| **EQ Controls** | **Player Panel** |
|
|
|
+|  |  |
|
|
|
+
|
|
|
+## 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`
|