# Mesh Candidate MBR1 · Balanced Recovery ## 결론 `MBR1`은 `Mesh Default(B0)`의 55 dB 약점을 보완하기 위한 **다중 파라미터 시험 후보**다. 제품 preset이 아니다. ```properties persist.vendor.audio.sndflow.vol=0.35 persist.vendor.audio.sndflow.krdm.eq_filter=0,1800,0.75,1.4;0,3000,0.35,1.8 ``` `kws.sensitivity`와 `pre_filter`는 B0 상태를 유지한다. B0에서 미설정이었다면 MBR1에서도 설정하지 않는다. ## 왜 이 조합인가 ### 원본 Mesh Default에서 확인된 사실 - KWS는 55/60/65/70 dB 모두 5/5, 합계 20/20이다. - 평균 STT SBR은 Mesh Default가 Original Default보다 2.11 dB 높다. - 약점은 55 dB에 집중된다. SBR은 Original Default보다 1.94 dB 낮고 dropout은 4.89%다. - 60–70 dB에서는 Mesh Default의 SBR이 Original Default보다 각각 3.60/3.65/3.12 dB 높다. - raw Mic 발화 RMS는 Mesh Default가 Original Default보다 평균 약 1.68 dB 높다. 현재 녹음에서는 Mesh가 전체 음성 RMS를 일괄적으로 낮췄다고 볼 수 없다. - Mesh Default의 70 dB headroom은 10.46 dBFS라 추가 gain 여유가 작다. ### 파라미터 선택 | 항목 | MBR1 | 선택 이유 | |---|---|---| | `vol` | `0.35` | 코드 기본값 0.30과 실패한 Template A 0.40의 중간값이다. 55 dB 반응만 소폭 복원하고 70 dB headroom 위험을 제한한다. | | 1.8 kHz BELL | `+0.75 dB, Q1.4` | M1보다 적극적이지만 Template A의 +2 dB/Q1보다 낮고 좁다. 음성 명료도 대역을 완만하게 보강한다. | | 3 kHz BELL | `+0.35 dB, Q1.8` | 자음 단서를 소폭 보강한다. Template A의 +1 dB/Q1보다 gain을 낮추고 폭을 좁혀 노이즈·거칠음 위험을 제한한다. | | `pre_filter` | B0 유지 | Mesh가 이미 입력 noise RMS를 1.78 dB 낮췄고 실제 wind 자료가 없다. HP2를 추가하면 55 dB 저레벨 음성을 더 얇게 만들 수 있다. | | `kws.sensitivity` | B0 유지 | KWS가 이미 20/20이므로 감도를 올릴 근거가 없다. 실제 motor/wind FAR 검증 전에는 변경하지 않는다. | Template A와 비교하면 volume은 `0.40→0.35`, 1.8 kHz BELL은 `+2/Q1→+0.75/Q1.4`, 3 kHz BELL은 `+1/Q1→+0.35/Q1.8`로 완화했다. HP2와 KWS sensitivity 강제값은 제거했다. 16 kHz 표준 peaking-EQ biquad로 계산한 합성 응답의 예상 최대 boost는 Template A 약 `2.42 dB`, MBR1 약 `0.81 dB`다. 1 kHz 예상 boost도 약 `0.83→0.18 dB`로 줄어들어, 기존 1 kHz tone 제거력 열화를 반복할 위험을 낮춘다. 실제 Kardome 응답은 반드시 WAV로 다시 측정한다. ## 시험 순서 MBR1은 두 property가 함께 바뀌는 최적화 bundle이므로 B0와 직접 ABBA 비교한다. ```text A1: B0 Mesh Default B1: MBR1 B2: MBR1 A2: B0 Mesh Default ``` ### 1차 빠른 선별 - 55 dB와 70 dB만 먼저 시험한다. - KWS는 조건·레벨별 15회. - STT 고정 문장 20개를 레벨별 2회. - 1 kHz tone과 clean은 각 60초. 다음 중 하나면 전체 시험 전에 중단한다. - 70 dB headroom이 10 dBFS 미만 - 출력 noise floor가 B0보다 1 dB 초과 - KWS가 어느 레벨에서든 14/15 미만 - dropout이 1% 초과 - 1 kHz 제거력 손실이 2 dB 초과 ### 2차 전체 시험 - KWS: 55/60/65/70 dB, 조건·레벨별 30회. - STT: 고정 문장 20개, 레벨별 3회, decoder WER/CER 포함. - motor RPM, fan PWM, wind 1/3/5 m/s, pink noise를 각 300초. - `sndflow_mic`, `sndflow_outkardome`, `sndflow_outuser`, logcat, getprop을 모두 보존한다. ## 승격 기준 - 55 dB SBR이 B0보다 개선되고 dropout이 1% 이하일 것. - 60–70 dB SBR과 WER/CER가 B0보다 악화되지 않을 것. - KWS가 각 레벨 29/30 이상이고 B0보다 낮지 않을 것. - 출력 noise floor 증가는 +1 dB 이하일 것. - 1 kHz 제거력 손실은 2 dB 이하일 것. - 70 dB headroom은 10 dBFS 이상일 것. - 실제 motor/fan/wind false accept가 B0보다 증가하지 않을 것. MBR1이 실패하면 gain을 더 올리지 않는다. `vol=0.35`와 두 BELL 중 어느 쪽이 원인인지 분리하기 위해 B0 대비 vol-only와 EQ-only로 되돌아간다.