サーバーとブラウザー用の高品質で信頼性の高いTTS/STTライブラリ
ドキュメント・changelog・レポートバグ・リクエスト機能
? Lobe Chatは、テキストツースピーチ(TTS)とスピーチツーテキスト(STT)テクノロジーをサポートし、アプリケーションがテキストメッセージをクリア音声出力に変換できるようにし、ユーザーが実際の人と話しているかのように会話エージェントと対話できるようにします。ユーザーは、さまざまな声からエージェントとペアリングすることができます。
この機能を実装するプロセスでは、市場で利用可能な満足のいくTTS(テキストからスピーチ)フロントエンドライブラリがないことがわかりました。その結果、他のタスクの中でも、データ変換、オーディオ進捗管理、音声視覚化など、多くの努力を投資しました。
注記
したがって、TTSの実装を希望する開発者を支援することを望んで、実装を改良し、オープンソースにすることにしました。 @lobehub/ttsは、Typescriptで開発された高品質のTTSツールキットであり、サーバー側とブラウザの両方での使用をサポートします。
以下のスクリプトを実行しますBun: bun index.jsを使用します
// index.js
import { EdgeSpeechTTS } from '@lobehub/tts' ;
import { Buffer } from 'buffer' ;
import fs from 'fs' ;
import path from 'path' ;
// Instantiate EdgeSpeechTTS
const tts = new EdgeSpeechTTS ( { locale : 'en-US' } ) ;
// Create speech synthesis request payload
const payload = {
input : 'This is a speech demonstration' ,
options : {
voice : 'en-US-GuyNeural' ,
} ,
} ;
// Call create method to synthesize speech
const response = await tts . create ( payload ) ;
// generate speech file
const mp3Buffer = Buffer . from ( await response . arrayBuffer ( ) ) ;
const speechFile = path . resolve ( './speech.mp3' ) ;
fs . writeFileSync ( speechFile , mp3Buffer ) ;重要
node.jsで実行します
Node.js環境にはWebSocketインスタンスがないため、WebSocketをポリフィルする必要があります。これは、WSパッケージをインポートすることで実行できます。
// import at the top of the file
import WebSocket from 'ws' ;
global . WebSocket = WebSocket ; import { AudioPlayer , AudioVisualizer , useAudioPlayer } from '@lobehub/tts/react' ;
export default ( ) => {
const { ref , isLoading , ... audio } = useAudioPlayer ( url ) ;
return (
< Flexbox align = { 'center' } gap = { 8 } >
< AudioPlayer audio = { audio } isLoading = { isLoading } style = { { width : '100%' } } />
< AudioVisualizer audioRef = { ref } isLoading = { isLoading } />
</ Flexbox >
) ;
} ;重要
このパッケージはESMのみです。
@lobehub/ttsをインストールするには、次のコマンドを実行します。
$ pnpm i @lobehub/tts$ bun add @lobehub/tts注記
next.js ssrで正しい作業により、 transpilePackages: ['@lobehub/tts'] next.config.jsに追加します。例えば:
const nextConfig = {
transpilePackages : [ '@lobehub/tts' ] ,
} ; オンライン開発にはGitHubコードスペースを使用できます。
または、ローカル開発のためにそれをクローンします:
$ git clone https://github.com/lobehub/lobe-tts.git
$ cd lobe-tts
$ bun install
$ bun devあらゆるタイプの貢献は大歓迎です。コードを寄付することに興味があるなら、GitHubの問題をチェックして、あなたが何をしているかを示すために立ち往生してください。
すべてのビットが重要であり、あなたの一時的な寄付は私たちのサポートの銀河で輝いています!あなたはシューティングスターであり、私たちの旅に迅速で明るい影響を与えます。私たちを信じてくれてありがとう - あなたの寛大さは私たちの使命に向けて私たちを導きます。

より多くのリソース
Copyright©2023 Lobehub。
このプロジェクトはMITライセンスです。