• Y
  • List All
  • Feedback
    • This Project
    • All Projects
Profile Account settings Log out
  • Favorite
  • Project
  • All
Loading...
  • Log in
  • Sign up
yjyoon / whisper_server_speaches star
  • Project homeH
  • CodeC
  • IssueI
  • Pull requestP
  • Review R
  • MilestoneM
  • BoardB
  • Files
  • Commit
  • Branches
whisper_server_speachesfaster_whisper_serverconfig.py
Download as .zip file
File name
Commit message
Commit date
.github/workflows
ci: update how images are tagged, enable multi-arch builds
2024-06-03
examples
chore: update docker tag to latest
2024-06-03
faster_whisper_server
feat: add a playground
2024-06-23
pre-commit-scripts
misc: remove custom pre-commit ruff hooks
2024-06-23
tests
misc: tests
2024-06-23
.dockerignore
chore: ignore .env
2024-05-27
.envrc
init
2024-05-20
.gitattributes
docs: add live-transcription demo
2024-05-28
.gitignore
deps: add aider
2024-06-23
.pre-commit-config.yaml
misc: remove custom pre-commit ruff hooks
2024-06-23
Dockerfile.cpu
feat: allow using any ctraslate2 compatible model #14
2024-06-03
Dockerfile.cuda
feat: allow using any ctraslate2 compatible model #14
2024-06-03
LICENSE
init
2024-05-20
README.md
chore: update docker tag to latest
2024-06-03
Taskfile.yaml
ci: update how images are tagged, enable multi-arch builds
2024-06-03
audio.wav
docs: update README.md
2024-05-27
compose.yaml
chore: update docker tag to latest
2024-06-03
flake.lock
init
2024-05-20
flake.nix
deps: add httpx-sse dev
2024-06-03
lsyncd.conf
chore: add lsyncd config
2024-06-03
poetry.lock
move deps
2024-06-23
pyproject.toml
move deps
2024-06-23
File name
Commit message
Commit date
__init__.py
chore: rename to 'faster-whisper-server'
2024-05-27
asr.py
chore: rename to 'faster-whisper-server'
2024-05-27
audio.py
chore: rename to 'faster-whisper-server'
2024-05-27
config.py
feat: add a playground
2024-06-23
core.py
chore: rename to 'faster-whisper-server'
2024-05-27
gradio_app.py
feat: add a playground
2024-06-23
logger.py
chore: rename to 'faster-whisper-server'
2024-05-27
main.py
feat: add a playground
2024-06-23
server_models.py
chore: improve api docs
2024-06-14
transcriber.py
chore: rename to 'faster-whisper-server'
2024-05-27
utils.py
chore: rename to 'faster-whisper-server'
2024-05-27
Fedir Zadniprovskyi 2024-06-23 599a76d feat: add a playground UNIX
Raw Open in browser Change history
import enum from pydantic import BaseModel, Field from pydantic_settings import BaseSettings, SettingsConfigDict SAMPLES_PER_SECOND = 16000 BYTES_PER_SAMPLE = 2 BYTES_PER_SECOND = SAMPLES_PER_SECOND * BYTES_PER_SAMPLE # 2 BYTES = 16 BITS = 1 SAMPLE # 1 SECOND OF AUDIO = 32000 BYTES = 16000 SAMPLES # https://platform.openai.com/docs/api-reference/audio/createTranscription#audio-createtranscription-response_format class ResponseFormat(enum.StrEnum): TEXT = "text" JSON = "json" VERBOSE_JSON = "verbose_json" # NOTE: While inspecting outputs of these formats with `curl`, I noticed there's one or two "\n" inserted at the end of the response. # VTT = "vtt" # TODO # 1 # 00:00:00,000 --> 00:00:09,220 # In his video on Large Language Models or LLMs, OpenAI co-founder and YouTuber Andrej Karpathy # # 2 # 00:00:09,220 --> 00:00:12,280 # likened LLMs to operating systems. # # 3 # 00:00:12,280 --> 00:00:13,280 # Karpathy said, # # SRT = "srt" # TODO # WEBVTT # # 00:00:00.000 --> 00:00:09.220 # In his video on Large Language Models or LLMs, OpenAI co-founder and YouTuber Andrej Karpathy # # 00:00:09.220 --> 00:00:12.280 # likened LLMs to operating systems. # # 00:00:12.280 --> 00:00:13.280 # Karpathy said, # # 00:00:13.280 --> 00:00:19.799 # I see a lot of equivalence between this new LLM OS and operating systems of today. class Device(enum.StrEnum): CPU = "cpu" CUDA = "cuda" AUTO = "auto" # https://github.com/OpenNMT/CTranslate2/blob/master/docs/quantization.md class Quantization(enum.StrEnum): INT8 = "int8" INT8_FLOAT16 = "int8_float16" INT8_BFLOAT16 = "int8_bfloat16" INT8_FLOAT32 = "int8_float32" INT16 = "int16" FLOAT16 = "float16" BFLOAT16 = "bfloat16" FLOAT32 = "float32" DEFAULT = "default" class Language(enum.StrEnum): AF = "af" AM = "am" AR = "ar" AS = "as" AZ = "az" BA = "ba" BE = "be" BG = "bg" BN = "bn" BO = "bo" BR = "br" BS = "bs" CA = "ca" CS = "cs" CY = "cy" DA = "da" DE = "de" EL = "el" EN = "en" ES = "es" ET = "et" EU = "eu" FA = "fa" FI = "fi" FO = "fo" FR = "fr" GL = "gl" GU = "gu" HA = "ha" HAW = "haw" HE = "he" HI = "hi" HR = "hr" HT = "ht" HU = "hu" HY = "hy" ID = "id" IS = "is" IT = "it" JA = "ja" JW = "jw" KA = "ka" KK = "kk" KM = "km" KN = "kn" KO = "ko" LA = "la" LB = "lb" LN = "ln" LO = "lo" LT = "lt" LV = "lv" MG = "mg" MI = "mi" MK = "mk" ML = "ml" MN = "mn" MR = "mr" MS = "ms" MT = "mt" MY = "my" NE = "ne" NL = "nl" NN = "nn" NO = "no" OC = "oc" PA = "pa" PL = "pl" PS = "ps" PT = "pt" RO = "ro" RU = "ru" SA = "sa" SD = "sd" SI = "si" SK = "sk" SL = "sl" SN = "sn" SO = "so" SQ = "sq" SR = "sr" SU = "su" SV = "sv" SW = "sw" TA = "ta" TE = "te" TG = "tg" TH = "th" TK = "tk" TL = "tl" TR = "tr" TT = "tt" UK = "uk" UR = "ur" UZ = "uz" VI = "vi" YI = "yi" YO = "yo" YUE = "yue" ZH = "zh" class Task(enum.StrEnum): TRANSCRIPTION = "transcription" TRANSLATION = "translation" class WhisperConfig(BaseModel): model: str = Field(default="Systran/faster-whisper-medium.en") """ Huggingface model to use for transcription. Note, the model must support being ran using CTranslate2. Models created by authors of `faster-whisper` can be found at https://huggingface.co/Systran You can find other supported models at https://huggingface.co/models?p=2&sort=trending&search=ctranslate2 and https://huggingface.co/models?sort=trending&search=ct2 """ inference_device: Device = Field(default=Device.AUTO) compute_type: Quantization = Field(default=Quantization.DEFAULT) class Config(BaseSettings): """ Configuration for the application. Values can be set via environment variables. Pydantic will automatically handle mapping uppercased environment variables to the corresponding fields. To populate nested, the environment should be prefixed with the nested field name and an underscore. For example, the environment variable `LOG_LEVEL` will be mapped to `log_level`, `WHISPER_MODEL` to `whisper.model`, etc. """ model_config = SettingsConfigDict(env_nested_delimiter="_") log_level: str = "info" default_language: Language | None = None default_response_format: ResponseFormat = ResponseFormat.JSON whisper: WhisperConfig = WhisperConfig() max_models: int = 1 max_no_data_seconds: float = 1.0 """ Max duration to for the next audio chunk before transcription is finilized and connection is closed. """ min_duration: float = 1.0 word_timestamp_error_margin: float = 0.2 max_inactivity_seconds: float = 5.0 """ Max allowed audio duration without any speech being detected before transcription is finilized and connection is closed. """ inactivity_window_seconds: float = 10.0 """ Controls how many latest seconds of audio are being passed through VAD. Should be greater than `max_inactivity_seconds` """ config = Config()

          
        
    
    
Copyright Yona authors & © NAVER Corp. & NAVER LABS Supported by NAVER CLOUD PLATFORM

or
Sign in with github login with Google Sign in with Google
Reset password | Sign up