Picovoice/cheetah
On-device streaming speech-to-text engine powered by deep learning
Picovoice / Cheetah란 무엇인가요?
Cheetah는 실시간 온디바이스 음성 인식 엔진입니다. 완전히 오프라인으로 실행되며(오디오가 장치를 벗어나지 않음), 스마트폰, 임베디드 보드(Raspberry Pi), 브라우저 및 데스크톱 OS에서 실행될 만큼 가볍게 설계되었습니다.
핵심 기능
- 스트리밍 전사 – 짧은 오디오 프레임을 입력하면 부분적인 전사 결과를 반환하며, 발화가 끝나면 최종 전사 결과를 받습니다.
- 단어 단위 메타데이터 – 선택적 API를 통해 각 단어의 타임스탬프와 신뢰도 점수를 반환합니다.
- 다국어 지원 – 영어, 프랑스어, 독일어, 이탈리아어, 포르투갈어, 스페인어를 기본 지원하며, 상업용 고객은 다른 언어도 이용할 수 있습니다.
- 크로스 플랫폼 – Python, Java, .NET, Node.js, React, React-Native, Flutter, iOS, Android 및 Web(일반 JS 또는 React)용 바인딩이 포함된 네이티브 C 라이브러리입니다. 또한 Linux, macOS, Windows 및 Raspberry Pi용 사전 빌드된 바이너리를 제공합니다.
- 개인정보 보호 우선 – 모든 처리가 로컬에서 이루어지며, AccessKey는 SDK 잠금 해제 및 라이선스 확인 용도로만 사용됩니다.
사용 방법 (일반적인 흐름)
- Picovoice 콘솔에서 AccessKey를 획득합니다 (모든 SDK에서 필수).
- Cheetah 인스턴스를 생성합니다 (AccessKey와 모델 파일 사용. 기본 모델은 포함되어 있으며, 사용자 정의 모델은 Picovoice Console을 통해 학습 가능).
- 오디오 프레임(16-bit PCM)을
process(또는process_annotated)에 입력합니다. 이 호출은 부분적인 전사 결과와 발화 종료 여부를 나타내는 플래그를 반환합니다. is_endpoint가 true일 때,flush(또는flush_annotated)를 호출하여 최종 전사 결과를 얻습니다.- 작업 완료 후 리소스를 해제합니다.
예제 (Python)
import pvcheetah
handle = pvcheetah.create(access_key='YOUR_KEY')
while True:
partial, is_endpoint = handle.process(get_next_frame())
if is_endpoint:
final = handle.flush()
README에는 C, Swift, Java, Kotlin, Dart, JavaScript, C# 등에 대한 유사한 코드 스니펫이 제공됩니다.
데모 및 SDK
이 저장소는 지원되는 각 언어/플랫폼에 대해 즉시 실행 가능한 데모(마이크 입력, 오디오 파일 모드) 세트를 제공하며, Maven, npm, PyPI, CocoaPods, NuGet, Pub 등에 대한 패키지 목록도 포함되어 있습니다.
누가 사용해야 하나요?
- 오프라인 음성 명령이나 받아쓰기 기능이 필요한 모바일 앱.
- 오디오를 클라우드로 전송하는 것이 바람직하지 않은 임베디드 장치(예: 스마트 스피커, 로봇).
- 서버 왕복 없이 온디바이스 전사를 원하는 웹 애플리케이션.
- 낮은 지연 시간, 작은 설치 공간, 데이터 개인정보 보호를 중요하게 생각하는 모든 제품.
결론: Cheetah는 온디바이스 및 저사양 환경에 최적화된 진정한 프로덕션급 음성 인식 SDK로, 광범위한 언어 바인딩과 데모 코드를 갖추고 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트