기능
속삭은 키보드 앱이 아니라 떠 있는 버튼입니다. 쓰던 키보드, 쓰던 앱 그대로 두고 말로 입력하는 길만 하나 더 냅니다.
녹음부터 삽입까지 화면을 띄우지 않고 서비스 안에서 끝냅니다. 대상 앱의 커서와 키보드가 그대로 남습니다.
말이 0.5초 쉴 때마다 그 조각을 먼저 풀어 둡니다. 다 말하고 기다리는 시간이 약 20초에서 3초로 줄었습니다.
옆 사람이 일하는 자리에서 속삭여도 녹음을 자르지 않습니다. 켜 두면 버블 배지가 장밋빛으로 바뀝니다.
Snapdragon 8 Elite Gen 5에서는 Whisper를 Qualcomm NPU로 돌립니다. 그 밖의 폰은 CPU(whisper.cpp)로 동작합니다.
새 빌드가 나오면 앱이 알려 주고 바로 설치합니다. 로그인도 계정도 없습니다.
단어장과 설정을 파일 하나로 내보내고 다시 불러옵니다. 폰을 바꿔도 가르친 단어가 따라옵니다.
"리액트 쿼리 캐시 무효화해 줘" 같은 말이 주 사용처입니다. 단어장에 용어와 별칭을 넣어 두면 조사나 어미가 붙어도 찾아서 바꾸고, 어미는 그대로 둡니다.
숫자
글자 오류율(CER)입니다. 낮을수록 좋습니다. 같은 문장에 카페 소음을 섞거나 소리를 아주 작게 줄여서 쟀습니다.
소음이 말소리만큼 크면 어느 모델이든 절반 넘게 틀립니다. 낭독 문장(FLEURS 한국어 40문장)에서는 Turbo 3.3%, Small ACFT 5.7%입니다. 낭독체 기준이라 개발 용어가 섞인 말은 이 숫자에 반영되지 않습니다.
Vulkan과 OpenCL을 둘 다 붙여 봤습니다. 동작은 했지만 CPU보다 느리고 뜨거워서 뺐습니다.
빠르지만 소음에 약했습니다(0dB에서 97.5% 오류). 다른 모델보다 나은 조건이 없어 뺐습니다.
영어에 맞춰진 후처리가 한국어 받아쓰기를 오히려 망가뜨렸습니다. Whisper가 낸 문장을 그대로 씁니다.
모델
처음에는 Small ACFT 하나만 받습니다. 나머지는 설정에서 고를 때 내려받고, 버블을 위로 밀어 바로 바꿉니다.
| 모델 | 엔진 | 쓰임 |
|---|---|---|
| SASmall ACFT (FUTO) | whisper.cpp · CPU | 기본값. 짧은 말에 맞춰 조정된 모델 |
| TLarge v3 Turbo ACFT q4_0 | whisper.cpp · CPU | 가장 정확하고 가장 느림 |
| MNMedium (NPU) | sherpa-onnx · QNN | Snapdragon 8 Elite Gen 5 전용 |
| TNLarge v3 Turbo (NPU) | sherpa-onnx · QNN | Snapdragon 8 Elite Gen 5 전용 |
설치
개인용으로 만든 앱이라 Play 스토어에 올리지 않았습니다. GitHub Release의 APK를 받아 설치합니다.
soksak-dev-N.apk를 받아 엽니다. 출처를 알 수 없는 앱 설치를 허용해야 합니다.