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 잠금 해제 및 라이선스 확인 용도로만 사용됩니다.

사용 방법 (일반적인 흐름)

  1. Picovoice 콘솔에서 AccessKey를 획득합니다 (모든 SDK에서 필수).
  2. Cheetah 인스턴스를 생성합니다 (AccessKey와 모델 파일 사용. 기본 모델은 포함되어 있으며, 사용자 정의 모델은 Picovoice Console을 통해 학습 가능).
  3. 오디오 프레임(16-bit PCM)을 process (또는 process_annotated)에 입력합니다. 이 호출은 부분적인 전사 결과와 발화 종료 여부를 나타내는 플래그를 반환합니다.
  4. is_endpoint가 true일 때, flush (또는 flush_annotated)를 호출하여 최종 전사 결과를 얻습니다.
  5. 작업 완료 후 리소스를 해제합니다.

예제 (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로, 광범위한 언어 바인딩과 데모 코드를 갖추고 있습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트