tgies/klattsch
primitive parallel-formant speech synth in the browser
해결하는 문제
브라우저, Node.js, 또는 CLI에서 무거운 외부 종속성 없이 합성 음성 생성을 가능하게 합니다. 특히 ARPABET 표준을 사용한 음소 문자열과 피치, 음성 높이, 타이밍 지시어를 사용하여 1970년대 후반과 1980년대 초반의 '레트로' 사운드(예: Votrax 또는 SAM)를 병렬 포르마턴트 합성으로 재현합니다.
작동 방식
시스템은 컴파일러와 합성기의 두 단계 프로세스를 사용합니다.
- 컴파일러: ARPABET 표준을 사용한 음소 문자열과 피치, 음성 높이, 타이밍 지시어를 입력받아 타임스탬프가 붙은 타겟 스케줄로 변환합니다.
- 합성기: 이 스케줄을 해석하여 음성을 생성합니다. 발성 음에는 로젠버그 스타일의 글로탈 펄스를, 비발성 음에는 xorshift 노이즈를 사용하며, 이를 3개의 병렬 밴드패스 이계 필터(포르마턴트)를 통해 통과시켜 음성 품질을 형성합니다.
다중 음성(폴리포닉)을 지원하여 여러 독립된 음성을 혼합할 수 있으며, AudioWorklets을 통해 웹 앱에 통합되어 낮은 지연 시간으로 재생할 수 있습니다.
대상 사용자
- 프로젝트에 레트로 음성 효과를 추가하고 싶은 웹 개발자.
- 캐릭터용 가벼운, 종속성 없는 음성 엔진을 찾는 게임 개발자.
- 포르마턴트 합성과 초기 컴퓨터 음성에 관심 있는 사운드 디자이너.
주요 특징
- 런타임 종속성 없음: 브라우저, Node, CLI에서 모두 작동.
- 다중 음성 지원: 코드나 다중 음성 음성 생성 가능.
- 유연한 프로소디: 피치, 비브라토, 숨소리, 글로탈 노력 조절 가능.
- 사용자 정의 가능: 컴파일러가 분리되어 있어 커스텀 엔진이나 고급 DSP 확장을 위한 불투명한 상태 지시어를 사용할 수 있음.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트