2026-10-02 — Kardome 1.1.17 vs 1.1.18 임시 echo 비교
전체 자료의 출처, 계산 절차, 자료군별 그래프와 사용자의 Ding echo 체감 관찰은 Echo 테스트 데이터 전체 분석에서 확인할 수 있다.
이번 실제 사용 판단: 사용자는 v1.1.18에서 Ding 효과음 echo가 많이 줄었다고 보고했다. 같은 명령 녹음에서 출력 RMS도 v1.1.17의 −83.54 dBFS에서 v1.1.18의 −86.51 dBFS로 2.97 dB 낮아졌다. 한편 MIC 대비 출력 레벨 차이는 34.96 dB에서 39.41 dB로 4.45 dB 커졌다. 39.41 dB는 출력 음량이 아니라 MIC와 출력의 차이이므로, 값이 클수록 출력이 더 작다는 뜻이다. 체감과 측정 신호가 같은 방향이어서 현재 Ding 사용에서는 v1.1.18이 더 나은 선택이라고 판단한다. 이 한 쌍은 Ding만 따로 반복 측정한 결과가 아니며, v1.1.16 녹음은 없어 v1.1.17을 임시 비교 기준으로 사용했다.
같은 명령 분류의 동기화 캡처
두 WAV는 모두 16 kHz, 8채널 float32 sndflow_allinout이다. 채널 순서는 MIC 4ch → REF 2ch → Kardome 출력 1ch → user 출력 1ch다. 두 파일의 공기청정기 켜줘 폴더 항목을 짝지었고, REF 두 채널 평균 RMS가 기준보다 큰 250 ms 창만 선택했다. 별도 dump 파일은 시간 오프셋이 검증되지 않아 계산에 쓰지 않았다.
| 동일 명령 비교, 폴더 분류 기준 | v1.1.17 | v1.1.18 | 변화 (1.18 − 1.17) |
|---|---|---|---|
REF RMS, gate > 0.01 |
0.025305 (−31.94 dBFS) | 0.024997 (−32.04 dBFS) | −0.11 dB |
MIC 4ch RMS, gate > 0.01 |
0.003728 (−48.57 dBFS) | 0.004417 (−47.10 dBFS) | +1.47 dB |
| Kardome 출력 RMS (출력 자체 음량, 낮을수록 작음) | 0.00006657 (−83.54 dBFS) | 0.00004727 (−86.51 dBFS) | −2.97 dB, v1.1.18 출력이 더 작음 |
| 활성 창 수 / 시간 | 18 / 4.50 s | 21 / 5.25 s | 녹음 길이가 다름 |
| REF–MIC 최대 지연 탐색 상관 절댓값 중앙값 | 0.731 | 0.740 | 비슷한 수준 |
계산 방식을 쉽게 말하면, “전체 구간 합산”은 선택한 구간을 한데 모아 입력과 출력의 크기를 비교하고, “짧은 구간 평균”은 250 ms씩 나눠 각 구간을 같은 비중으로 평균한다. 어떤 구간을 포함할지 정하는 기준도 바꿔 결과가 얼마나 달라지는지 확인했다.
| 집계 조건 | v1.1.17 | v1.1.18 | 변화 |
|---|---|---|---|
REF > 0.01, 전체 구간 MIC/출력 차이 |
34.96 dB | 39.41 dB | +4.45 dB (값이 클수록 출력은 작음) |
REF > 0.01, 창별 비율의 산술 평균 |
38.55 dB | 38.96 dB | +0.42 dB |
REF > 0.005, pooled 활성 전력비 |
34.96 dB | 38.91 dB | +3.95 dB |
REF > 0.005, 창별 비율의 산술 평균 |
38.55 dB | 37.61 dB | −0.94 dB |
REF RMS와 MIC 상관은 두 녹음에서 비슷했다. v1.1.18 출력 RMS는 2.97 dB 낮아져 실제 출력이 더 작게 기록됐고, 그 결과 MIC 대비 출력 레벨 차이는 4.45 dB 커졌다. 그래서 39.41 dB는 더 큰 소리를 뜻하지 않는다. 짧은 구간을 같은 비중으로 평균하면 차이는 작아진다. 이 한 쌍은 v1.1.18 쪽 개선 방향을 보여주며, 사용자가 보고한 Ding echo 감소와도 방향이 일치한다.
이 비교 자료를 읽을 때 참고할 점
- v1.1.17은
1.1.17폴더, v1.1.18은카돔 1.1.18_echo_v1폴더로 분류되어 있다. 두 캡처 로그는 녹음 시작·종료와 WAV 저장은 확인하지만, 해당 시점의 Kardome 런타임 버전 readback을 포함하지 않는다. 따라서 버전 귀속은 캡처 당시 폴더 이름 기준이다. - 각 버전 녹음은 한 번씩이고 날짜도 다르다(2026-08-13, 2026-09-02). 거리·스피커 음량·시스템 볼륨·주변 소음·발화 조건을 동일하게 고정했다는 기록은 없다.
- 두 폴더의 명령 이름은 같지만 KWS 로그는 모두
Test KWS Count: 0이다. 재생 문장과 앱 TTS 조건이 완전히 일치했다는 증거는 아니다. - MIC 4채널 원본과 Kardome mono 출력의 레벨 차이를 계산했다. 이 값은 표준 ERLE가 아니며, 음량·채널·전처리 차이도 포함할 수 있다.
- v1.1.18의 다섯 시나리오 평균 42.68 dB 및 실제 녹음 유효 두 구간 평균 43.57 dB는 각각 다른 데이터 묶음의 proxy다. v1.1.17 한 건과 직접 평균하거나 향상량 산출에 섞지 않는다.
판정: 실제 Ding 사용에 대한 체감과 현재 녹음 수치가 모두 v1.1.18 쪽을 가리킨다. 따라서 보유한 자료 범위에서 에코 억제는 v1.1.18이 더 낫다고 본다. 다만 비교 녹음은 버전별 한 건이고 v1.1.16 자료도 없으므로, 4.45 dB를 모든 상황에 적용되는 개선량으로 일반화하지 않는다. 표의 수치는 MIC와 Kardome 출력의 레벨 차이이며 표준 ERLE와 구분한다.
2026-09-23 — Kardome v1.1.18 에코 녹음의 측정 해석
이 문서의 42.68 dB와 43.57 dB는 표준 ERLE 결과가 아니라 MIC 대 Kardome 출력의 레벨비로 계산한 억압 추정치다. 공식 ERLE 정의는 echo canceller 입력에서 출력까지 echo 신호가 얼마나 감쇠되는지를 본다(ITU-T G.168 §3.15). AEC 연구에서도 echo-only/single-talk 조건에서 입력·잔류 echo 전력을 비교하며, 배경 잡음과 잔향이 있으면 ERLE 해석이 제한된다(ICASSP 2021 AEC Challenge).
20 log10(RMS(MIC) / RMS(Kardome output))의 근거와 한계
RMS의 제곱은 평균제곱값이고, 신호의 전력은 평균제곱값에 비례한다. 따라서
20 log10(RMS(x) / RMS(y)) = 10 log10(RMS(x)^2 / RMS(y)^2)
로 쓸 수 있어, 두 신호가 같은 종류·같은 이득 기준의 AEC 전후 신호라면 입력 echo 전력과 잔류 echo 전력의 비를 dB로 나타내는 형태와 맞는다. 이번에는 sndflow_allinout의 동기화된 MIC 4채널과 Kardome 출력 1채널을 사용했다. 분리 dump WAV는 시작 오프셋과 길이가 달라 혼합하지 않았다.
하지만 raw MIC 4채널과 beamforming/전처리/게인이 적용될 수 있는 mono Kardome 출력은 같은 경로에서 AEC만 전후한 신호라고 입증되지 않았다. MIC 입력의 echo 성분과 채널 집계·이득 차이를 분리하지 못하므로 이 비를 순수 AEC 억압 또는 규격 ERLE라 부르면 안 된다. 아래 값은 MIC-to-Kardome output level-reduction proxy로만 읽는다. echo-only 조건, 정렬된 AEC 전후 tap, 이득 보정, 동일 조건 반복이 없으므로 AEC 성능 승인값은 아직 없다.
| 녹음 묶음 | 관측 결과 | 해석 |
|---|---|---|
| Mesh_Mini Kardome 1.1.18, REF RMS > 0.01인 250 ms 창 | 시나리오 평균 42.68 dB; 전체 활성 프레임 통합 42.48 dB | 입력 MIC 대비 출력 레벨비 proxy. REF 유입은 확인됐지만 표준 ERLE는 아님 |
| 실 녹음 4–9초 및 20–25초 | 구간별 43.63, 43.51 dB; 두 구간 평균 43.57 dB | 같은 녹음 안의 두 구간 proxy이며 독립 반복 평균이 아님 |
| 실 녹음 35–40초 | 산술 레벨비 12.14 dB | MIC RMS 0.000515, REF 비활성 기준과 거의 같고 REF–MIC 상관도 낮아 ERLE 해석 불가 |
첫 묶음의 창 임계값은 경험적으로 정한 분석 기준이다. 이를 0.005로 바꾸면 평균은 42.34 dB가 된다. 결과 표와 과거 문구의 “추정 억압량”은 위 proxy 의미로 해석하고, 이 값만으로 Kardome AEC 품질이나 규격 충족을 판정하지 않는다.
A1 → Mini → Mesh+Mini 음성 파형 분석
지금 결론 — F + vol 0.55를 잠정 기본값으로
260911에서 AGC 55/70의 outuser 증폭이 실제 확인됐다. MINI+MESH의 잠정 기본값은 F 필터 + vol 0.55 + EQ_TOTAL_GAIN 0으로 잡는다. 인식률 최고값이나 기존 A1 수준의 완전 회복을 확정한 것은 아니다.
Default / 0.55 / 0.6 잠정 결론·SVG·설정 명령 — 기존 0.6 녹음도 outuser로 재분석해 포함했다.
Default까지 포함한 판단: Mini+Mesh Default(9/10)의 말소리 RMS는 −38.64 dBFS, F + 0.55(9/11)는 −38.15 dBFS로 비슷한 출력 수준이다. 서로 다른 날짜이므로 동등성·인식률 향상 확정은 아니다. 과거 F + 0.6(9/2)은 당시 0.4 대비 −0.22 dB여서, 현재 0.55보다 좋다는 근거로 쓰지 않는다. F + 0.55를 잠정 사용하고 Default를 인식 비교 기준으로 유지한다. 여기서 Default는 원래 A1이 아니라 Mini+Mesh MM118_DEFAULT다.
실제 Original 기준: 원본 WAV를 동일 방식으로 재계산하면 최신 F + 0.55의 3초 말소리 RMS는 −38.15 dBFS로 Original Default(−38.61 dBFS)보다 0.46 dB 크다. Clean 배경은 1.76 dB 높고, 음성대역 발화와 Clean 배경의 레벨 차이는 0.95 dB 작다. 출력 크기는 Original 수준이지만 배경 억제에는 차이가 남는다. 날짜가 다른 녹음 간 관측값이며 인식률 동등성은 미검증이다. Original 직접 비교표와 원본 근거를 함께 본다.
| 첫 F_AGC40 대비 | 55 | 70 | 40 반복 |
|---|---|---|---|
| 발화별 3초 outuser RMS | +2.74 dB | +4.76 dB | −0.06 dB |
| MIC 입력 차이를 보정한 음성대역 전달량 | +2.78 dB | +4.77 dB | −0.18 dB |
| Clean 음성대역 배경 레벨 | +2.65 dB | +4.11 dB | −0.55 dB |
20조건의 설정·설치 해시와 WAV 100개를 확인했다. 출력은 커지지만 잡음도 커진다. 55는 실측된 증폭을 확보하면서 70보다 잡음 증가가 작은 쪽을 택한 보수적 기본값이다. 60은 선택적 중간 후보, 70은 출력 여유 비교 후보다. 후보를 계속 늘리거나 3개를 모두 재시험해야 기본값을 정할 수 있는 것은 아니다.
full-scale clipping은 관측되지 않았다. 다만 ref는 모두 0이고 첫 40의 allinout 일부는 별도 WAV와 정합이 제한된다. 상세 페이지에 제외·보조 검증 범위를 명시했다. STT 인식률·dropout 개선·원래 A1과의 완전 동등성은 미검증이다.
260910 당시 계획 — 업체 답변을 반영한 AGC 시험
EQ gain이 안 먹었던 이유는 AGC ON에서 EQ_TOTAL_GAIN 대신 AGC gain이 사용되기 때문이다. 다음에는 F 필터를 유지하고
vol=0.4 → 0.55 → 0.7 → 0.4로 AGC gain 40/55/70과 기준 반복을 비교한다. RMS 회복은 아직 확인되지 않았다.
아래는 260911 녹음 전의 계획이다. 현재 결론은 위의 260911 결과이며, 당시 명령서는 녹음 방법 참고용으로 유지한다.
| 새로 확인한 업체 설명 | 우리 시험에 주는 의미 |
|---|---|
| AGC ON에서는 EQ_TOTAL_GAIN이 gain 단계에서 대체됨 | 설정·조회 성공에도 ±6/−12 dB 효과가 없었던 결과와 일치 |
| EQ_TOTAL_GAIN은 양수 증폭·음수 감쇠이며 outuser에만 적용 | 음수 파싱 실패 또는 반대 부호로 해석하지 않음 |
| AGC_MAX_GAIN_ZONE은 AGC가 향하는 gain, 기본 55 | “단순 최대 상한일 뿐”이라는 이전 해석 정정. F의 40과 55/70을 비교 |
| 별도 limiter 기본 0.3, RMS 목표 정규화는 없음 | gain 증가가 일정한 RMS 회복을 보장하지 않음. limiter는 이번에 변경하지 않음 |
업체 답변은 사용자가 전달했다. 아래 과거 실측 수치는 변경하지 않았다. 과거 vol 0.4/0.5/0.6에서 회복이 없었던 사실도 유지한다. 이번에는 적용 로그와 같은 세션의 기준 반복까지 묶어 다시 확인한다. 기존 서비스로 40/55/70 설정이 가능해 재빌드는 하지 않았고, 동일 네 파일을 전달용 폴더에 따로 모은다. AGC 내부값 재조회와 limiter 0.3 실기기 확인은 현재 바이너리에 없는 검증이다.
260910 실측 — 재시작·적용 확인 후 녹음
설정 적용을 확인하고 다시 녹음해도 EQ_TOTAL_GAIN의 실효 증폭은 나타나지 않았다. 이번 결과를 재시작 누락으로 설명하지 않는다. 이후 업체가 AGC ON에서 EQ gain이 대체된다고 설명했다.
| F_G0 대비 | outuser 변화 | outkardome 변화 | 판단 |
|---|---|---|---|
| Default | +2.26 dB | -0.02 dB | outuser는 더 큼. vol·필터도 달라 gain만의 효과는 아님 |
| +6 | -0.03 dB | -0.08 dB | 수 dB급 증폭 없음 |
| -6 | +0.12 dB | +0.13 dB | 미세 차이를 개선으로 판정하지 않음 |
| -12 | -0.05 dB | -0.12 dB | 수 dB급 증폭 없음 |
모두 동일한 60·65 dB 조건의 5회 발화씩, MIC 입력 크기를 보정한 비교다. 전체 파일 RMS나 인식률이 아니다. 260908의 -0.12/+0.08/약 0 dB와 마찬가지로 큰 gain 반응은 없다. 이전 +6은 60 dB만 비교했으므로 두 날짜의 소수점 차이는 개선으로 해석하지 않는다.
당시 제안과 이후 확인
당시에는 EQ 단위·출력·AGC 관계를 업체에 문의하고 동일 입력 SDK 비교를 제안했다. 이후 사용자가 문의했고 업체 답변을 받았다. 이제 다음 단계는 위의 AGC 40/55/70 비교다. 후단 PCM 배율 추가나 config 업로드는 이번 시험에 넣지 않는다.
자료 검증과 Clean 결과
- 테스터가 서비스 재시작과 적용 결과를 모두 확인했다고 전달했다. 이를 전제로 분석하며 재시작 시험을 다시 요구하지 않는다. 첨부 파일에는 readback 원문이 없어 분석자가 로그로 독립 검증한 상태와는 구분한다.
- 이번 5개 프로필의 WAV 275개 모두 정상 읽기. F_G0_REPEAT는 이번 시험에 없다.
- F_G0 70 dB 호출어는 4.224초라 5회 발화 비교에서 제외했다. 주 비교는 모든 프로필의 60·65 dB로 통일했다.
- 주 비교 standalone/allinout 출력 envelope 상관 ≥0.9923, 전달량 방법 차이 ≤0.378 dB. 작은 +0.12 dB 등을 확실한 개선으로 읽을 수 없다. 정상 발화 구간 full-scale clipping 0%, outuser headroom ≥12.12 dB다.
- 터보에서만 F_G0/-12의 일부 표본이 0.3 부근에 닿는다. 주 음성 비교의 gain 무반응을 출력 상한으로 설명할 근거는 없다.
- Clean 안정 구간 RMS 중앙값: F0 -59.32, +6 -58.01, -6 -59.13, -12 -59.04 dBFS. +6에 약 1.31 dB 차이가 있지만 일정한 부호·크기의 gain 반응은 아니며, 무음 배경 차이를 음성 증폭으로 판정하지 않는다.
- F_G0 터보에만 ref가 nonzero여서 팬 보조 비교는 ref가 모두 zero인 약·중·강풍만 사용했다. 입력 보정 평균 변화는 +6 -0.08, -6 -0.33, -12 -0.20 dB다. ref 동기 정합이나 음성인식률 개선을 주장하지 않는다.
근거: 260910 음성 요약, 발화별 측정, 파일 검증, 정합성 검증.
이전 단계 — 260908 녹음 당시 결론
아래의 “readback 확인이 다음 단계”는 당시 판단이다. 260910에서 테스터가 확인을 완료했고 이후 업체가 AGC와 EQ의 관계를 설명했다. 현재 실행 지침은 맨 위의 AGC 시험 안내다.
새 빌드를 넣고 다시 녹음해도 EQ_TOTAL_GAIN의 뚜렷한 증폭 효과는 확인되지 않았다. 다만 “setprop이 안 먹었다”는 원인까지 확정한 것은 아니다. 다음 단계는 같은 값의 녹음을 더 늘리는 것보다 Kardome 내부 최종값(readback) 로그를 확보하는 것이다.
| F_G0 대비 | outuser 변화 | outkardome 변화 | 비교 범위 |
|---|---|---|---|
| MM118_DEFAULT | +2.52 dB | +0.20 dB | 60·65 dB, 10 이벤트 |
| F_GPOS6 | -0.12 dB | -0.23 dB | 60 dB, 5 이벤트 |
| F_GNEG6 | +0.08 dB | +0.15 dB | 60·65 dB, 10 이벤트 |
| F_GNEG12 | 약 0.00 dB | -0.09 dB | 60·65 dB, 10 이벤트 |
| F_G0_REPEAT | +0.06 dB | -0.01 dB | 60·65 dB, 10 이벤트 |
수치는 200–4000 Hz 음성 이벤트 크기에서 MIC 4채널의 중앙값을 뺀 뒤, 동일 SPL·발화 순번끼리 비교한 입력 보정 전달량이다. 전체 파일 RMS나 실제 인식률과는 다르다. 5회 발화는 독립된 반복 녹음 5회가 아니다.
Default가 F보다 큰 차이는 이번에도 보인다. 따라서 모든 커스텀 설정이 무효였다고 볼 근거는 없다. 다만 Default와 F는 vol·필터도 달라, 이 차이로 EQ_TOTAL_GAIN의 부호나 적용 여부를 판단할 수 없다.
이번에 확인한 범위
- 테스터 확인: 새 서비스·라이브러리 설치, F에서
vol=0.4, KWS sensitivity 비움, pre-filter5,150,0,0, EQ0,1800,2.5,1;0,2800,1.5,1고정. gain만 0/+6/-6/-12/0으로 변경했다. - WAV 312개는 모두 읽혔다. F_G0와 REPEAT의 70 dB는 5회 발화 검출 조건을 충족하지 않아 제외했다. +6의 65 dB는 MIC가 없어 입력 보정에서 제외했다.
- 동일 풍속별 비교에서도 outuser 변화는 +6 +0.22 dB, -6 +0.07 dB, -12 +0.05 dB, REPEAT 약 0.00 dB였다. -6은 중풍 누락으로 3풍속, 나머지는 4풍속이다.
- Clean에는 배경 변동이 있다. 앞뒤 2초 제외·100 ms 음성대역 RMS 중앙값은 F_G0 -61.75, +6 -60.91, -6 -60.86, -12 -60.47, REPEAT -61.59 dBFS다. 폴더명과 달리 Clean F_G0는 REPEAT보다 늦게 저장돼, 번호를 시간 순서로 보고 보정하지 않았다.
- 정상 검출·MIC 존재 음성 15 run에서 clipping은 두 출력 모두 0%. 이 사실만으로 dropout·SBR·음성인식률 개선을 주장하지 않는다.
- ref 65개는 모두 0이다. ref 정합이 확인된 비교는 아니다. 동일 run에서 standalone과 allinout을 비교한 7건은 출력 envelope 상관 ≥0.995, 전달량 방법 차이 ≤0.30 dB였다. 이 검증은 서로 다른 프로필의 원음 동일성까지 보장하지 않는다.
- 첨부 65개 로그에서 새 setter/readback 문구는 발견되지 않았다. 설치·설정은 테스터 확인으로 수용하되, Kardome 내부 최종값은 별도 확인해야 한다.
260908 당시 다음 단계 — 설정이 어디까지 들어갔는지 확인
| 확인할 것 | 의미 |
|---|---|
getprop ...eq_total_gain |
Android에 저장된 요청값 |
EQ_ENABLE readback=1 result=0 |
Kardome에서 EQ 활성값을 다시 읽은 결과 |
EQ_TOTAL_GAIN readback=-6 result=0 등 |
Kardome 내부에 해당 값이 남아 있는지 확인 |
readback이 요청값과 다르면 설정 전달·초기화 경로를 점검한다. 값이 같아도 PCM 변화가 없다면 현재 출력 경로에서의 gain 효과가 미확인인 상태이므로, 서비스/lib/config 해시와 로그·WAV를 Kardome에 전달해 적용 출력과 활성 조건을 확인한다. 지금 데이터만으로 “라이브러리 버그” 또는 “필터가 gain을 초기화했다”고 단정하지 않는다.
이번 서비스 수정은 필터 → EQ_ENABLE=1 → EQ_TOTAL_GAIN → readback 순서다. config 업로드 호출은 추가하지 않았다. 전달 패키지는 sndflow_kardome_1.1.18_eq_gain_readback_20260907.tar.gz다.
근거 데이터: 음성 요약 CSV, 이벤트 CSV, 제외 조건 CSV.
| 순서 | 확인하려던 것 | 결과 | 다음 판단 |
|---|---|---|---|
| 1 | A1보다 Mini의 RMS가 낮은가 | MIC -12.65 dB, output -11.41 dB 낮게 관측 |
Mini 보정 필터 시험 |
| 2 | Mini A~D로 RMS를 복원할 수 있는가 | 잡음 바닥은 감소했지만 RMS는 모두 미복원 | Mesh 결합 상태 확인 |
| 3 | Mesh+Mini Default가 일반 Default보다 좋은가 | SBR -6.50 dB, dropout +0.98%p, 바닥 잡음 +5.74 dB |
Custom A~H 시험 |
| 4 | A~H가 Mesh+Mini 문제를 보완하는가 | F가 품질 지표 최선, RMS는 +0.22 dB만 상승 |
F를 기준선으로 gain 시험 |
| 5 | F에서 vol=0.4→0.5→0.6이면 RMS가 오르는가 |
음성 output과 전달 gain 모두 회복 안 됨 | vol 추가 상승 중단 |
| 6 | 260903 EQ_TOTAL_GAIN=-3/-6이 gain 축인가 |
-3 +0.02 dB, -6 +0.45 dB |
부호·범위를 벌려 재시험 |
| 7 | 260904 +6/-6/-12에서 결과가 반복되는가 |
입력 보정 후 -0.01/-0.11/+0.22 dB |
gain 효과 없음, 반복성부터 확인 |
A1 → Mini에서 RMS 저하 확인
→ Mini A~D는 잡음만 감소
→ Mesh+Mini Default도 일반 Default보다 부족
→ Custom F로 파형 품질 부분 개선
→ vol 변경으로 RMS 회복 실패
→ EQ_TOTAL_GAIN도 재현 가능한 gain 없음
→ 9월 7일: 적용 순서 수정·최종값 readback 빌드 완료
→ 260908: 새 빌드에서도 +6/-6/-12의 뚜렷한 증폭 없음
→ 260910: 서비스 재시작·적용 확인 후에도 gain 효과 없음
→ 업체 답변: AGC ON에서 EQ gain 대체
→ 다음: F 고정, AGC gain 40/55/70/40 반복 비교
이전 260904 시험 결론
무엇을 바꿨나
Custom F의 vol, sensitivity, pre-filter, EQ는 그대로 두고 EQ_TOTAL_GAIN만 0 → +6 → -6 → -12 → 0으로 바꿨다.
결과
| F_G0 대비 | 녹음된 outuser 크기 | MIC 입력 크기 | 입력 보정 후 실제 전달 변화 | 판정 |
|---|---|---|---|---|
+6 |
+2.58 dB | +2.59 dB | -0.01 dB | 효과 없음 |
-6 |
+2.55 dB | +2.66 dB | -0.11 dB | 260903 결과 미재현 |
-12 |
+2.71 dB | +2.49 dB | +0.22 dB | 효과 없음 |
겉으로는 세 조건의 outuser가 약 +2.6 dB 커졌다. 하지만 마이크에 들어온 목소리도 거의 같은 만큼 컸다. 처리 전 입력을 빼고 비교하면 세 변화는 모두 0 부근이며, 95% 신뢰구간도 모두 0을 포함한다.
마지막 시험의 최종 판정:
+6/-6/-12어느 값도 RMS를 올리는 gain step으로 확인되지 않았다. 260903의-6 +0.45 dB도 이번에는-0.11 dB로 재현되지 않았다.
Default와 F_G0 차이도 일정하지 않았다
| 70 dB 전달량 | 260903 | 260904 | 날짜 간 변화 |
|---|---|---|---|
| MM118_DEFAULT | 33.81 dB | 33.53 dB | -0.28 dB |
| F_G0 | 29.80 dB | 31.91 dB | +2.11 dB |
| Default - F_G0 차이 | 4.01 dB | 1.62 dB | 2.39 dB 축소 |
Default는 두 날짜에 거의 같았지만 F_G0가 2.11 dB 달라졌다. 따라서 “F_G0는 항상 Default보다 약 4.8 dB 낮다”는 고정 결론은 사용하지 않는다. 현재는 F_G0의 세션별 편차가 gain 후보 차이보다 크다.
데이터 한계
- 계획 330개 중 WAV 24개가 없고 1개가 손상됐다.
- 호출어 outuser 85이벤트 중 MIC 보정이 가능한 것은 65이벤트다.
- 정상 ref 62개가 모두 무신호라 STOI·PESQ·SI-SDR을 계산하지 못했다.
- run별 property snapshot과 Kardome readback 파일이 없어 WAV만으로 적용값을 다시 증명할 수 없다. 프로파일 값은 폴더명과 테스터 확인을 사용했다.
- 별도 mic/outuser와 allinout이 함께 있는 8조건을 비교한 결과, 전달량 차이는 최대
0.315 dB였다. 이번 별도 파일 분석은 이 오차 범위에서 사용할 수 있다.
음성인식 관점에서 무슨 뜻인가
| 확인된 것 | 음성인식에 대한 의미 |
|---|---|
| Custom F의 SBR 상승·dropout 감소 | 인식에 유리할 가능성이 있는 파형 개선 신호 |
| Custom F의 낮은 RMS | 약한 음절이 decoder에 작게 전달될 위험 |
EQ_TOTAL_GAIN 효과 없음 |
이 property로 인식 입력이 좋아졌다는 증거 없음 |
| WER/CER 없음 | 실제 음성인식률 개선 여부는 아직 모름 |
outuser는 사용자용 처리 출력이고, 현재 Kardome 내장 KWS는 outkardome을 사용한다. 따라서 outuser 파형이 좋아졌다는 사실만으로 KWS 성공률이나 STT 정확도가 좋아졌다고 말할 수 없다.
현재 정확한 표현은 다음과 같다.
Custom F는 Mesh+Mini Default보다 음성과 배경을 더 잘 분리했지만 RMS를 복원하지는 못했다.
vol과EQ_TOTAL_GAIN으로 실제 인식 성능이 개선됐다는 증거도 아직 없다.
핵심 용어
| 용어 | 쉬운 뜻 |
|---|---|
| RMS | 녹음된 소리의 평균적인 크기 |
| raw outuser 변화 | 처리 후 파일 자체가 얼마나 커졌는지 본 값 |
| MIC→outuser 전달 변화 | 입력 목소리 크기를 빼고 처리단이 실제로 얼마나 키웠는지 본 값 |
| SBR | 음성이 배경보다 얼마나 선명한지. 높을수록 좋음 |
| dropout | 네트워크 유실이 아니라 발화 중 출력이 순간적으로 약해진 프레임 비율 |
| output floor | 말하지 않을 때 남는 잡음. 더 음수일수록 조용함 |
| headroom | clipping까지 남은 여유 |
| WER/CER | 실제 단어·문자 인식 오류율. 낮을수록 좋음 |
상세 근거
1. A1 → Mini
| 지표 | 기존 A1 | Mini Original | 변화 |
|---|---|---|---|
| MIC RMS | -45.35 dBFS | -58.00 dBFS | -12.65 dB |
| output RMS | -57.56 dBFS | -68.97 dBFS | -11.41 dB |
| 전달량 | -12.21 dB | -10.97 dB | +1.24 dB |
기존 A1과 Mini는 시험 프로토콜이 완전히 같지 않아 -11~-13 dB 전체를 높이 변화의 영향으로 단정하지 않는다. Mini에서 RMS가 낮게 관측됐다는 방향만 사용한다.
2. Mini A~D
| 후보 | Mini Original 대비 output RMS | 바닥 잡음 변화 | 판정 |
|---|---|---|---|
| A | -0.23 dB | -1.13 dB | RMS 미복원 |
| B | -1.37 dB | -2.05 dB | 잡음 억제 최대, RMS 더 낮음 |
| C | -0.55 dB | -1.44 dB | RMS 미복원 |
| D | -0.74 dB | -1.47 dB | RMS 미복원 |
3. 일반 Default → Mesh+Mini Default → Custom F
| 비교 | SBR | dropout | output floor |
|---|---|---|---|
| 일반 Default | 23.86 dB | 0.00% | -89.36 dBFS |
| Mesh+Mini Default | 17.35 dB | 0.98% | -83.62 dBFS |
| Mesh+Mini Custom F | 19.52 dB | 0.00% | Mesh+Mini Default 대비 -1.76 dB |
F는 Mesh+Mini Default 대비 SBR +2.17 dB, dropout 0%, 바닥 잡음 -1.76 dB를 만들었다. 그러나 RMS 상승은 +0.22 dB이고 SBR은 일반 Default보다 4.33 dB 낮아 최종 완료안이 아니라 현재 품질 기준선이다.
4. vol=0.4/0.5/0.6
9/14 재분석 추가: 기존 0.6 녹음이 없는 것이 아니다. outuser로 다시 계산한 60/65 dB의 발화별 3초 RMS는 V04 대비 V05 −0.11 dB, V06 −0.22 dB였다. 아래는 당시 지표를 보존한 표이며, 현재 260911의 F + 0.55 증폭 결과와 날짜·출력·측정 정의를 섞지 않는다. Default까지 포함한 최신 비교.
| V04 대비 | V05 0.5 |
V06 0.6 |
|---|---|---|
| 이벤트 output RMS | +0.019 dB | -0.198 dB |
| 음성 전달 gain | -0.019 dB | -0.064 dB |
persist.vendor.audio.sndflow.vol은 고정 PCM 배율이 아니라 Kardome AGC_MAX_GAIN_ZONE으로 전달된다. 설정은 적용됐지만 이번 입력 조건에서는 음성 RMS 회복으로 나타나지 않았다.
5. 260903 EQ_TOTAL_GAIN
| F_G0 대비 | MIC→outuser 전달 변화 | 당시 판정 |
|---|---|---|
-3 |
+0.02 dB | 효과 없음 |
-6 |
+0.45 dB | 작게 상승, 재시험 필요 |
260904 재시험에서 -6이 -0.11 dB로 바뀌었으므로 현재 최종 판정은 재현 실패다.
6. 원본 데이터
- 260904 프로파일 요약과 신뢰구간
- 260904 이벤트별 outuser/MIC/전달량
- 260904 파형 안전·품질 지표
- 260904 Clean/팬 교차검증
- 260904 WAV 누락·손상 감사
- standalone/allinout 방법 검증
- 260903 이벤트별 전달량
- F-V04~V06 음성 전달 gain 요약
현장 적용 절차는 SoundFlow Kardome Tuning Runbook, Mini A~D 세부 내용은 Mini Original 기준 Custom A-D 정밀 비교, 분석 지표 설명은 Audio / SoundFlow에서 확인한다.