test(content): verify native Android PCM and complete speech coverage

This commit is contained in:
NINI
2026-10-05 14:00:08 +09:00
parent 1f26fbc421
commit ccc8b77cf5
6 changed files with 130 additions and 7 deletions
+3 -1
View File
@@ -12,10 +12,12 @@ R07의 1..30 초기 묶음·목표·종류를 30개 ScriptableObject로 작성
음성 전체 44개 catalog 중 기존 승인 3개의 runtime SHA는 유지했다. 새 회차 `20261005T034100690940Z_96b6d5ac`가 고정 Qwen Korean/Sohee/seed42/GPU 설정으로 생성·재사용한 입력과 원본 파형을 기록한다. count_05만 같은 뜻의 `다섯.` 대본으로 새 take를 만들었고 이전 9.12초 실패 이력은 남겼다. 새 후보는 0.72초의 44.1kHz mono PCM16으로 준비했다. 현재 도움에서 선택할 수 있는 N=2..10, K=1..floor(N/2)의 25개 완전 문장과 guide_find/guide_uncounted/demo_merge6/demo_split10을 모두 별도 오프라인 WAV로 연결했다. 숫자 조각을 붙여 안내 문장을 만들지 않는다.
편집 선택 `SourceAssets/Audio/Voice/edited/20261005T034100690940Z_96b6d5ac/selection.json`은 승인 3개만 이전 승인 selection 경로·파일 SHA·동일 runtime SHA·검수자·날짜·사용자 발언을 historical-approval-reused로 연결한다. 나머지는 실제 파일 검사와 사람 청취 승인을 구분하여 draft/not_listened 상태다. 모델 캐시/conda/SourceAssets는 APK에 들어가지 않는다. 음성 큐의 입력 지연 없음, FIFO, 마지막 숫자 유지, 같은 보드 안내 취소 시 숫자 유지, navigation/pause 큐 해제를 기존 동작대로 유지한다.
편집 선택 `SourceAssets/Audio/Voice/edited/20261005T034100690940Z_96b6d5ac/selection.json`은 승인 3개만 이전 승인 selection 경로·파일 SHA·동일 runtime SHA·검수자·날짜·사용자 발언을 historical-approval-reused로 연결한다. count_08의 현재 runtime SHA 6bde9265a8e4ac5a4209b1ddcebf57251430bd2eb5134a59af403f351a640aa2는 사용자의 “count_08 음성이 이상합니다. 쉼표 없이 붙여서 읽으세요” 피드백으로 rejected/user-rejected 상태이며 파형은 유지했다. 새 “여덟.” 후보는 root의 별도 ignored artifacts에서 생성되어 T7 채택·재검사를 기다린다. 그 밖의 40개는 실제 파일 검사와 사람 청취 승인을 구분하여 draft/not_listened 상태다. 모델 캐시/conda/SourceAssets는 APK에 들어가지 않는다. 음성 큐의 입력 지연 없음, FIFO, 마지막 숫자 유지, 같은 보드 안내 취소 시 숫자 유지, navigation/pause 큐 해제를 기존 동작대로 유지한다.
검증은 Content 전체 EditMode/PlayMode 및 변경된 흐름의 Android를 대상으로 한다. 30개의 정확한 정의, 실제 Core 30개 연속 해답/새 저장 해금/다른 분할/모든 분할의 유효 도움/재플레이/next 저장 우선/no31을 검사한다. Editor PlayMode는 모든 수집 구 55개를 시점 회전으로 발견·pick·직접 drag하고 세 테마의 Free 0..10/복원, arch 실제 빈틈, ghost 보드 불변/재진입을 확인한다. 최종 실행 근거는 `artifacts/verification/Content/`에 보존하며 실패/수정 이력은 red-* 폴더에 남긴다.
T7의 AI 최종 캐릭터/UI 이미지·표정/VFX, SFX/BGM 및 아직 응답받지 않은 사람 청취 승인은 이 기능 구현과 분리된 미완료다. 에뮬레이터의 ABI bridge/GLES 검사는 실제 물리 Android 성능을 증명하지 않는다.
시각 검수 잔여: Free 10개를 두 줄로 공급한 기본 시점에서는 아래 줄 일부 개별 묶음의 숫자 배지가 위 줄 친구 몸체와 겹쳐 보인다. T7에서 모든 배열의 배지·선택·계수 표시 가독성을 최종 검수할 대상으로 기록한다. 배경에 의한 기존 아래 시점 숫자 가림은 Blender 바닥을 원래 평면 범위로 조정하여 Collider를 유지한 채 회귀 검사를 통과시켰다. 탐험 자석 몸체는 시점 회전으로 발견할 수 있으며 장식 Collider를 무시하지 않는다.
Android 음성 검사는 Content만 `record-native-audio.ps1`의 Android AudioRecord REMOTE_SUBMIX 무압축 stereo48k PCM16을 원시 보존하고 각 좌우 프레임의 정확한 정수 평균으로 mono48k를 만든다. 공식 scrcpy4.1 ZIP SHA `5b12172b3264b2889f4583ee64752ce832e29bc8b1089dca81093459697165db`를 검증하며 도구·서버·캐시는 ignored artifacts에만 있어 APK에 들어가지 않는다. 기존 gRPC/T5 경로와 비교기의 기본 동작은 유지한다. Content의 `-RequireFullSpeech`는 기존 전체 .95 상관과 동일 onset에서100ms/50ms 겹침의 모든 source RMS32 이상 창 .95를 함께 요구하고, 유효 창0개/불충분 자료는 실패한다. 실제 native 정상 발화와 다른 clip/앞뒤250ms 삭제/중간250ms 삭제·중복/노이즈 negative를 검사한다. gRPC 경로는 같은 APK·원본의 전체발화 불일치가 있었고 이전 T5 APK/native48/냉간부팅 교차 실패를 원시 보존했다. 내부 Android 경로의 정상 대조와 구분하며 정확한 SDK 원인을 확정하지 않는다.