lobehub/lobe-tts
🎤 Lobe TTS - A high-quality & reliable TTS/STT library for Server and Browser
Lobe TTS – JavaScript/TypeScript용 텍스트 음성 변환 및 음성 텍스트 변환
이것이 무엇인가
- 텍스트를 음성 오디오로 변환하고 음성 오디오를 텍스트로 전사할 수 있는 작은 순수 JavaScript 라이브러리(
@lobehub/tts)입니다. - 서버(Node.js / Bun)와 브라우저 모두에서 작동하며, 빠른 통합을 위한 기성 React 훅과 UI 컴포넌트가 포함되어 있습니다.
왜 사용해야 하는가
- 통합 API – 동일한 함수 호출이 여러 공급자(Microsoft Edge, Microsoft Speech, OpenAI 또는 브라우저 내장 음성 합성)와 함께 작동합니다. 앱 코드를 변경하지 않고 백엔드를 전환할 수 있습니다.
- 서버 측 생성 – 백엔드에서 MP3 파일을 생성하여 클라이언트에 제공할 수 있습니다. 사전 렌더링된 팟캐스트, 음성 알림 또는 접근성 기능에 유용합니다.
- 클라이언트 측 재생 – React 앱에서 즉시 음성을 재생할 수 있으며, 진행 상황을 표시하고 일시 중지를 허용하며 다운로드 버튼을 제공하는 내장
<AudioPlayer>가 있습니다. - 긴 텍스트 처리 – 라이브러리는 오디오를 스트리밍하므로 긴 구절이 전체 파일이 준비되기 전에 재생을 시작하여 더 부드러운 UX를 제공합니다.
- AI 친화적 문서 –
skills.md및llms.txt파일을 게시하여 AI 코딩 어시스턴트(Claude, Cursor, Copilot 등)가 API를 읽고 코드를 자동 생성할 수 있습니다.
시작하는 방법
# 핵심 패키지 설치(ESM 전용)
pnpm i @lobehub/tts
- React의 경우
@lobehub/ui,react@^19,react-dom@^19도 필요합니다.
서버 측 예제(Bun / Node 22+)
import { EdgeSpeechTTS } from '@lobehub/tts';
import fs from 'node:fs';
const tts = new EdgeSpeechTTS({ locale: 'en-US' });
const response = await tts.create({
input: 'This is a speech demonstration',
options: { voice: 'en-US-GuyNeural' }
});
fs.writeFileSync('./speech.mp3', Buffer.from(await response.arrayBuffer()));
(이전 Node에서 실행하는 경우 전역 WebSocket 구현을 제공하세요.)
React 사용법
import { AudioPlayer, useEdgeSpeech } from '@lobehub/tts/react';
import { Button, Flexbox } from '@lobehub/ui';
export default function Demo() {
const { isGlobalLoading, start, stop, audio } = useEdgeSpeech('Hello from Lobe TTS', {
options: { voice: 'en-US-GuyNeural' }
});
return (
<Flexbox gap={8}>
<Button loading={isGlobalLoading} ? stop : start}>
Speak
</Button>
<AudioPlayer audio={audio} isLoading={isGlobalLoading} />
</Flexbox>
);
}
필요한 경우 Next.js 구성에 transpilePackages: ['@lobehub/tts']를 추가하세요.
패키지 구성
| 패키지 | 용도 |
|---|---|
@lobehub/tts |
핵심 API – 음성 생성 또는 오디오 전사. 모든 JS 환경에서 사용 가능. |
@lobehub/tts/server |
자체 API 경로를 통해 OpenAI 음성/전사를 프록시하는 헬퍼. |
@lobehub/tts/react |
React 훅(useEdgeSpeech, useOpenAISpeech 등) 및 <AudioPlayer> 컴포넌트. |
문서 및 커뮤니티
- 전체 문서, 라이브 데모 및 API 참조는 tts.lobehub.com 에 있습니다.
- 이 프로젝트는 오픈 소스(MIT)이며 GitHub Issues 및 Pull Requests를 통한 기여를 환영합니다.
- OpenCollective를 통해 후원할 수 있습니다.
누가 혜택을 받을 수 있는가
- 음성 피드백이나 음성 명령이 필요한 웹 앱을 구축하는 프런트엔드 개발자.
- 주문형 오디오 파일을 생성해야 하는 백엔드 서비스(예: 자동 안내, 접근성 도구).
- 이미 Lobe의 UI 컴포넌트 라이브러리를 사용하고 있으며 일관된 플러그 앤 플레이 음성 솔루션을 원하는 팀.
위의 모든 세부 사항은 저장소의 README에서 직접 가져온 것이며 추가 기능은 추론되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트