Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Cài đặt giọng nói

Cấu hình các tính năng Chuyển đổi giọng nói thành văn bản (STT) và Văn bản thành giọng nói (TTS)

Giới thiệu về tính năng Giọng nói

Cấu hình Speech bao gồm các thiết lập cho cả Speech-to-Text (STT) và Text-to-Speech (TTS) trong một phần speech: thống nhất. Ngoài ra, còn có một menu speechTab mới dành cho các thiết lập cụ thể của người dùng.

Xem thêm: Để biết lược đồ cấu hình YAML chi tiết và tất cả các tùy chọn khả dụng, hãy xem tài liệu Speech Object Structure.

Các biến môi trường

Khi sử dụng các dịch vụ STT/TTS dựa trên đám mây, bạn sẽ cần thiết lập các khóa API trong tệp .env của mình:

# Speech-to-Text API key (e.g., OpenAI Whisper)
STT_API_KEY=your-stt-api-key

# Text-to-Speech API key (e.g., OpenAI TTS, ElevenLabs)
TTS_API_KEY=your-tts-api-key

Các khóa này sau đó được tham chiếu trong cấu hình librechat.yaml của bạn bằng cách sử dụng ${STT_API_KEY}${TTS_API_KEY}.

Tab Thoại (tùy chọn)

Menu speechTab cung cấp các tùy chọn có thể tùy chỉnh cho chế độ hội thoại và chế độ nâng cao, cũng như các cài đặt chi tiết cho STT và TTS. Điều này sẽ thiết lập các cài đặt mặc định cho người dùng.

ví dụ:

speech:
  speechTab:
    conversationMode: true
    advancedMode: false
    speechToText:
      engineSTT: "external"
      languageSTT: "English (US)"
      autoTranscribeAudio: true
      decibelValue: -45
      autoSendText: 0
    textToSpeech:
      engineTTS: "external"
      voice: "alloy"
      languageTTS: "en"
      automaticPlayback: true
      playbackRate: 1.0
      cacheTTS: true

STT (Speech-to-Text)

Tính năng Chuyển đổi giọng nói thành văn bản (STT) giúp chuyển đổi lời nói thành văn bản viết. Để bật STT, hãy nhấp vào nút STT (gần nút gửi) hoặc sử dụng tổ hợp phím ++Ctrl+Alt+L++ để bắt đầu phiên chuyển đổi.

Các dịch vụ STT khả dụng

  • STT cục bộ
    • Dựa trên trình duyệt
    • Whisper (đã kiểm thử trên LocalAI)
  • Cloud STT
    • OpenAI Whisper
    • Azure Whisper
    • Các dịch vụ STT tương thích với OpenAI khác

Cấu hình STT cục bộ

  • Browser-based

    Không cần thiết lập. Hãy đảm bảo rằng công tắc "Speech To Text" trong tab cài đặt giọng nói đã được bật và "Browser" đã được chọn trong menu thả xuống của engine.

  • Whisper Local

    Yêu cầu một instance Whisper cục bộ.

speech:
  stt:
    openai:
      url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
      model: 'whisper'

Cấu hình Cloud STT

speech:
  stt:
    openai:
      apiKey: '${STT_API_KEY}'
      model: 'whisper-1'
speech:
  stt:
    azureOpenAI:
      instanceName: 'instanceName'
      apiKey: '${STT_API_KEY}'
      deploymentName: 'deploymentName'
      apiVersion: 'apiVersion'

Hỗ trợ tên miền endpoint Azure

Trường instanceName hỗ trợ cả hai định dạng tên miền Azure OpenAI:

  • Định dạng mới: .cognitiveservices.azure.com (ví dụ: my-instance.cognitiveservices.azure.com)
  • Định dạng cũ: .openai.azure.com (ví dụ: my-instance.openai.azure.com)

Bạn có thể chỉ định tên miền đầy đủ hoặc chỉ tên instance. Nếu bạn cung cấp tên miền đầy đủ bao gồm .azure.com, nó sẽ được sử dụng nguyên trạng. Nếu không, định dạng .openai.azure.com cũ sẽ được áp dụng để đảm bảo tính tương thích ngược.

Tham khảo phần OpenAI Whisper, điều chỉnh urlmodel nếu cần.

ví dụ

speech:
  stt:
    openai:
      url: 'http://host.docker.internal:8080/v1/audio/transcriptions'
      model: 'whisper'

TTS (Chuyển đổi văn bản thành giọng nói)

Tính năng Chuyển văn bản thành giọng nói (TTS) giúp chuyển đổi văn bản viết thành lời nói. Có nhiều dịch vụ TTS khác nhau khả dụng:

Các dịch vụ TTS khả dụng

  • TTS cục bộ
    • Dựa trên trình duyệt
    • Piper (đã thử nghiệm trên LocalAI)
    • Coqui (đã thử nghiệm trên LocalAI)
  • Cloud TTS
    • OpenAI TTS
    • Azure OpenAI
    • ElevenLabs
    • Các dịch vụ TTS tương thích với OpenAI/ElevenLabs khác

Cấu hình Local TTS

Không cần thiết lập. Hãy đảm bảo rằng công tắc "Text To Speech" trong tab cài đặt giọng nói đã được bật và "Browser" đã được chọn trong menu thả xuống của engine.

Yêu cầu một instance Piper cục bộ.

speech:
  tts:
    localai:
      url: "http://host.docker.internal:8080/tts"
      apiKey: "EMPTY"
      voices: [
        "en-us-amy-low.onnx",
        "en-us-danny-low.onnx",
        "en-us-libritts-high.onnx",
        "en-us-ryan-high.onnx",
      ]
      backend: "piper"

Yêu cầu một instance Coqui cục bộ.

speech:
  tts:
    localai:
      url: 'http://localhost:8080/v1/audio/synthesize'
      voices: ['tts_models/en/ljspeech/glow-tts', 'tts_models/en/ljspeech/tacotron2', 'tts_models/en/ljspeech/waveglow']
      backend: 'coqui'

Cấu hình Cloud TTS

speech:
  tts:
    openai:
      apiKey: '${TTS_API_KEY}'
      model: 'tts-1'
      voices: ['alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer']
speech:
  tts:
    azureOpenAI:
      instanceName: ''
      apiKey: '${TTS_API_KEY}'
      deploymentName: ''
      apiVersion: ''
      model: 'tts-1'
      voices: ['alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer']

Hỗ trợ tên miền endpoint Azure

Trường instanceName hỗ trợ cả hai định dạng tên miền Azure OpenAI:

  • Định dạng mới: .cognitiveservices.azure.com (ví dụ: my-instance.cognitiveservices.azure.com)
  • Định dạng cũ: .openai.azure.com (ví dụ: my-instance.openai.azure.com)

Bạn có thể chỉ định tên miền đầy đủ hoặc chỉ tên instance. Nếu bạn cung cấp tên miền đầy đủ bao gồm .azure.com, nó sẽ được sử dụng nguyên trạng. Nếu không, định dạng .openai.azure.com cũ sẽ được áp dụng để đảm bảo tính tương thích ngược.

speech:
  tts:
    elevenlabs:
      apiKey: '${TTS_API_KEY}'
      model: 'eleven_multilingual_v2'
      voices: ['202898wioas09d2', 'addwqr324tesfsf', '3asdasr3qrq44w', 'adsadsa']

Các tham số cụ thể cho ElevenLabs có thể được thêm vào như sau:

      voice_settings:
        similarity_boost: '' # number
        stability: '' # number
        style: '' # number
        use_speaker_boost: # boolean
      pronunciation_dictionary_locators: [''] # list of strings (array)

Tham khảo phần OpenAI TTS, điều chỉnh biến url nếu cần.

ví dụ:

speech:
  tts:
    openai:
      url: 'http://host.docker.internal:8080/v1/audio/synthesize'
      apiKey: '${TTS_API_KEY}'
      model: 'tts-1'
      voices: ['alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer']

Tham khảo phần ElevenLabs, điều chỉnh biến url khi cần thiết

ví dụ:

speech:
  tts:
    elevenlabs:
      url: 'http://host.docker.internal:8080/v1/audio/synthesize'
      apiKey: '${TTS_API_KEY}'
      model: 'eleven_multilingual_v2'
      voices: ['202898wioas09d2', 'addwqr324tesfsf', '3asdasr3qrq44w', 'adsadsa']

Hướng dẫn này thế nào?