Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.
/ stt_whisper Public archive

Speech-To-Text provider running OpenAI Whisper locally

Notifications You must be signed in to change notification settings

nextcloud/stt_whisper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Whisper Speech-To-Text

Speech-To-Text provider for Nextcloud running OpenAI Whisper locally on CPU.

The model runs completely on your machine. No private data leaves your servers.

Requirements

  • Architecture: x86-64 with AVX support
  • OS: Linux

Model sizes

  • Small: 500MB
  • Medium: 1.5Gb
  • Large: 3.1GB

Ethical AI Rating

Rating: 🟡

Positive:

  • the software for training and inference of this model is open source
  • the trained model is freely available, and thus can be run on-premises

Negative:

  • the training data is not freely available, limiting the ability of external parties to check and correct for bias or optimise the model’s performance and CO2 usage.

Learn more about the Nextcloud Ethical AI Rating in our blog.

Install

  • Manual install
    • Place this app in nextcloud/apps/
  • One click install

Download models

After installing this app you will need to run

occ stt_whisper:download-models [model-name]

where [model-name] is one of

  • small
  • medium (default)
  • large

Building the app

The app can be built by using the provided Makefile by running:

make

This requires the following things to be present:

  • make
  • which
  • tar: for building the archive
  • curl: used if phpunit and composer are not installed to fetch them from the web
  • npm: for building and testing everything JS, only required if a package.json is placed inside the js/ folder
  • gcc: for building whisper.cpp

NOTE

A few things to keep in mind.

  • Transcriptions need to be enabled in the Talk app if you need the calls to be transcribed with any Speech to Text provider (including this app). It can be set using this occ command:
occ config:app:set spreed call_recording_transcription --value yes
  • This app tends to be heavy on CPU. If it starts to be an issue in your normal workflow, you can limit the number of threads used by Whisper in the "Whisper Speech-To-Text" section in the admin settings
  • The generated transcriptions may vary in accuracy based on the spoken language.
  • Per participant transcription in calls is currently not available but PRs are welcome!