About this project
# onerec
onerec is a simple, portable Windows application designed to record meetings by capturing and mixing audio from two sources: a microphone input and the system's output device (e.g., speaker or headphones). The result is saved as a single mixed MP3 file.
## Key Features
- **Dual Audio Capture**: Simultaneously records from a selected microphone and the playback device.
- **MP3 Encoding**: Uses LAME for high-quality encoding with multiple preset options:
- **Meeting**: 8 kbps, 8 kHz mono (~4 MB/hour).
- **Voice**: 24 kbps, 16 kHz mono.
- **Compact/Standard/High**: 128/192/320 kbps at 48 kHz stereo.
- **Native UI**: Built with Win32 controls, featuring real-time audio meters (dBFS, silence, clipping), a timer, and support for Per-Monitor V2 DPI scaling and high-contrast modes.
- **Portable**: No installation required; runs as a standalone executable. Settings are stored in `onerec.ini` next to the binary.
- **Efficient Recording**: Internal capture/mixing runs at 48 kHz stereo. Temporary takes are converted to the chosen quality during write-out.
## How to Use
1. Run `onerec.exe`.
2. Select your **microphone** and **output device** (the one playing the meeting audio).
3. Choose an **MP3 quality** preset before starting.
4. Click **Start recording** or press `Ctrl+Shift+R`.
5. Monitor the audio levels and elapsed time.
6. Click **Stop recording** or press `Ctrl+Shift+R` again.
7. Click **Save recording…** to save the file. A dated filename is suggested.
8. Optionally click **Open folder** to locate the saved file.
If you cancel the save dialog, the recording remains in memory until you choose to save it again or discard it. You cannot start a new recording until the current take is saved or discarded.
## Technical Details
- **Platform**: Windows 10+ (x64).
- **Build**: Rust-based. Requires Windows SDK for resource compilation (`rc.exe`).
- **Testing**: Run `cargo test`. On Windows, use `cargo run --example probe` to list devices and test recording.
- **Dependencies**: Statically linked LAME 3.100.
## Build Instructions
```powershell
cargo build --release
./target/release/onerec.exe
```
Set the `ONEREC_RC` environment variable if `rc.exe` is not in the default path.
## License & Attribution
This tool is open-source. The icon is derived from assets provided in the repository (`assets/onerec.ico`).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.