transcriptionstream

transcriptionstreamGPL-3.0更新放缓

开箱即用的自托管离线转录与说话人分离服务,集成 WhisperX 和本地 LLM 自动生成会议摘要,数据不出内网。

turnkey self-hosted offline transcription and diarization service with llm summary

暂无版本946star53fork同步于 2026-11-07 07:30 UTC

怎么上手

由 README 提炼,执行前请确认
./start-nobuild.sh
硬件要求按 README 说明

需要 NVIDIA GPU;README 提示 12GB 显存可能不足以同时运行 whisper-diarization 和 Ollama Mistral,作者建议将 Ollama 端点放到另一台机器(如 M 系列 Mac)上运行。

需要 CUDA
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

自托管离线转录与说话人分离服务,附带 LLM 摘要和全文搜索

开箱即用的自托管离线转录与说话人分离服务,集成 WhisperX 和本地 LLM 自动生成会议摘要,数据不出内网。

核心能力

  • 通过 SSH 拖放文件到 transcribe 或 diarize 目录自动处理
  • Web 界面支持上传、回放、校对与下载,转录高亮随时间同步
  • 用 Ollama 搭配 Mistral 模型对转录文本生成结构化摘要
  • 集成 Meilisearch 提供全文搜索
  • Docker 一键拉取镜像并启动全部服务

容易踩的坑

ts-gpu 镜像约 26GB,构建或拉取耗时较长;默认 SSH 账号 transcriptionstream 密码 nomoresaastax,且 README 明确警告示例代码不应直接用于生产;12GB 显存下同时跑转录和 Ollama 摘要可能触发 CUDA 显存不足,需调低 batch 或分离部署。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

0 个版本

暂无 release 数据(可能没有发版,或尚未同步)。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Transcription Stream Community Edition

    Created by https://transcription.stream with special thanks to MahmoudAshraf97 and his work on whisper-diarization, and to jmorganca for Ollama and its amazing simplicity in use.

    Overview

    Transcription Stream is a turnkey self-hosted diarization service that works completely offline. Out of the box it includes:

    • drag and drop diarization and transcription via SSH
    • a web interface for upload, review, and download of files
    • summarization with Ollama and Mistral
    • Meilisearch for full text search

    A web interface and SSH drop zones make this simple to use and implement into your workflows. Ollama allows for a powerful toolset, limited only by your prompt skills, to perform complex operations on your transcriptions. Meiliesearch adds ridiculously fast full text search.

    Use the web interface to upload, listen to, review, and download output files, or drop files via SSH into transcribe or diarize. Files are processed with output placed into a named and dated folder. Have a quick look at the install and ts-web walkthrough videos for a better idea.

    prompt_text = f"""
    Summarize the transcription below. Be sure to include pertinent information about the speakers, including name and anything else shared.
    Provide the summary output in the following style
    
    Speakers: names or identifiers of speaking parties
    Topics: topics included in the transcription
    Ideas: any ideas that may have been mentioned
    Dates: dates mentioned and what they correspond to
    Locations: any locations mentioned
    Action Items: any action items
    
    Summary: overall summary of the transcription
    
    The transcription is as follows
    
    {transcription_text}
    
    """
    

    Prerequisite: NVIDIA GPU

    Warning: The resulting ts-gpu image is ~26GB and might take a hot second to create

    Quickstart (no build)

    Pulls all docker images and starts services

    ./start-nobuild.sh
    

    Build and Run Instructions

    If you'd like to build the images locally

    Automated Install and Run

    chmod +x install.sh;
    ./install.sh;
    

    Run

    chmod +x run.sh;
    ./run.sh
    

    Additional Information

    Ports

    • SSH: 22222
    • HTTP: 5006
    • Ollama: 11434
    • Meilisearch: 7700

    SSH Server Access

    • Port: 22222
    • User: transcriptionstream
    • Password: nomoresaastax
    • Usage: Place audio files in transcribe or diarize. Completed files are stored in transcribed.

    Web Interface

    • URL: http://dockerip:5006
    • Features:
      • Audio file upload/download
      • Task completion alerts with interactive links
      • HTML5 web player with speed control and transcription highlighting
      • Time-synced transcription scrubbing/highlighting/scrolling

    Ollama api

    Meilisearch api

    Warning: This is example code for example purposes and should not be used in production environments without additional security measures.

    Customization and Troubleshooting

    • Update variables in the .env file
    • Change the password for transcriptionstream in the ts-gpu Dockerfile.
    • Update the Ollama api endpoint IP in .env if you want to use a different endpoint
    • Update the secret in .env for ts-web
    • Use .env to choose which models are included in the initial build.
    • Change the prompt text in ts-gpu/ts-summarize.py to fit your needs. Update ts-web/templates/transcription.html if you want to call it something other than summary.
    • 12GB of vram may not be enough to run both whisper-diarization and ollama mistral. Whisper-diarization is fairly light on gpu memory out of the box, but Ollama's runner holds enough gpu memory open causing the diarization/transcription to run our of CUDA memory on occasion. Since I can't run both on the same host reliably, I've set the batch size for both whisper-diarization and whisperx to 16, from their default 8, and let a m series mac run the Ollama endpoint.

    To-do

    • Need to fix an issue with ts-web that throws an error to console when loading a transcription when a summary.txt file does not also exist. Lots of other annoyances with ts-web, but it's functional.
    • Need to add a search/control interface to ts-web for Meilisearch