OnePlus Internal Mic Testing

March 2, 2026 · View on GitHub

Systematic testing of how different address patterns, distances, and configurations affect voice recording quality on the OnePlus Nord 3 5G (CPH2493) internal microphone.

TL;DR — How to Get the Best Voice Recording from Your Phone

Based on measured audio analysis (RMS level, SNR, spectral content) across 24 test configurations:

1. Speak at the screen, not the mic port

Counter-intuitively, addressing the center of the LCD screen produces better balanced audio than speaking directly into the bottom microphone port. The bottom mic (near USB-C) — where most people instinctively aim — actually produced the worst SNR (17.1 dB) of all address patterns. Center/LCD gave a cleaner, more natural sound (SNR 21.0 dB, lower spectral centroid = warmer tone).

2. Keep 10–15cm distance

The sweet spot is 10–15cm from the screen. This distance gives strong SNR (22.7 dB) without the bass boost and distortion that comes from being too close. At 30cm, signal drops off noticeably (SNR 18.4 dB). Touching distance has high SNR but is impractical and clips easily.

3. Use a stand or mount

Handling noise is the single biggest quality killer for phone recordings. Even a basic phone stand (tested with a Ulanzi selfie stick) dramatically reduces low-frequency rumble from hand vibrations. The mount showed good rejection of transferred vibrations too.

4. Your case doesn't matter

No measurable difference between cased and uncased recordings (RMS within 0.3 dB, case actually showed slightly higher SNR). As long as your case has mic port cutouts, use it freely.

5. Stay on-axis

Moving off-axis (45° or more) drops signal by ~4 dB and shifts spectral content. Face the screen when recording.

Address Pattern Comparison

PatternRMS (dBFS)SNR (dB)Spectral CentroidVerdict
Center/LCD screen-26.121.0587 HzBest all-rounder — natural tone, good SNR
Bottom mic (USB-C)-29.017.1673 HzWorst SNR despite being the "obvious" target
Top mic (secondary)-26.525.1792 HzHighest SNR but brighter/thinner sound
Phone-to-ear-23.323.7565 HzLoudest signal but not a practical recording pose

Data Visualizations

SNR by Address Pattern

SNR by Address Pattern

Proximity Effect

Proximity Effect

Case Comparison

Case vs No Case

Full Radar Comparison

Radar

All Segments Heatmap

Heatmap

Test Methodology

  • Device: OnePlus Nord 3 5G (CPH2493) — dual microphone, Qualcomm SM7475
  • Recording: 48kHz stereo WAV via ASR (Android recording app)
  • Processing: All digital controls disabled (no noise cancellation, no AGC)
  • Analysis: 9 metrics per segment (RMS, peak, crest factor, dynamic range, SNR, spectral centroid, spectral rolloff, zero crossing rate, speech ratio)
  • Environment: Untreated room, ambient background noise present

See device-specs.md for full device specifications.

Media Downloads

FileSizeLink
Full report (PDF)755 KBreport.pdf
Analysis video (MP4)52 MBoneplus_mic_test.mp4
Full recording (WAV)99 MBOne Plus audio Testing.wav

The video includes real-time stereo field visualization (Lissajous), L/R level meters, segment labels, and subtitles overlaid on the original audio.

To regenerate the video locally:

python3 generate_video.py

Repository Contents

FileDescription
segments/24 individual WAV clips + JSON metadata + analysis charts
segments/SUMMARY.mdFull analysis report with all metrics and comparisons
segments/analysis.jsonMachine-readable analysis data
segments/summary.csvSpreadsheet-friendly metrics export
segments/charts/7 data visualization charts (PNG)
transcription.mdTimestamped transcription of the full recording
device-specs.mdOnePlus Nord 3 5G specifications
analyze_segments.pyAudio analysis and chart generation script
split_segments.pySegment splitting script
generate_video.pyVideo generation script (subtitles + stereo viz)

Segments

The full recording was split into 24 clips covering different test configurations:

#FilenameDurationDescription
0101_intro.wav2:25Preamble — recording setup and purpose
0202_center_lcd_10cm.wav0:23Center/LCD screen address, ~10cm
0303_bottom_mic_10cm.wav0:25Bottom microphone (primary, near USB-C), ~10cm
0404_top_mic.wav0:11Top microphone (secondary)
0505_proximity_10-15cm.wav0:14Proximity test — 10–15cm from screen
0606_proximity_3cm.wav0:07Proximity test — ~3cm from screen
0707_proximity_touching.wav0:02Proximity test — almost touching screen
0808_proximity_30cm.wav0:10Proximity test — ~30cm comfortable distance
0909_bottom_mic_recap.wav0:04Address pattern 2 recap — bottom mic
1010_top_mic_recap.wav0:04Address pattern 3 recap — top mic
1111_phone_to_ear.wav0:33Phone held to ear — speaking away from mic
1212_phone_to_ear_downward.wav0:06Phone to ear, voice directed downward
1313_return_to_center.wav0:06Return to center address
1414_handling_noise.wav0:24Handling noise test — moving phone, pocket
1515_mount_handling_noise.wav0:42Phone on mount — transferred handling noise
1616_noise_floor.wav0:25Room noise floor profile
1717_case_description.wav0:40Describing the phone case before testing
1818_case_center_lcd.wav0:11With case — center/LCD address
1919_case_bottom_mic.wav0:13With case — bottom mic address
2020_ulanzi_stand_bottom_mic.wav0:21On Ulanzi stand — bottom mic address
2121_ulanzi_stand_center_lcd.wav0:14On Ulanzi stand — center/LCD address
2222_360_walk.wav0:33360° walk around the phone
2323_off_axis_45_left.wav0:0845° off-axis left
2424_off_axis_45_right.wav0:0945° off-axis right