← PHONE PARIS
Technical Whitepaper ⋅ v6.0 Final

Voice-UI Translation OS

전화 한 통이 GUI를 음성으로 실시간 번역하는 인프라

v6.0 Final2026-04-30 박OO 대표 (EduArt Engineer)dtslib.com
Table of Contents

Executive Summary

Voice-UI Translation OS는 시각장애인·시각저하 사용자·시니어가 GUI 화면 없이 전화 한 통으로 기존 디지털 서비스를 호출할 수 있도록 만드는 음성 번역 인프라다.

핵심 차별점은 다섯 가지다.

v6.0 Final은 외부 전문가 평가에서 지적된 세 가지 미세 공백을 메운 최종본이다.


Part I — 기술 백서

1. 발견 5단계

박씨의 사고가 도달한 경로. 각 단계는 다음 단계의 를 정의한다.

단계핵심 인식결과
1Termux STT 워크플로 ≅ 전화 통화클릭이 사라진다
2070 = 범용 컴퓨팅 인터페이스 (4세대 Voice-PSTN)학습곡선 0, 디바이스 0
3DTMF 단축키 라우팅 + 자동화/알선 이중 모델의·식·주·행정·상담 5채널
4박씨가 시각장애인이라 가정하고 만든 워크플로 = 접근성 기술법률 위협 → 지원 역전
5서비스 대행이 아니라 음성 번역 OS공급자 풀 영업 부담 해소
핵심: 박씨는 대신 일해주는 게 아니라 기존 GUI 서비스를 음성으로 감싸는 인프라를 만든다. 요기요·카카오T·정부24 등의 기존 API를 음성으로 호출 가능하게 번역하는 레이어.

사용자 발화 → Voice-UI Translation OS → 기존 GUI API → 결과 → 음성 응답

2. Product Doctrine

#원칙의미
1GUI 의존이 적이다시각장애인용이 아니라 스크린에 갇힌 모든 사용자용. 박씨 본인이 1차 사용자 검증
2음성은 기본 경로다시리·빅스비 = 장식. 본 시스템 = OS
3명시적 확인 > 화려한 대화STT 1% 오류 = 시각장애인 사고. 위험 키워드 시 yes/no 강제
4기존 GUI 서비스는 구현 디테일박씨 자산 = Layer 3 + Park-LoRA. 외부 API는 교체 부품
51개 카테고리 완성형 > N개 골고루동시 시작 금지. 1개 살아있는 데모가 유일한 자산

3. 시행착오 (10개 폐기 가설)

"작동한 것만 가져온다. 추측 금지." 메타 룰의 근거.

#시도폐기 이유OS 적용
1PyAutoGUI 좌표 클릭DPI/언어/화면 변경에 깨짐좌표 영구 금지
2DiffSinger 영어 v6MFA 정렬이 비원어민에 실패한국어 우선
3DDSP 베이순 35분최소 180분 필요VSCO-2-CE sfz 채택
4Park-LoRA v1 ($44)DeepSeek 메모리 파싱 에러Qwen2.5-7B + 인터뷰 모드
5ChatGPT 공식 export도착 안 함 (OpenAI 버그)Termux 7z 강제 추출
6REAPER 좌표 자동화DPI/언어에 깨짐RPP 텍스트 + sox RMS
7WSL2 localhost항상 실패/etc/resolv.conf IP 사용
8BBC SO 음원라이선스/품질 검토 후 제외루머 검증 룰
9RunPod terminate볼륨 손실terminate 영구 금지
10일반 솔루션 우선 제시박씨 환경 특수성커뮤니티 검증 사례만 채택

4. 시스템 아키텍처

4.1 핵심 사상

Φ : (발신자 × 음성) → (기존 GUI API 호출 결과)
Φ = TTS ∘ S_c ∘ TranslationLayer ∘ LoRA ∘ STT ∘ SIP_decode

이 수식은 본 시스템이 새로운 서비스를 만드는 게 아니라 기존 GUI 자산을 음성 차원으로 프로젝션하는 수학적 변환기임을 명시한다.

4.2 4계층

계층구성
L1 입력070 → Asterisk → DTMF 라우팅
L2 음성faster-whisper → Park-LoRA 의도 해석
L3 번역 ⭐intent → 위험 검사 → API_dispatch → 정규화
L4 출력ElevenLabs TTS → SIP → SMS 폴백

4.3 박씨 보유 인프라 재사용 (90%)

WSL2 + Tailscale, Claude Code, MCP 생태계, Park-LoRA v3, REAPER, Telegram 알림.

추가 필요: Asterisk · 070 번호 (월 1만원) · faster-whisper large-v3 · ElevenLabs API · 카테고리당 외부 API 1개.

4.4 Park-LoRA 톤 모드

모드코드명사용처
AParksy Native박씨 사적 영역
BPublic StandardB2G·EAA
CSenior Friendly시니어
DAccessibility Pro시각장애인 (모든 작업 확인 강제)

5. 운영·모니터링·SLA

PoC를 넘어 정식 서비스가 되려면 다음 항목이 코드와 동등한 우선순위로 운영돼야 한다. 시각장애인 대상 = 사고 = 책임이다.

5.1 측정 가능 정의

지표정의측정 방법임계
STT 정확도한국어 WER30분 베타 코퍼스 + jiwerWER < 5%
TTS 합성 실패율ElevenLabs 5xx + timeoutmonitor.py 카운터< 1%
LLM 응답 지연Park-LoRA 추론 + 왕복tail -p99 (Prometheus)< 3초
통화 끊김SIP BYE 사용자 이탈Asterisk CDR 분석< 0.5%
외부 API 5xx어댑터 호출 실패monitor.py + 일일 알림< 2%
사고 (위험 미확인)RISKY confirm 누락정적 분석 + 통화 로그 감사0 허용

5.2 로깅 + 보존

5.3 사고 대응 SLA

등급정의대응 시간
P0잘못된 약/주소/금액 디스패치즉시 (자동 통화 차단 + 박씨 호출)
P1통화 끊김 또는 응답 30초 이상1시간 내 박씨 확인
P2외부 API 일시 장애24시간 내 인간 폴백 전환
P3단순 STT 오인식익일 일괄 분석

5.4 긴급통신 시나리오 (EAA 112 매칭)

EAA는 긴급통신 112번에 음성/문자/영상 동일 채널 응답 의무 부여. 본 시스템은 대체 채널이 아니라 경로 안내만 담당:

5.5 개인정보 영향평가 + ISMS 로드맵

단계조치시점
Phase 3 PoC최소 수집 + 마스킹 + 사용자 동의 음성 녹취2027 Q2
Phase 4 출시개인정보처리방침 게시 + 위탁 계약2027 Q4
Phase 4 100명+PIA 자율 시행2028 Q1
Phase 5 B2GISMS-P 인증 검토2028 Q3

6. 구현 소스 코드

박씨 다이어트 룰 적용 (변수 ≤ 8자, 함수 단일, 블록 ≤ 3줄, 중첩 ≤ 2, return 1개, 주석 = WHY). 전체 16개 파일, 약 420줄.

vouos/
├── boot.sh
├── extensions.conf
└── src/
    ├── vouos_router.py     # AGI 진입점
    ├── session.py          # σ_c sqlite
    ├── dialog.py           # 턴 루프 + 확인 가드 ⭐
    ├── stt.py / llm.py / translate.py / tts.py
    ├── monitor.py          # 운영 로깅 + 사고 알림 ⭐
    ├── eaa_hook.py         # 글로벌 옵션 보존
    └── adapters/{housing,admin,food,clothing,human}.py

6.1 extensions.conf

[voice-ui-os]
exten => s,1,Answer()
 same => n,Wait(1)
 same => n,Set(CHANNEL(language)=ko)
 same => n,Playback(welcome-ko)
 same => n,WaitExten(5)

exten => 1,1,Goto(vouos-cat,clothing,1)
exten => 2,1,Goto(vouos-cat,food,1)
exten => 3,1,Goto(vouos-cat,housing,1)
exten => 4,1,Goto(vouos-cat,admin,1)
exten => 0,1,Goto(vouos-cat,human,1)
exten => t,1,Goto(vouos-cat,housing,1)
exten => i,1,Playback(invalid)
 same => n,Goto(s,4)

[vouos-cat]
exten => _[a-z]+,1,NoOp(cat=${EXTEN})
 same => n,AGI(vouos_router.py,${EXTEN},${CALLERID(num)})
 same => n,Hangup()

6.2 dialog.py — 턴 루프 + 확인 가드 (도그마 3)

from stt import to_text
from llm import infer
from tts import to_wav
from session import save_sess
from translate import dispatch
from monitor import log_call, log_incident

MAX_TURN = 10
RISKY = ("주소", "시간", "금액", "원", "약", "병원", "분", "시")
URGENT = ("아파", "안 보여", "쓰러", "도와", "응급")

def run_loop(agi, sess):
    for _ in range(MAX_TURN):
        wav = _record(agi)
        text = to_text(wav)
        if _is_end(text):
            break
        _one_turn(agi, sess, text)
    log_call(sess)
    save_sess(sess)

def _record(agi):
    path = "/tmp/in_%s.wav" % agi.env.get("agi_uniqueid", "x")
    agi.record_file(path, "wav", "#", 8000, 0, 1)
    return path

def _is_end(text):
    return any(k in text for k in ("끊어", "그만", "안녕", "수고"))

def _is_risky(plan):
    return any(k in (plan or "") for k in RISKY)

def _is_urgent(text):
    return any(k in (text or "") for k in URGENT)

def _one_turn(agi, sess, text):
    if _is_urgent(text):
        log_incident(sess, "urgent", text)
    sess["ctx"].append({"role": "u", "msg": text})
    plan = infer(sess)
    out = _confirm_then_act(agi, sess, plan) if _is_risky(plan) else dispatch(sess["cat"], plan)
    sess["ctx"].append({"role": "a", "msg": out})
    wav = to_wav(out, sess["cat"])
    agi.stream_file(wav.replace(".wav", ""))

def _confirm_then_act(agi, sess, plan):
    ask = "확인할게요. " + plan + " 맞나요? 맞으면 네, 아니면 아니오."
    wav = to_wav(ask, sess["cat"])
    agi.stream_file(wav.replace(".wav", ""))
    reply = to_text(_record(agi))
    if any(k in reply for k in ("네", "맞", "예")):
        return dispatch(sess["cat"], plan)
    log_incident(sess, "confirm_reject", plan)
    return "취소했어요. 다시 말씀해 주세요."

6.3 monitor.py — 운영 로깅 + 사고 알림

import sqlite3, time, json, os, requests

DB = "/var/lib/vouos/log.db"
TG_TOK = os.environ.get("TG_TOKEN", "")
TG_CHAT = os.environ.get("TG_CHAT", "")

def _conn():
    return sqlite3.connect(DB)

def _ensure():
    sql = """create table if not exists call(ts int,cid text,cat text,ctx text);
             create table if not exists inc(ts int,cid text,kind text,note text)"""
    with _conn() as c:
        c.executescript(sql)

def log_call(sess):
    _ensure()
    row = (int(time.time()), sess["cid"], sess["cat"],
           json.dumps(sess["ctx"], ensure_ascii=False))
    with _conn() as c:
        c.execute("insert into call values(?,?,?,?)", row)

def log_incident(sess, kind, note):
    _ensure()
    row = (int(time.time()), sess["cid"], kind, (note or "")[:500])
    with _conn() as c:
        c.execute("insert into inc values(?,?,?,?)", row)
    if kind == "urgent":
        _alert(sess["cid"], note)

def _alert(cid, note):
    url = "https://api.telegram.org/bot%s/sendMessage" % TG_TOK
    msg = "[URGENT] %s :: %s" % (cid, (note or "")[:200])
    try:
        requests.post(url, json={"chat_id": TG_CHAT, "text": msg}, timeout=5)
    except Exception:
        pass

Part II — 전략 백서

7. 전략 도그마

#도그마
1백서는 글로벌, 실행은 한국 — 한국 PoC가 EAA 진입 디딤돌
2국가 돈 먼저, 자기 돈 나중 — 국책 R&D = 자금 + 인증 + 레퍼런스 3-in-1
3카테고리 결정 = 국책 매칭 — 기술 선호보다 외부 공모가 우선
4라이선싱 권리 보존이 모든 계약 1조 — 국책 협약서 IP 귀속 사전 검토
5박씨 1인 + 동업자 1명이 인력 상한 — PMF + 첫 매출 후 채용

8. 한국 국책 사업 — 신청 실무

8.1 1차 + 2차 자금 트랙

트랙사업명운영 기관규모
1차보조공학기기 R&D한국장애인고용공단과제당 1.5억
1차NIA 우선구매 지능정보제품 검증NIA검증비 80%
1차정보접근성 향상 사업NIA매년 공고
2차보조기기 실용화 R&D국립재활원 (NRC)과제별 상이
B2C보조공학기기 구입·대여장애인고용공단/복지부1인당 1,500만

8.2 KEAD 보조공학기기 R&D 신청 실무

항목내용
공고 출처bizinfo.go.kr / kead.or.kr
신청 자격기업·대학·연구기관·단체. 컨소시엄 가능
연구개발비과제당 1.5억
접수 방식우편/택배 + 한글파일 이메일 (think@kead.or.kr)
주소서울 영등포구 영중로 15, A동 9층
담당자02-6321-8408
2025년 일정 참고1월 20일 ~ 2월 19일 (1달 신청 기간)
2024년 변경점80% 이내 → 100% 지원 확대

8.3 매칭 키워드 + 컨소시엄

박씨 신청 시 매칭 키워드:

컨소시엄 옵션: 단독 신청 가능 (사업자등록 보유). 대학 또는 복지단체 컨소시엄 시 평가 가점.

8.4 신청 자료 사전 준비

자료분량발췌 위치
사업 개요2p섹션 1 + 2
기술 차별점3p섹션 4 + 6
시장 규모·필요성2p섹션 11
연구개발 계획5p섹션 13 (Phase 0~3)
사업화 계획3p섹션 13 (Phase 4~5) + 9
컨소시엄 구성1p9 (KBU/장애인개발원 미팅 결과)

8.5 자금 시나리오

A — R&D 1.5억 확보 (이상)
2026 Q4 Phase 0 → 2027 Q1 신청 → 2027 Q2 선정 1.5억 12~24개월 → 2028 Q1 NIA 검증 → 2028 Q2 B2G 시범 → 2028 Q4 EU EAA 영업
B — 탈락 (현실)
2027 Q2 자체 자금 PoC (월 5만원 이하) → 2027 Q3 시각장애인 5명 베타 → 미디어 노출 → 2027 Q4 R&D 재도전 (NRC 트랙 포함).

탈락해도 사업 자체는 죽지 않는다. 단지 1년 늦어진다.

9. 사람·제도 플랜

9.1 영업 동업자 1명 영입

탐색 채널:

1차 미팅 의제: 박씨 비전 + 5분 데모 → 첫 6개월 주 5~10시간 무급 후 R&D 선정 시 인건비 협상 → 수익 셰어: PoC 매출 30% 또는 R&D 배분 25%

계약 전 확인: 4년 잔류 약정 (Phase 5 진입까지), IP는 박씨 개인 보유

9.2 시각장애인 단체 협력

한국시각장애인연합회 (KBU) — 02-2069-3636

한국장애인개발원 — 02-3433-0716

9.3 첫 사용자 100명 확보 채널

채널예상 모집난이도
KBU 회원 직접 모집30명
시각장애인 학교20명
가족·지인10명낮음
미디어 노출 후 자발30명높음
지자체 복지 바우처10명

100명 = 베타 30명 + B2G 시범 50명 + 자발 20명 구조가 현실적.

10. 시간 분배 + 수익 채널

10.1 박씨 시간 분배

Phase박씨 (주간)동업자 (주간)
Phase 07h
Phase 14h5h
Phase 27h10h
Phase 310h8h
Phase 410h15h
Phase 58h12h

10.2 5개 수익 채널

채널시점가격우선순위
B2G 공공조달Phase 45천만~5억최우선
B2C 자가구매Phase 4월 3~5만원
B2B 한국 기업Phase 4+월 정액 SaaS후순위
가족 정기결제Phase 4월 3~5만원후순위
B2B EU EAAPhase 5 옵션API + 라이선싱4년차 이후

11. 시장 / 법률 / 컴플라이언스

11.1 한국 법률 환경

11.2 한국 시장

세그먼트규모
등록 시각장애인25만
저시력자50만+
65세+ 시각저하200~300만
총 잠재 시장250~350만

11.3 EAA (글로벌 옵션, 4년차)

항목내용
시행2025-06-28부 27개 EU 회원국
적용EU 소비자 대상 모든 기업
시장EU 1억 명
벌금독일 €100,000/건 · 프랑스 €250,000 · 이탈리아 매출 5%

11.4 글로벌 시장 (참고)

글로벌 보조기기 시장: $337억 → $700억 (CAGR 12.1%). 50+ 글로벌 기술 지출 점유: 2030년 51%.

12. 경쟁 / 차별점

12.1 인접 솔루션 비교

그룹대표한계
AI 콜봇 (B2B)Bland.ai, Vapi 외단일 도메인
시니어 outbound클로바 케어콜, 든든이outbound 한정
시각장애 보조Be My Eyes, Aira사람 기반, GUI API 미통합
스크린리더센스리더, VoiceMeeterGUI 의존

12.2 5조건 교집합 (시장에 없음)

  1. Inbound DTMF 라우팅
  2. 다카테고리 통합
  3. GUI API 번역 레이어
  4. 접근성 1차 사용자
  5. EAA 컴플라이언스 동시 (옵션)

13. 실행 로드맵

Phase 0 — 핵심 자산 완성 (~2026 Q4)
Park-LoRA v4 · DiffSinger Korean Voice Bank · DDSP 48kHz · faster-whisper WER < 5%
Phase 1 — 법률 + 동업자 (2027 Q1)
장차법 자문 · 국책 IP 검토 · 동업자 영입 · KBU 미팅
Phase 2 — 국책 공모 + PoC (2027 Q1~Q2)
보조공학 R&D 신청 · NIA 검증 · NRC 트랙 모니터링
Phase 3 — 기술 PoC (2027 Q2~Q3)
Asterisk + faster-whisper + Park-LoRA 풀스택 · 070 1회선 · 베타 3~5명
Phase 4 — 한국 정식 출시 (2027 Q4 ~ 2028 Q2)
사용자 100명 · B2G 시범 · PIA 자율 시행
Phase 5 — 글로벌 (2028 Q3+, 옵션)
조건: 사용자 100명 + B2G 1건 + NIA 인증 + 영문 인력

14. 박씨 정체성

EduArt Engineer
Education × Art × Engineering
Voice-UI Translation OS Architect ⭐

핵심 스토리: 박씨는 시각장애인이 아닌데도 시각장애인이라 가정하고 본인 작업환경을 만들어왔다. 그 결과 만들어진 것은 접근성 도구가 아니라 GUI 세계와 음성 세계를 잇는 번역 OS다. 한국에서 검증한다. 글로벌은 그 다음이다.


부록

부록 A — 영문 1페이지 요약 (Phase 5 영업용)

Voice-UI Translation OS — Executive Summary

Voice-UI Translation OS is an inbound voice infrastructure that wraps existing GUI services with a phone call. Users dial a single Korean PSTN number and complete daily life tasks — repair requests, administrative procedures, food orders, shopping — without ever touching a screen, app, or visual interface.

The problem. Mandatory GUI dependence excludes 250–350 million potential users globally who are blind, low-vision, elderly, screen-fatigued, or digitally underserved. Existing solutions treat voice as either a single-domain feature or an assistive overlay.

The architecture. A four-layer system — PSTN intake (Asterisk + DTMF), speech processing (Whisper-large-v3 + Park-LoRA), translation core (intent → external GUI API dispatch), and voice output (tone-aware TTS).

The differentiator. Five conditions intersect that no competitor satisfies simultaneously: (1) inbound DTMF routing, (2) multi-category integration, (3) GUI API translation layer, (4) accessibility-first definition, (5) EAA compliance positioning.

Korean validation, EU readiness. Validated in Korea under the Anti-Discrimination Act and Information Accessibility framework.

Status. Park-LoRA v3 trained at 50% style match. Source code: ~420 lines. Phase 0 targets 2026 Q4.

Contact. dtslib.com — Parksy (EduArt Engineer)

부록 B — 외부용 톤다운 매핑

본문 어휘외부용 어휘
박씨 / Parksy박OO 대표 / Parksy (영문)
흥신소 (절대 금지)음성 컨시어지 / 접근성 인프라
GUI 해방디지털 접근성 향상
다이어트 룰코드 간결성 표준
도그마설계 원칙

부록 C — 발췌 가이드

용도발췌 섹션
기술 백서만1~6
전략 백서만7~13
2026 R&D 제안서Exec Summary + 4 + 6 + 8.2~8.4 + 11 + 13 (Phase 0~3)
법률 자문 의뢰5.4~5.5 + 8 + 11 + 13 (Phase 1)
동업자 영입1 + 9.1 + 10 + 13
EAA 영업 (Phase 5)부록 A + Part I 영문화 + 11.3 + 12

부록 D — 변경 이력

버전주요 변경트리거
v4.0기술+전략 통합내부 설계 완료
v5.05개 감점 사유 메움Perplexity v5 평가
v6.0STT 정의 + NRC 트랙 + PIA/ISMS + 영문 페이지외부 전문가 평가

부록 E — 다음 갱신 트리거

  1. Phase 0 완료
  2. 보조공학 R&D 신청 결과
  3. NRC 보조기기 실용화 R&D 공고 확인
  4. 외부 시장 변화 (네이버 클로바 또는 와이즈에이아이 확장)
  5. 첫 PoC 사용자 100명
  6. B2G 첫 시범
  7. NIA 인증 통과
  8. EU 현지 EAA 경쟁자 등장
  9. ISMS-P 인증 진입 결정

— Voice-UI Translation OS · v6.0 Final · 2026-04-30 —
PHONE PARIS
'''