-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
This guide will help you get up and running with Qrew quickly.
Before using Qrew, ensure you have:
-
VLC Media Player installed
- Required for audio playback
- Download from: https://www.videolan.org/vlc/
-
REW (Room EQ Wizard) with API license
- Required for measurements
- Download from: https://www.roomeqwizard.com/
- API license required (available with REW Pro)
-
Audio Interface properly configured
- Multi-channel output capability
- Calibrated measurement microphone
- Launch REW first
- Go to Preferences → API
- Enable "Allow API Access"
- Note the API port (default: 4735)
For Qrew to calculate Signal-to-Noise Ratio (SNR) and Signal-to-Distortion Ratio (SDR) values that match REW's internal calculations, you must configure REW's impulse response handling:
- Go to Preferences → Analysis
-
In the "Impulse response calculation" section:
- Set "Keep full IR" (retain entire impulse response)
- This prevents REW from truncating the impulse response data
Why this matters:
- REW normally truncates impulse responses to ~1.7-2 seconds after the peak to save storage space
- SNR and SDR calculations require analysis of the noise floor in regions before and after the main impulse
- Truncated responses don't provide enough pre-peak data for accurate noise floor analysis
- "Keep full IR" preserves the complete impulse response, enabling proper SNR/SDR calculation
Note: This will create larger measurement files and slower processing, but is essential for Qrew's quality scoring system to work correctly.
From GitHub Releases (Recommended):
# Download the wheel file from GitHub releases
# Example: qrew-1.0.0rc1-py3-none-any.whl
pip install qrew-1.0.0rc1-py3-none-any.whlFrom PyPI (when available):
pip install qrewqrew- Qrew will automatically detect REW
Before starting measurements, you need to prepare sweep files for each channel you want to measure.
Qrew uses a specific naming convention to automatically detect which sweep file corresponds to each speaker channel:
Format: [prefix]-[description]-[CHANNEL].[extension]
Supported Extensions: .mp4, .mlp, .wav
Examples:
-
sweep-log-FL.mp4(Left channel) -
measurement-sine-FR.mp4(Right channel) -
test-chirp-C.mlp(Center channel) -
audio-sweep-SLA.wav(Left Surround) -
my-test-signal-LFE.mp4(Subwoofer)
Common channel identifiers that Qrew recognizes:
| Channel | Code | Example Filename |
|---|---|---|
| Left | FL |
sweep-FL.mp4 |
| Right | FR |
sweep-FR.mp4 |
| Center | C |
sweep-C.mp4 |
| Left Surround | SLA |
sweep-SLA.mp4 |
| Right Surround | SRA |
sweep-SRA.mp4 |
| Left Back | SBL |
sweep-SBL.mp4 |
| Right Back | SBR |
sweep-SBR.mp4 |
| LFE/Subwoofer |
LFE or SW1
|
sweep-LFE.mp4 |
| Top Front Left | TFL |
sweep-TFL.mp4 |
| Top Front Right | TFR |
sweep-TFR.mp4 |
| Top Rear Left | TRL |
sweep-TRL.mp4 |
| Top Rear Right | TRR |
sweep-TRR.mp4 |
- Click "Load Stimulus File" in Qrew
- Qrew automatically scans the same directory for all sweep files
- Channel detection: Uses regex pattern matching to identify the channel from the filename
- Validation: Only files with recognized channel names will be available for measurement
-
Channel identifier must be immediately before the file extension
- ✅ Good:
my-sweep-FL.mp4 - ✅ Good:
test-signal-SLR.mlv - ❌ Bad:
L-sweep-test.mp4(channel not at end) - ❌ Bad:
sweep-L-extra.mp4(text after channel)
- ✅ Good:
-
All sweep files should be in the same directory
-
Use consistent file extensions (
.mp4,.mlp, or.wav) -
Ensure you have sweep files for all channels you plan to measure
- Organize by system: Keep sweep files for each speaker system in separate folders
-
Use descriptive prefixes:
log-sweep-FL.mp4vssine-sweep-FL.mp4 - Check before measuring: Verify all needed channels appear in Qrew's channel selection
- Consistent levels: Ensure all sweep files have the same output level
- Click the gear icon for Settings
- Verify VLC backend is selected, show gui or not, can use auto(Qrew detects whats installed), libvlc backend(minimal gui/non-gui player), or subprocess(VLC app gui/non-gui player)
- Configure your speaker layout, or manually select speakers you will measure
- Choose which speaker channels to measure
- Common configurations:
- Stereo: FL, FR
- 5.1: FL, FR, C, SLA, SRA, SW1
- 7.1.4: Add SBL, SBR, TFL, TFR, TRL, TRR
- Click "Start Measurement" to begin
- Qrew will guide you through each position
- Move the microphone when prompted
- Position Dialog: Tells you where to place the microphone
- Automatic Sweep: Plays test signal through each speaker
- Quality Check: Evaluates measurement quality
- Next Position: Guides you to the next location
After completing your measurements, Qrew offers powerful post-processing options that leverage REW's advanced analysis capabilities to improve your data quality and prepare measurements for further analysis.
What it does: Cross correlation alignment time-aligns measurements from different microphone positions to compensate for small timing differences that can occur during measurement.
How it works:
- Qrew automatically uses Position 0 as the reference measurement
- All other positions (1, 2, 3, etc.) are time-aligned to match Position 0
- REW performs the cross-correlation analysis to find the optimal time offset
- Each channel is processed independently
When to use:
- After measuring multiple microphone positions
- When you notice timing inconsistencies between positions
- Before vector averaging to ensure proper phase alignment
Process:
- Select the channels you want to align
- Choose "Cross Correlation Only" or "Cross Corr + Vector Average"
- Qrew processes each channel separately, aligning all positions to Position 0
- Results are saved as new aligned measurements in REW
What it does: Vector averaging combines measurements from multiple positions into a single averaged response while preserving phase information.
How it works:
- Takes aligned measurements from all positions for a channel
- Performs complex averaging (magnitude + phase) rather than simple magnitude averaging
- Creates a single representative measurement that reduces the effects of room modes and standing waves
- Maintains phase coherence for accurate impulse response data
Benefits:
- Reduces measurement noise and room artifacts
- Creates smoother, more representative frequency responses
- Provides better data for downstream processing tools
- Maintains phase information for time-domain analysis
Process:
- Ensure measurements are cross-correlation aligned first (recommended)
- Select channels for vector averaging
- Choose "Vector Average Only" or "Cross Corr + Vector Average"
- Qrew creates new vector-averaged measurements in REW
Recommended workflow: This combines both processes for optimal results:
- Cross Correlation Alignment: Time-aligns all positions to Position 0
- Vector Averaging: Creates averaged responses from aligned measurements
Process flow:
- Qrew processes each selected channel individually
- For each channel: Position 0, 1, 2, 3... → Cross Corr Align → Vector Average
- Results in one high-quality averaged measurement per channel
The processed measurements are ideal for use with professional analysis tools:
OCA (ObsessiveCompulsiveAudiophile/ A1EvoAcoustica) - GitHub:
- Import vector-averaged responses for detailed analysis
- Use aligned measurements for multichannel optimization
- Audyssey-based Sound Optimization Tool for Denon/Marantz AVRs
REW Advanced Analysis:
- Use processed measurements for EQ filter design
- Room correction with higher confidence
- Improved visualization and analysis
Channel Selection: Qrew automatically identifies which measurements belong to each channel and position based on the naming convention (e.g., FL_pos0, FL_pos1, FL_pos2).
Position Sorting: Measurements are automatically sorted by position number and measurement uuid, ensuring Position 0 is always used as the reference for alignment.
Quality Preservation: Both cross correlation and vector averaging preserve the full frequency and phase information from your original measurements.
Processing Order: When using combined mode, cross correlation alignment is always performed first, followed by vector averaging of the aligned results.
Qrew automatically evaluates each measurement using a comprehensive 100-point scoring system that combines multiple acoustic metrics. This helps you identify which measurements are reliable for analysis and which may need to be retaken.
- PASS (≥ 70 points): Measurement meets professional standards and is suitable for analysis
- CAUTION (50-69 points): Usable measurement but may need verification or careful consideration
- RETAKE (< 50 points): Measurement quality insufficient for reliable analysis
The 100-point score is built from eight key metrics, each weighted according to its importance for loudspeaker analysis:
- Range: 20-75 dB
- Purpose: Ensures measurements aren't noise-limited
- Good: ≥ 60 dB for most analysis
- Excellent: ≥ 70 dB for critical work
- Range: 20-55 dB
- Purpose: Indicates clean signal path and low artifacts
- Good: ≥ 40 dB for general analysis
- Excellent: ≥ 50 dB for precision work
- Range: 0-2% THD
- Purpose: Primary distortion metric for loudspeaker linearity
- Good: ≤ 1% for most speakers
- Excellent: ≤ 0.5% for high-end drivers
- Range: 0-10% THD
- Purpose: Identifies resonances, breakup modes, or clipping
- Good: ≤ 3% narrow-band spikes
- Watch for: Spikes > 5% indicating driver issues
- Range: 0-15% THD (below 200 Hz)
- Purpose: Bass drivers typically have higher distortion
- Good: ≤ 5% for subwoofers, ≤ 3% for woofers
- Acceptable: Up to 8% for very low frequencies
- Range: 0-1.0 ratio
- Purpose: Odd harmonics (H3) are more audible than even (H2)
- Good: H3/H2 ≤ 0.5
- Based on: IEC 60268-21 standards
- Range: 0.90-0.99
- Purpose: Indicates measurement repeatability and system linearity
- Good: ≥ 0.95 for most analysis
- Excellent: ≥ 0.98 for precision work
- Range: 35-55 dB
- Purpose: Time-domain quality independent of frequency analysis
- Good: ≥ 45 dB for clean impulse response
- Excellent: ≥ 50 dB for time-domain analysis
Scoring Method: Each metric uses linear scaling within its specified range. For distortion metrics (THD, harmonic ratios), inverse scaling is applied so lower values receive higher scores.
Frequency Bands:
- Broadband analysis: 20 Hz - 20 kHz
- Low-frequency analysis: 20 Hz - 200 Hz
- Coherence: Calculated using Welch's method
THD Calculation: Includes both harmonic distortion and noise floor contributions (THD+N) for REW compatibility.
High Scores (80-100):
- Professional-grade measurements
- Suitable for critical analysis
- Excellent for filter design and room correction
Good Scores (70-79):
- Reliable for most applications
- Minor issues don't affect overall quality
- Suitable for general analysis
Caution Scores (50-69):
- Review specific metrics that scored low
- May be usable depending on application
- Consider environmental factors (noise, room)
Low Scores (< 50):
- Check measurement setup
- Verify speaker and microphone connections
- Look for clipping, noise, or room interference
- Retake measurement after addressing issues
Low SNR: Check room noise, microphone gain, speaker level High THD: Verify no clipping, check speaker condition, reduce levels Poor Coherence: Ensure stable conditions, check for interference Low Peak-to-Noise: Verify microphone positioning, check for reflections
The scoring system helps ensure your measurements meet the quality standards needed for accurate loudspeaker analysis and room correction work.
- Ensure room is quiet during measurements
- Use a calibrated measurement microphone
- Keep microphone cable away from speakers
- Allow speakers to warm up before measuring
- Use consistent microphone height across positions
- Always use cross correlation alignment before vector averaging
- Measure at least 3-4 positions per channel for effective averaging
- Verify Position 0 is your most representative measurement location