jamesondh/chimera-vocal-synth
the ultimate vocal synthesizer - sing, speak, beatbox, and more
그것은 무엇인가
CHIMERA는 웹 브라우저에서 완전히 실행되는 음성 합성기입니다. 녹음된 오디오 샘플을 재생하는 대신 인간 목소리의 물리적 특성(폐, 성대, 성도, 혀, 입술, 코)을 실시간으로 시뮬레이션합니다. 무거운 작업은 WebAssembly로 컴파일된 Rust 엔진이 수행하며, 브라우저의 오디오 시스템 내에서 실행됩니다. 동일한 Rust 코드는 테스트를 위해 네이티브로도 실행되며 chimera라는 명령줄 도구로도 사용됩니다.
무엇을 할 수 있나요
- 연주 — 머리의 라이브 단면 보기에서 혀, 입술, 턱을 드래그합니다. 모음 패드, 노브, 컴퓨터 키보드 또는 Web MIDI 장치로 음성을 제어합니다.
- 말하기 — 영어 텍스트(CMU 발음 사전 사용, 문자-소리 폴백 포함) 또는 IPA를 입력하면 엔진이 이를 입 모양과 음성 리듬으로 변환합니다. 화면에서 제스처 악보와 자음 차트를 볼 수 있습니다.
- 노래 — 각 음표에 가사가 있는 피아노 롤을 사용합니다. 자음은 비트 바로 직전에 맞춰집니다.
- 비트박스 — 패드와 스텝 시퀀서. 모든 드럼 소리는 실제로 조음 제스처(입 움직임과 같은)이며 샘플이 아닙니다.
- 동물 소리 — 인간이 아닌 목소리: 명금(이중 성대인 새의 울음주머니), 물개, 악어, 코끼리.
- 듀엣 — URL 매개변수(
?show=<id>)로 두 개의 3D 머리가 있는 사전 렌더링된 노래를 재생합니다.
남성, 여성, 어린이 성도는 연속적으로 혼합됩니다. 화면에 보이는 모든 것(성도의 기압, 기류, 성대, 스펙트럼, 포먼트)은 실제 엔진 상태에서 실시간으로 애니메이션됩니다.
실행 방법
Rust(wasm32-unknown-unknown 타겟 포함)와 Bun이 설치되어 있어야 합니다. 그런 다음:
bun install
bun run dev # WebAssembly를 빌드한 다음 127.0.0.1:5317에서 Vite 시작
bun run test # wasm 빌드, cargo 테스트 실행, 그 다음 Bun 테스트 실행
오디오 시스템은 보안 컨텍스트가 필요하므로 localhost 또는 HTTPS에서 열어야 합니다(README에서는 tailscale serve를 한 가지 옵션으로 제안). Vercel은 vercel.json을 통해 빌드합니다.
오프라인 렌더링 및 측정
CLI는 브라우저 없이 오디오를 렌더링할 수 있습니다:
cargo run --release -p chimera-cli -- render speech|text|song|notes|beatbox|creature|vowels …
cargo run --release -p chimera-cli -- diagnose # 비강 누출, 포먼트, 대역폭, 피치 확인
cargo run --release -p chimera-cli -- compare csd # 실제 가수와 음성 점수 비교 (Children's Song Dataset)
cargo run --release -p chimera-cli -- compare tsp # 23명의 실제 화자와 음성 점수 비교 (TSP 음성 데이터베이스)
bun tools/spectrogram.ts in.wav out.png # 오디오 파일에서 스펙트로그램 이미지 생성
문서
저장소에는 음향 모델(유한 차분 시간 영역 성도 시뮬레이션, 소스, 해부학, 제스처), 엔진의 실시간 및 결정성 계약, UI 디자인, 실제 가수 및 화자와의 비교, 그리고 음성을 측정된 단계로 조정하는 데 사용된 언덕 오르기 로그에 대한 문서가 포함되어 있습니다.
라이선스
MIT. 번들된 타사 파일은 자체 라이선스를 유지합니다: CMU 발음 사전과 글꼴.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트