From 8193a703f5f1518c277fbbecf55ddc1b8bd3a485 Mon Sep 17 00:00:00 2001 From: raivisdejus Date: Fri, 25 Apr 2025 07:12:10 +0000 Subject: [PATCH] deploy: 806546282dd36dd2b98a0382403a7f463ba983df --- 404.html | 4 ++-- assets/js/{1102fda7.3781a4b4.js => 1102fda7.5ee93540.js} | 2 +- .../{runtime~main.adc69809.js => runtime~main.0c9f6f80.js} | 2 +- docs.html | 4 ++-- docs/cli.html | 4 ++-- docs/faq.html | 4 ++-- docs/installation.html | 4 ++-- docs/preferences.html | 6 +++--- docs/usage/edit_and_resize.html | 4 ++-- docs/usage/file_import.html | 4 ++-- docs/usage/live_recording.html | 4 ++-- docs/usage/translations.html | 4 ++-- index.html | 4 ++-- 13 files changed, 25 insertions(+), 25 deletions(-) rename assets/js/{1102fda7.3781a4b4.js => 1102fda7.5ee93540.js} (96%) rename assets/js/{runtime~main.adc69809.js => runtime~main.0c9f6f80.js} (60%) diff --git a/404.html b/404.html index 83c3e924..a421b746 100644 --- a/404.html +++ b/404.html @@ -4,13 +4,13 @@ Page Not Found | Buzz - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/1102fda7.3781a4b4.js b/assets/js/1102fda7.5ee93540.js similarity index 96% rename from assets/js/1102fda7.3781a4b4.js rename to assets/js/1102fda7.5ee93540.js index b5fdbd32..a7a32e20 100644 --- a/assets/js/1102fda7.3781a4b4.js +++ b/assets/js/1102fda7.5ee93540.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[382],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),s=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(p.Provider,{value:t},e.children)},m="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),m=s(n),u=r,f=m["".concat(p,".").concat(u)]||m[u]||c[u]||i;return n?a.createElement(f,l(l({ref:t},d),{},{components:n})):a.createElement(f,l({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=u;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[m]="string"==typeof e?e:r,l[1]=o;for(var s=2;s{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var a=n(7462),r=(n(7294),n(3905));const i={title:"Preferences",sidebar_position:4},l=void 0,o={unversionedId:"preferences",id:"preferences",title:"Preferences",description:"Open the Preferences window from the Menu bar, or click Ctrl/Cmd + ,.",source:"@site/docs/preferences.md",sourceDirName:".",slug:"/preferences",permalink:"/buzz/docs/preferences",draft:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Preferences",sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Edit and Resize",permalink:"/buzz/docs/usage/edit_and_resize"},next:{title:"CLI",permalink:"/buzz/docs/cli"}},p={},s=[{value:"General Preferences",id:"general-preferences",level:2},{value:"OpenAI API preferences",id:"openai-api-preferences",level:3},{value:"Default export file name",id:"default-export-file-name",level:3},{value:"Live transcript exports",id:"live-transcript-exports",level:3},{value:"Live transcription mode",id:"live-transcription-mode",level:3},{value:"Advanced Preferences",id:"advanced-preferences",level:2},{value:"Available variables",id:"available-variables",level:3}],d={toc:s},m="wrapper";function c(e){let{components:t,...n}=e;return(0,r.kt)(m,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Open the Preferences window from the Menu bar, or click ",(0,r.kt)("inlineCode",{parentName:"p"},"Ctrl/Cmd + ,"),"."),(0,r.kt)("h2",{id:"general-preferences"},"General Preferences"),(0,r.kt)("h3",{id:"openai-api-preferences"},"OpenAI API preferences"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"API Key")," - key to authenticate your requests to OpenAI API. To get API key from OpenAI see ",(0,r.kt)("a",{parentName:"p",href:"https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key"},"this article"),"."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Base URL")," - By default all requests are sent to API provided by OpenAI company. Their API URL is ",(0,r.kt)("inlineCode",{parentName:"p"},"https://api.openai.com/v1/"),". Compatible APIs are also provided by other companies. List of available API URLs you can find on ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/chidiwilliams/buzz/discussions/827"},"discussion page")),(0,r.kt)("h3",{id:"default-export-file-name"},"Default export file name"),(0,r.kt)("p",null,"Sets the default export file name for file transcriptions. For\nexample, a value of ",(0,r.kt)("inlineCode",{parentName:"p"},"{{ input_file_name }} ({{ task }}d on {{ date_time }})")," will save TXT exports\nas ",(0,r.kt)("inlineCode",{parentName:"p"},"Input Filename (transcribed on 19-Sep-2023 20-39-25).txt")," by default."),(0,r.kt)("p",null,"Available variables:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Key"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"input_file_name")),(0,r.kt)("td",{parentName:"tr",align:null},"File name of the imported file"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"audio")," (e.g. if the imported file path was ",(0,r.kt)("inlineCode",{parentName:"td"},"/path/to/audio.wav"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"task")),(0,r.kt)("td",{parentName:"tr",align:null},"Transcription task"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"transcribe"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"translate"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"language")),(0,r.kt)("td",{parentName:"tr",align:null},"Language code"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"en"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"fr"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"yo"),", etc.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"model_type")),(0,r.kt)("td",{parentName:"tr",align:null},"Model type"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"Whisper"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"Whisper.cpp"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"Faster Whisper"),", etc.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"model_size")),(0,r.kt)("td",{parentName:"tr",align:null},"Model size"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"tiny"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"base"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"small"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"medium"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"large"),", etc.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"date_time")),(0,r.kt)("td",{parentName:"tr",align:null},"Export time (format: ",(0,r.kt)("inlineCode",{parentName:"td"},"%d-%b-%Y %H-%M-%S"),")"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"19-Sep-2023 20-39-25"))))),(0,r.kt)("h3",{id:"live-transcript-exports"},"Live transcript exports"),(0,r.kt)("p",null,"Live transcription export can be used to integrate Buzz with other applications like OBS Studio.\nWhen enabled, live text transcripts will be exported to a text file as they get generated and translated."),(0,r.kt)("p",null,"If AI translation is enabled for live recordings, the translated text will also be exported to the text file.\nFilename for the translated text will end with ",(0,r.kt)("inlineCode",{parentName:"p"},".translated.txt"),"."),(0,r.kt)("h3",{id:"live-transcription-mode"},"Live transcription mode"),(0,r.kt)("p",null,"Three transcription modes are available:"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Append below")," - New sentences will be added below existing with an empty space between them.\nLast sentence will be at the bottom."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Append above")," - New sentences will be added above existing with an empty space between them.\nLast sentence will be at the top."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Append and correct")," - New sentences will be added at the end of existing transcript without extra spaces between.\nThis mode will also try to correct errors at the end of previously transcribed sentences. This mode requires more\nprocessing power and more powerful hardware to work."),(0,r.kt)("h2",{id:"advanced-preferences"},"Advanced Preferences"),(0,r.kt)("p",null,"To keep preferences section simple for new users, some more advanced preferences are settable via OS environment variables. Set the necessary environment variables in your OS before starting Buzz or create a script to set them."),(0,r.kt)("p",null,"On MacOS and Linux crete ",(0,r.kt)("inlineCode",{parentName:"p"},"run_buzz.sh")," with the following content:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"#!/bin/bash\nexport VARIABLE=value\nexport SOME_OTHER_VARIABLE=some_other_value\nbuzz\n")),(0,r.kt)("p",null,"On Windows crete ",(0,r.kt)("inlineCode",{parentName:"p"},"run_buzz.bat")," with the following content:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bat"},'@echo off\nset VARIABLE=value\nset SOME_OTHER_VARIABLE=some_other_value\n"C:\\Program Files (x86)\\Buzz\\Buzz.exe"\n')),(0,r.kt)("p",null,"Alternatively you can set environment variables in your OS settings. See ",(0,r.kt)("a",{parentName:"p",href:"https://phoenixnap.com/kb/windows-set-environment-variable#ftoc-heading-4"},"this guide")," or ",(0,r.kt)("a",{parentName:"p",href:"https://www.youtube.com/watch?v=bEroNNzqlF4"},"this video")," more information."),(0,r.kt)("h3",{id:"available-variables"},"Available variables"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_WHISPERCPP_N_THREADS")," - Number of threads to use for Whisper.cpp model. Default is ",(0,r.kt)("inlineCode",{parentName:"p"},"4"),"."),(0,r.kt)("p",null,"On a laptop with 16 threads setting ",(0,r.kt)("inlineCode",{parentName:"p"},"BUZZ_WHISPERCPP_N_THREADS=8")," leads to some 15% speedup in transcription time.\nIncreasing number of threads even more will lead in slower transcription time as results from parallel threads has to be\ncombined to produce the final answer."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_TRANSLATION_API_BASE_URL")," - Base URL of OpenAI compatible API to use for translation."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_TRANSLATION_API_KEY")," - Api key of OpenAI compatible API to use for translation."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_MODEL_ROOT")," - Root directory to store model files.\nDefaults to ",(0,r.kt)("a",{parentName:"p",href:"https://pypi.org/project/platformdirs/"},"user_cache_dir"),"."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_FAVORITE_LANGUAGES")," - Coma separated list of supported language codes to show on top of language list."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_DOWNLOAD_COOKIEFILE")," - Location of a ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp"},"cookiefile")," to use for downloading private videos or as workaround for anti-bot protection."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_FORCE_CPU")," - Will force Buzz to use CPU and not GPU, useful for setups with older GPU if that is slower than GPU or GPU has issues. Example usage ",(0,r.kt)("inlineCode",{parentName:"p"},"BUZZ_FORCE_CPU=true"),". Available since ",(0,r.kt)("inlineCode",{parentName:"p"},"1.2.1")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_MERGE_REGROUP_RULE")," - Custom regroup merge rule to use when combining transcripts with word-level timings. More information on available options ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/jianfch/stable-ts?tab=readme-ov-file#regrouping-methods"},"in stable-ts repo"),". Available since ",(0,r.kt)("inlineCode",{parentName:"p"},"1.3.0")))}c.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[382],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>f});var a=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,a)}return n}function l(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=a.createContext({}),s=function(e){var t=a.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},d=function(e){var t=s(e.components);return a.createElement(p.Provider,{value:t},e.children)},m="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},u=a.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,p=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),m=s(n),u=r,f=m["".concat(p,".").concat(u)]||m[u]||c[u]||i;return n?a.createElement(f,l(l({ref:t},d),{},{components:n})):a.createElement(f,l({ref:t},d))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=u;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[m]="string"==typeof e?e:r,l[1]=o;for(var s=2;s{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>c,frontMatter:()=>i,metadata:()=>o,toc:()=>s});var a=n(7462),r=(n(7294),n(3905));const i={title:"Preferences",sidebar_position:4},l=void 0,o={unversionedId:"preferences",id:"preferences",title:"Preferences",description:"Open the Preferences window from the Menu bar, or click Ctrl/Cmd + ,.",source:"@site/docs/preferences.md",sourceDirName:".",slug:"/preferences",permalink:"/buzz/docs/preferences",draft:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Preferences",sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Edit and Resize",permalink:"/buzz/docs/usage/edit_and_resize"},next:{title:"CLI",permalink:"/buzz/docs/cli"}},p={},s=[{value:"General Preferences",id:"general-preferences",level:2},{value:"OpenAI API preferences",id:"openai-api-preferences",level:3},{value:"Default export file name",id:"default-export-file-name",level:3},{value:"Live transcript exports",id:"live-transcript-exports",level:3},{value:"Live transcription mode",id:"live-transcription-mode",level:3},{value:"Advanced Preferences",id:"advanced-preferences",level:2},{value:"Available variables",id:"available-variables",level:3}],d={toc:s},m="wrapper";function c(e){let{components:t,...n}=e;return(0,r.kt)(m,(0,a.Z)({},d,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"Open the Preferences window from the Menu bar, or click ",(0,r.kt)("inlineCode",{parentName:"p"},"Ctrl/Cmd + ,"),"."),(0,r.kt)("h2",{id:"general-preferences"},"General Preferences"),(0,r.kt)("h3",{id:"openai-api-preferences"},"OpenAI API preferences"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"API Key")," - key to authenticate your requests to OpenAI API. To get API key from OpenAI see ",(0,r.kt)("a",{parentName:"p",href:"https://help.openai.com/en/articles/4936850-where-do-i-find-my-openai-api-key"},"this article"),"."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Base URL")," - By default all requests are sent to API provided by OpenAI company. Their API URL is ",(0,r.kt)("inlineCode",{parentName:"p"},"https://api.openai.com/v1/"),". Compatible APIs are also provided by other companies. List of available API URLs you can find on ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/chidiwilliams/buzz/discussions/827"},"discussion page")),(0,r.kt)("h3",{id:"default-export-file-name"},"Default export file name"),(0,r.kt)("p",null,"Sets the default export file name for file transcriptions. For\nexample, a value of ",(0,r.kt)("inlineCode",{parentName:"p"},"{{ input_file_name }} ({{ task }}d on {{ date_time }})")," will save TXT exports\nas ",(0,r.kt)("inlineCode",{parentName:"p"},"Input Filename (transcribed on 19-Sep-2023 20-39-25).txt")," by default."),(0,r.kt)("p",null,"Available variables:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Key"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Example"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"input_file_name")),(0,r.kt)("td",{parentName:"tr",align:null},"File name of the imported file"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"audio")," (e.g. if the imported file path was ",(0,r.kt)("inlineCode",{parentName:"td"},"/path/to/audio.wav"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"task")),(0,r.kt)("td",{parentName:"tr",align:null},"Transcription task"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"transcribe"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"translate"))),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"language")),(0,r.kt)("td",{parentName:"tr",align:null},"Language code"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"en"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"fr"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"yo"),", etc.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"model_type")),(0,r.kt)("td",{parentName:"tr",align:null},"Model type"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"Whisper"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"Whisper.cpp"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"Faster Whisper"),", etc.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"model_size")),(0,r.kt)("td",{parentName:"tr",align:null},"Model size"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"tiny"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"base"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"small"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"medium"),", ",(0,r.kt)("inlineCode",{parentName:"td"},"large"),", etc.")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"date_time")),(0,r.kt)("td",{parentName:"tr",align:null},"Export time (format: ",(0,r.kt)("inlineCode",{parentName:"td"},"%d-%b-%Y %H-%M-%S"),")"),(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("inlineCode",{parentName:"td"},"19-Sep-2023 20-39-25"))))),(0,r.kt)("h3",{id:"live-transcript-exports"},"Live transcript exports"),(0,r.kt)("p",null,"Live transcription export can be used to integrate Buzz with other applications like OBS Studio.\nWhen enabled, live text transcripts will be exported to a text file as they get generated and translated."),(0,r.kt)("p",null,"If AI translation is enabled for live recordings, the translated text will also be exported to the text file.\nFilename for the translated text will end with ",(0,r.kt)("inlineCode",{parentName:"p"},".translated.txt"),"."),(0,r.kt)("h3",{id:"live-transcription-mode"},"Live transcription mode"),(0,r.kt)("p",null,"Three transcription modes are available:"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Append below")," - New sentences will be added below existing with an empty space between them.\nLast sentence will be at the bottom."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Append above")," - New sentences will be added above existing with an empty space between them.\nLast sentence will be at the top."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"Append and correct")," - New sentences will be added at the end of existing transcript without extra spaces between.\nThis mode will also try to correct errors at the end of previously transcribed sentences. This mode requires more\nprocessing power and more powerful hardware to work."),(0,r.kt)("h2",{id:"advanced-preferences"},"Advanced Preferences"),(0,r.kt)("p",null,"To keep preferences section simple for new users, some more advanced preferences are settable via OS environment variables. Set the necessary environment variables in your OS before starting Buzz or create a script to set them."),(0,r.kt)("p",null,"On MacOS and Linux crete ",(0,r.kt)("inlineCode",{parentName:"p"},"run_buzz.sh")," with the following content:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"#!/bin/bash\nexport VARIABLE=value\nexport SOME_OTHER_VARIABLE=some_other_value\nbuzz\n")),(0,r.kt)("p",null,"On Windows crete ",(0,r.kt)("inlineCode",{parentName:"p"},"run_buzz.bat")," with the following content:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bat"},'@echo off\nset VARIABLE=value\nset SOME_OTHER_VARIABLE=some_other_value\n"C:\\Program Files (x86)\\Buzz\\Buzz.exe"\n')),(0,r.kt)("p",null,"Alternatively you can set environment variables in your OS settings. See ",(0,r.kt)("a",{parentName:"p",href:"https://phoenixnap.com/kb/windows-set-environment-variable#ftoc-heading-4"},"this guide")," or ",(0,r.kt)("a",{parentName:"p",href:"https://www.youtube.com/watch?v=bEroNNzqlF4"},"this video")," more information."),(0,r.kt)("h3",{id:"available-variables"},"Available variables"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_WHISPERCPP_N_THREADS")," - Number of threads to use for Whisper.cpp model. Default is ",(0,r.kt)("inlineCode",{parentName:"p"},"4"),"."),(0,r.kt)("p",null,"On a laptop with 16 threads setting ",(0,r.kt)("inlineCode",{parentName:"p"},"BUZZ_WHISPERCPP_N_THREADS=8")," leads to some 15% speedup in transcription time.\nIncreasing number of threads even more will lead in slower transcription time as results from parallel threads has to be\ncombined to produce the final answer."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_TRANSLATION_API_BASE_URL")," - Base URL of OpenAI compatible API to use for translation."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_TRANSLATION_API_KEY")," - Api key of OpenAI compatible API to use for translation."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_MODEL_ROOT")," - Root directory to store model files.\nDefaults to ",(0,r.kt)("a",{parentName:"p",href:"https://pypi.org/project/platformdirs/"},"user_cache_dir"),"."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_FAVORITE_LANGUAGES")," - Coma separated list of supported language codes to show on top of language list."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_DOWNLOAD_COOKIEFILE")," - Location of a ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp"},"cookiefile")," to use for downloading private videos or as workaround for anti-bot protection."),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_FORCE_CPU")," - Will force Buzz to use CPU and not GPU, useful for setups with older GPU if that is slower than GPU or GPU has issues. Example usage ",(0,r.kt)("inlineCode",{parentName:"p"},"BUZZ_FORCE_CPU=true"),". Available since ",(0,r.kt)("inlineCode",{parentName:"p"},"1.2.1")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_MERGE_REGROUP_RULE")," - Custom regroup merge rule to use when combining transcripts with word-level timings. More information on available options ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/jianfch/stable-ts?tab=readme-ov-file#regrouping-methods"},"in stable-ts repo"),". Available since ",(0,r.kt)("inlineCode",{parentName:"p"},"1.3.0")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_DISABLE_TELEMETRY")," - Buzz collects basic OS name and architecture usage statistics to better focus development efforts. This variable lets disable collection of these statistics. Example usage ",(0,r.kt)("inlineCode",{parentName:"p"},"BUZZ_DISABLE_TELEMETRY=true"),". Available since ",(0,r.kt)("inlineCode",{parentName:"p"},"1.3.0")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.adc69809.js b/assets/js/runtime~main.0c9f6f80.js similarity index 60% rename from assets/js/runtime~main.adc69809.js rename to assets/js/runtime~main.0c9f6f80.js index 650bd9d4..f14181ad 100644 --- a/assets/js/runtime~main.adc69809.js +++ b/assets/js/runtime~main.0c9f6f80.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,o,a,n={},c={};function b(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,b),r.loaded=!0,r.exports}b.m=n,b.c=c,e=[],b.O=(t,r,o,a)=>{if(!r){var n=1/0;for(d=0;d=a)&&Object.keys(b.O).every((e=>b.O[e](r[f])))?r.splice(f--,1):(c=!1,a0&&e[d-1][2]>a;d--)e[d]=e[d-1];e[d]=[r,o,a]},b.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return b.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,o){if(1&o&&(e=this(e)),8&o)return e;if("object"==typeof e&&e){if(4&o&&e.__esModule)return e;if(16&o&&"function"==typeof e.then)return e}var a=Object.create(null);b.r(a);var n={};t=t||[null,r({}),r([]),r(r)];for(var c=2&o&&e;"object"==typeof c&&!~t.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,b.d(a,n),a},b.d=(e,t)=>{for(var r in t)b.o(t,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((t,r)=>(b.f[r](e,t),t)),[])),b.u=e=>"assets/js/"+({53:"935f2afb",217:"3b8c55ea",237:"1df93b7f",382:"1102fda7",468:"1a20bc57",514:"1be78505",559:"36b603e5",697:"409b9ecc",799:"2c266bbb",836:"0480b142",860:"3e407b54",884:"343de823",918:"17896441",958:"6dbc2e00",971:"c377a04b"}[e]||e)+"."+{53:"c047ef36",217:"2439582e",237:"71d7b441",382:"3781a4b4",468:"96dda519",514:"131974b6",559:"8dc0b88b",697:"fd3923a5",799:"43859a59",836:"29cc7c5e",860:"987a7018",884:"e8073d8a",918:"0aaaf3b3",958:"24fcb0eb",971:"b0b8fe80",972:"d5cc17b1"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},a="docs:",b.l=(e,t,r,n)=>{if(o[e])o[e].push(t);else{var c,f;if(void 0!==r)for(var i=document.getElementsByTagName("script"),d=0;d{c.onerror=c.onload=null,clearTimeout(s);var a=o[e];if(delete o[e],c.parentNode&&c.parentNode.removeChild(c),a&&a.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=l.bind(null,c.onerror),c.onload=l.bind(null,c.onload),f&&document.head.appendChild(c)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/buzz/",b.gca=function(e){return e={17896441:"918","935f2afb":"53","3b8c55ea":"217","1df93b7f":"237","1102fda7":"382","1a20bc57":"468","1be78505":"514","36b603e5":"559","409b9ecc":"697","2c266bbb":"799","0480b142":"836","3e407b54":"860","343de823":"884","6dbc2e00":"958",c377a04b:"971"}[e]||e,b.p+b.u(e)},(()=>{var e={303:0,532:0};b.f.j=(t,r)=>{var o=b.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>o=e[t]=[r,a]));r.push(o[2]=a);var n=b.p+b.u(t),c=new Error;b.l(n,(r=>{if(b.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var a=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;c.message="Loading chunk "+t+" failed.\n("+a+": "+n+")",c.name="ChunkLoadError",c.type=a,c.request=n,o[1](c)}}),"chunk-"+t,t)}},b.O.j=t=>0===e[t];var t=(t,r)=>{var o,a,n=r[0],c=r[1],f=r[2],i=0;if(n.some((t=>0!==e[t]))){for(o in c)b.o(c,o)&&(b.m[o]=c[o]);if(f)var d=f(b)}for(t&&t(r);i{"use strict";var e,t,r,o,a,n={},f={};function b(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,b),r.loaded=!0,r.exports}b.m=n,b.c=f,e=[],b.O=(t,r,o,a)=>{if(!r){var n=1/0;for(d=0;d=a)&&Object.keys(b.O).every((e=>b.O[e](r[c])))?r.splice(c--,1):(f=!1,a0&&e[d-1][2]>a;d--)e[d]=e[d-1];e[d]=[r,o,a]},b.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return b.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,o){if(1&o&&(e=this(e)),8&o)return e;if("object"==typeof e&&e){if(4&o&&e.__esModule)return e;if(16&o&&"function"==typeof e.then)return e}var a=Object.create(null);b.r(a);var n={};t=t||[null,r({}),r([]),r(r)];for(var f=2&o&&e;"object"==typeof f&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach((t=>n[t]=()=>e[t]));return n.default=()=>e,b.d(a,n),a},b.d=(e,t)=>{for(var r in t)b.o(t,r)&&!b.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((t,r)=>(b.f[r](e,t),t)),[])),b.u=e=>"assets/js/"+({53:"935f2afb",217:"3b8c55ea",237:"1df93b7f",382:"1102fda7",468:"1a20bc57",514:"1be78505",559:"36b603e5",697:"409b9ecc",799:"2c266bbb",836:"0480b142",860:"3e407b54",884:"343de823",918:"17896441",958:"6dbc2e00",971:"c377a04b"}[e]||e)+"."+{53:"c047ef36",217:"2439582e",237:"71d7b441",382:"5ee93540",468:"96dda519",514:"131974b6",559:"8dc0b88b",697:"fd3923a5",799:"43859a59",836:"29cc7c5e",860:"987a7018",884:"e8073d8a",918:"0aaaf3b3",958:"24fcb0eb",971:"b0b8fe80",972:"d5cc17b1"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},a="docs:",b.l=(e,t,r,n)=>{if(o[e])o[e].push(t);else{var f,c;if(void 0!==r)for(var i=document.getElementsByTagName("script"),d=0;d{f.onerror=f.onload=null,clearTimeout(s);var a=o[e];if(delete o[e],f.parentNode&&f.parentNode.removeChild(f),a&&a.forEach((e=>e(r))),t)return t(r)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=l.bind(null,f.onerror),f.onload=l.bind(null,f.onload),c&&document.head.appendChild(f)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/buzz/",b.gca=function(e){return e={17896441:"918","935f2afb":"53","3b8c55ea":"217","1df93b7f":"237","1102fda7":"382","1a20bc57":"468","1be78505":"514","36b603e5":"559","409b9ecc":"697","2c266bbb":"799","0480b142":"836","3e407b54":"860","343de823":"884","6dbc2e00":"958",c377a04b:"971"}[e]||e,b.p+b.u(e)},(()=>{var e={303:0,532:0};b.f.j=(t,r)=>{var o=b.o(e,t)?e[t]:void 0;if(0!==o)if(o)r.push(o[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var a=new Promise(((r,a)=>o=e[t]=[r,a]));r.push(o[2]=a);var n=b.p+b.u(t),f=new Error;b.l(n,(r=>{if(b.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var a=r&&("load"===r.type?"missing":r.type),n=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+a+": "+n+")",f.name="ChunkLoadError",f.type=a,f.request=n,o[1](f)}}),"chunk-"+t,t)}},b.O.j=t=>0===e[t];var t=(t,r)=>{var o,a,n=r[0],f=r[1],c=r[2],i=0;if(n.some((t=>0!==e[t]))){for(o in f)b.o(f,o)&&(b.m[o]=f[o]);if(c)var d=c(b)}for(t&&t(r);i Introduction | Buzz - + @@ -20,7 +20,7 @@ real-time, Whisper.cpp, Faster Whisper, Whisper-compatible Hugging Face models, and the OpenAI Whisper API
  • Command-Line Interface
  • Available on Mac, Windows, and Linux
  • - + \ No newline at end of file diff --git a/docs/cli.html b/docs/cli.html index b2b54c24..e40992cb 100644 --- a/docs/cli.html +++ b/docs/cli.html @@ -4,13 +4,13 @@ CLI | Buzz - +

    CLI

    Commands

    add

    Start a new transcription task.

    Usage: buzz add [options] [file url file...]

    Options:
    -t, --task <task> The task to perform. Allowed: translate,
    transcribe. Default: transcribe.
    -m, --model-type <model-type> Model type. Allowed: whisper, whispercpp,
    huggingface, fasterwhisper, openaiapi. Default:
    whisper.
    -s, --model-size <model-size> Model size. Use only when --model-type is
    whisper, whispercpp, or fasterwhisper. Allowed:
    tiny, base, small, medium, large. Default:
    tiny.
    --hfid <id> Hugging Face model ID. Use only when
    --model-type is huggingface. Example:
    "openai/whisper-tiny"
    -l, --language <code> Language code. Allowed: af (Afrikaans), am
    (Amharic), ar (Arabic), as (Assamese), az
    (Azerbaijani), ba (Bashkir), be (Belarusian),
    bg (Bulgarian), bn (Bengali), bo (Tibetan), br
    (Breton), bs (Bosnian), ca (Catalan), cs
    (Czech), cy (Welsh), da (Danish), de (German),
    el (Greek), en (English), es (Spanish), et
    (Estonian), eu (Basque), fa (Persian), fi
    (Finnish), fo (Faroese), fr (French), gl
    (Galician), gu (Gujarati), ha (Hausa), haw
    (Hawaiian), he (Hebrew), hi (Hindi), hr
    (Croatian), ht (Haitian Creole), hu
    (Hungarian), hy (Armenian), id (Indonesian), is
    (Icelandic), it (Italian), ja (Japanese), jw
    (Javanese), ka (Georgian), kk (Kazakh), km
    (Khmer), kn (Kannada), ko (Korean), la (Latin),
    lb (Luxembourgish), ln (Lingala), lo (Lao), lt
    (Lithuanian), lv (Latvian), mg (Malagasy), mi
    (Maori), mk (Macedonian), ml (Malayalam), mn
    (Mongolian), mr (Marathi), ms (Malay), mt
    (Maltese), my (Myanmar), ne (Nepali), nl
    (Dutch), nn (Nynorsk), no (Norwegian), oc
    (Occitan), pa (Punjabi), pl (Polish), ps
    (Pashto), pt (Portuguese), ro (Romanian), ru
    (Russian), sa (Sanskrit), sd (Sindhi), si
    (Sinhala), sk (Slovak), sl (Slovenian), sn
    (Shona), so (Somali), sq (Albanian), sr
    (Serbian), su (Sundanese), sv (Swedish), sw
    (Swahili), ta (Tamil), te (Telugu), tg (Tajik),
    th (Thai), tk (Turkmen), tl (Tagalog), tr
    (Turkish), tt (Tatar), uk (Ukrainian), ur
    (Urdu), uz (Uzbek), vi (Vietnamese), yi
    (Yiddish), yo (Yoruba), zh (Chinese). Leave
    empty to detect language.
    -p, --prompt <prompt> Initial prompt.
    -w, --word-timestamps Generate word-level timestamps. (available since 1.2.0)
    --openai-token <token> OpenAI access token. Use only when
    --model-type is openaiapi. Defaults to your
    previously saved access token, if one exists.
    --srt Output result in an SRT file.
    --vtt Output result in a VTT file.
    --txt Output result in a TXT file.
    --hide-gui Hide the main application window. (available since 1.2.0)
    -h, --help Displays help on commandline options.
    --help-all Displays help including Qt specific options.
    -v, --version Displays version information.

    Arguments:
    files or urls Input file paths or urls. Url import availalbe since 1.2.0.

    Examples:

    # Translate two MP3 files from French to English using OpenAI Whisper API
    buzz add --task translate --language fr --model-type openaiapi /Users/user/Downloads/1b3b03e4-8db5-ea2c-ace5-b71ff32e3304.mp3 /Users/user/Downloads/koaf9083k1lkpsfdi0.mp3

    # Transcribe an MP4 using Whisper.cpp "small" model and immediately export to SRT and VTT files
    buzz add --task transcribe --model-type whispercpp --model-size small --prompt "My initial prompt" --srt --vtt /Users/user/Downloads/buzz/1b3b03e4-8db5-ea2c-ace5-b71ff32e3304.mp4
    - + \ No newline at end of file diff --git a/docs/faq.html b/docs/faq.html index 470f6a19..60244dd0 100644 --- a/docs/faq.html +++ b/docs/faq.html @@ -4,14 +4,14 @@ FAQ | Buzz - +

    FAQ

    1. Where are the models stored?

    The models are stored:

    • Linux: ~/.cache/Buzz
    • Mac OS: ~/Library/Caches/Buzz
    • Windows: %USERPROFILE%\AppData\Local\Buzz\Buzz\Cache

    Paste the location in your file manager to access the models.

    2. What can I try if the transcription runs too slowly?

    Speech recognition requires large amount of computation, so one option is to try using a lower Whisper model size or using a Whisper.cpp model to run speech recognition of your computer. If you have access to a computer with GPU that has at least 6GB of VRAM you can try using the Faster Whisper model.

    Buzz also supports using OpenAI API to do speech recognition on a remote server. To use this feature you need to set OpenAI API key in Preferences. See Preferences section for more details.

    3. How to record system audio?

    To transcribe system audio you need to configure virtual audio device and connect output from the applications you want to transcribe to this virtual speaker. After that you can select it as source in the Buzz. See Usage section for more details.

    Relevant tools:

    4. What model should I use?

    Model size to use will depend on your hardware and use case. Smaller models will work faster but will have more inaccuracies. Larger models will be more accurate but will require more powerful hardware or longer time to transcribe.

    When choosing among large models consider the following. "Large" is the first released older model, "Large-V2" is later updated model with better accuracy, for some languages considered the most robust and stable. "Large-V3" is the latest model with the best accuracy in many cases, but some times can hallucinate or invent words that were never in the audio. "Turbo" model tries to get a good balance between speed and accuracy. The only sure way to know what model best suits your needs is to test them all in your language.

    5. How to get GPU acceleration for faster transcription?

    On Linux GPU acceleration is supported out of the box on Nvidia GPUs. If you still get any issues install CUDA 12, cuBLASS and cuDNN.

    On Windows GPU support is included in the installation .exe. CUDA 12 required, computers with older CUDA versions will use CPU. See this note on enabling CUDA GPU support.

    6. How to fix Unanticipated host error[PaErrorCode-9999]?

    Check if there are any system settings preventing apps from accessing the microphone.

    On Windows, see if Buzz has permission to use the microphone in Settings -> Privacy -> Microphone.

    See method 1 in this video https://www.youtube.com/watch?v=eRcCYgOuSYQ

    For method 2 there is no need to uninstall the antivirus, but see if you can temporarily disable it or if there are settings that may prevent Buzz from accessing the microphone.

    7. Can I use Buzz on a computer without internet?

    Yes, Buzz can be used without internet connection if you download the necessary models on some other computer that has the internet and manually move them to the offline computer. The easiest way to find where the models are stored is to go to Help -> Preferences -> Models. Then download some model, and push "Show file location" button. This will open the folder where the models are stored. Copy the models folder to the same location on the offline computer. F.e. for Linux it is .cache/Buzz/models in your home directory.

    8. Buzz crashes, what to do?

    If a model download was incomplete or corrupted, Buzz may crash. Try to delete the downloaded model files in Help -> Preferences -> Models and re-download them.

    If that does not help, check the log file for errors and report the issue so we can fix it. The log file is located in ~/Library/Logs/Buzz (Mac OS) or %USERPROFILE%\AppData\Local\Buzz\Buzz\Logs (Windows). On Linux run the Buzz from the command line to see the relevant messages.

    9. Where can I get latest development version?

    Latest development version will have latest bug fixes and most recent features. If you feel a bit adventurous it is recommended to try the latest development version as they needs some testing before they get released to everybody.

    • Linux users can get the latest version with this command sudo snap install buzz --edge

    • For other platforms do the following:

      1. Go to the build section
      2. Click on the link to the latest build, the most recent successful build entry in the list
      3. Scroll down to the artifacts section in the build page
      4. Download the installation file. Please note that you need to be logged in the Github to see the download links. Latest build example

    10. Why is my system theme not applied to Buzz installed from Flatpak?

    For dark themes on Gnome environments you may need to install gnome-themes-extra package and set the following preferences:

    gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark
    gsettings set org.gnome.desktop.interface color-scheme prefer-dark

    If your system theme is not applied to Buzz installed from Flatpak Linux app store, ensure the desired theme is in ~/.themes folder.

    You may need to copy the system themes to this folder cp -r /usr/share/themes/ ~/.themes/.

    - + \ No newline at end of file diff --git a/docs/installation.html b/docs/installation.html index e77d77d3..806c3b8e 100644 --- a/docs/installation.html +++ b/docs/installation.html @@ -4,7 +4,7 @@ Installation | Buzz - + @@ -14,7 +14,7 @@ system. Buzz is available on Mac (Intel), WindowsApp Store version.)

    macOS (Intel, macOS 11.7 and later)

    Install via brew:

    brew install --cask buzz

    Alternatively, download and run the Buzz-x.y.z.dmg file.

    For Mac Silicon (and for a better experience on Mac Intel), download Buzz Captions on the App Store.

    Windows (Windows 10 and later)

    Download and run the Buzz-x.y.z.exe file.

    Linux

    Buzz is available as a Flatpak or a Snap.

    To install flatpak, run:

    flatpak install flathub io.github.chidiwilliams.Buzz

    To install snap, run:

    sudo apt-get install libportaudio2 libcanberra-gtk-module libcanberra-gtk3-module
    sudo snap install buzz
    sudo snap connect buzz:password-manager-service

    Get it from the Snap Store

    Alternatively, on Ubuntu 20.04 and later, install the dependencies:

    sudo apt-get install libportaudio2

    Then, download and extract the Buzz-x.y.z-unix.tar.gz file

    PyPI

    pip install buzz-captions
    python -m buzz
    - + \ No newline at end of file diff --git a/docs/preferences.html b/docs/preferences.html index 6d0380ff..555f4a32 100644 --- a/docs/preferences.html +++ b/docs/preferences.html @@ -4,7 +4,7 @@ Preferences | Buzz - + @@ -20,8 +20,8 @@ This mode will also try to correct errors at the end of previously transcribed s processing power and more powerful hardware to work.

    Advanced Preferences

    To keep preferences section simple for new users, some more advanced preferences are settable via OS environment variables. Set the necessary environment variables in your OS before starting Buzz or create a script to set them.

    On MacOS and Linux crete run_buzz.sh with the following content:

    #!/bin/bash
    export VARIABLE=value
    export SOME_OTHER_VARIABLE=some_other_value
    buzz

    On Windows crete run_buzz.bat with the following content:

    @echo off
    set VARIABLE=value
    set SOME_OTHER_VARIABLE=some_other_value
    "C:\Program Files (x86)\Buzz\Buzz.exe"

    Alternatively you can set environment variables in your OS settings. See this guide or this video more information.

    Available variables

    BUZZ_WHISPERCPP_N_THREADS - Number of threads to use for Whisper.cpp model. Default is 4.

    On a laptop with 16 threads setting BUZZ_WHISPERCPP_N_THREADS=8 leads to some 15% speedup in transcription time. Increasing number of threads even more will lead in slower transcription time as results from parallel threads has to be combined to produce the final answer.

    BUZZ_TRANSLATION_API_BASE_URL - Base URL of OpenAI compatible API to use for translation.

    BUZZ_TRANSLATION_API_KEY - Api key of OpenAI compatible API to use for translation.

    BUZZ_MODEL_ROOT - Root directory to store model files. -Defaults to user_cache_dir.

    BUZZ_FAVORITE_LANGUAGES - Coma separated list of supported language codes to show on top of language list.

    BUZZ_DOWNLOAD_COOKIEFILE - Location of a cookiefile to use for downloading private videos or as workaround for anti-bot protection.

    BUZZ_FORCE_CPU - Will force Buzz to use CPU and not GPU, useful for setups with older GPU if that is slower than GPU or GPU has issues. Example usage BUZZ_FORCE_CPU=true. Available since 1.2.1

    BUZZ_MERGE_REGROUP_RULE - Custom regroup merge rule to use when combining transcripts with word-level timings. More information on available options in stable-ts repo. Available since 1.3.0

    - +Defaults to user_cache_dir.

    BUZZ_FAVORITE_LANGUAGES - Coma separated list of supported language codes to show on top of language list.

    BUZZ_DOWNLOAD_COOKIEFILE - Location of a cookiefile to use for downloading private videos or as workaround for anti-bot protection.

    BUZZ_FORCE_CPU - Will force Buzz to use CPU and not GPU, useful for setups with older GPU if that is slower than GPU or GPU has issues. Example usage BUZZ_FORCE_CPU=true. Available since 1.2.1

    BUZZ_MERGE_REGROUP_RULE - Custom regroup merge rule to use when combining transcripts with word-level timings. More information on available options in stable-ts repo. Available since 1.3.0

    BUZZ_DISABLE_TELEMETRY - Buzz collects basic OS name and architecture usage statistics to better focus development efforts. This variable lets disable collection of these statistics. Example usage BUZZ_DISABLE_TELEMETRY=true. Available since 1.3.0

    + \ No newline at end of file diff --git a/docs/usage/edit_and_resize.html b/docs/usage/edit_and_resize.html index 8c171337..e546244f 100644 --- a/docs/usage/edit_and_resize.html +++ b/docs/usage/edit_and_resize.html @@ -4,13 +4,13 @@ Edit and Resize | Buzz - +

    Edit and Resize

    When transcript of some audio or video file is generated you can edit it and export to different subtitle formats or plain text. Double-click the transcript in the list of transcripts to see additional options for editing and exporting.

    Transcription view screen has option to resize the transcripts. Click on the "Resize" button so see available options. Transcripts that have been generated with word-level timings setting enabled can be combined into subtitles specifying different options, like maximum length of a subtitle and if subtitles should be split on punctuation. For transcripts that have been generated without word-level timings setting enabled can only be recombined specifying desired max length of a subtitle.

    If audio file is still present on the system word-level timing merge will also analyze the audio for silences to improve subtitle accuracy. Subtitle generation from transcripts with word-level timings is available since version 1.3.0.

    - + \ No newline at end of file diff --git a/docs/usage/file_import.html b/docs/usage/file_import.html index f5ee12ff..8fd55094 100644 --- a/docs/usage/file_import.html +++ b/docs/usage/file_import.html @@ -4,14 +4,14 @@ File Import | Buzz - +

    File Import

    To import a file:

    • Click Import Media File on the File menu (or the '+' icon on the toolbar, or Command/Ctrl + O).
    • Choose an audio or video file.
    • Select a task, language, and the model settings.
    • Click Run.
    • When the transcription status shows 'Completed', double-click on the row (or select the row and click the '⤢' icon) to open the transcription.
    FieldOptionsDefaultDescription
    Export As"TXT", "SRT", "VTT""TXT"Export file format
    Word-Level TimingsOff / OnOffIf checked, the transcription will generate a separate subtitle line for each word in the audio. Enabled only when "Export As" is set to "SRT" or "VTT".
    Extract speechOff / OnOffIf checked, speech will be extracted to a separate audio tack to improve accuracy. Available since 1.3.0.

    (See the Live Recording section for more information about the task, language, and quality settings.)

    Media File Import on Buzz

    - + \ No newline at end of file diff --git a/docs/usage/live_recording.html b/docs/usage/live_recording.html index 00a74c26..dfeea735 100644 --- a/docs/usage/live_recording.html +++ b/docs/usage/live_recording.html @@ -4,7 +4,7 @@ Live Recording | Buzz - + @@ -17,7 +17,7 @@ operating system ( see LoopBeAudio, LoopBack, and Virtual Audio Cable).

    1. Install BlackHole via Homebrew

      brew install blackhole-2ch
    2. Open Audio MIDI Setup from Spotlight or from /Applications/Utilities/Audio Midi Setup.app.

      Open Audio MIDI Setup from Spotlight

    3. Click the '+' icon at the lower left corner and select 'Create Multi-Output Device'.

      Create multi-output device

    4. Add your default speaker and BlackHole to the multi-output device.

      Screenshot of multi-output device

    5. Select this multi-output device as your speaker (application or system-wide) to play audio into BlackHole.

    6. Open Buzz, select BlackHole as your microphone, and record as before to see transcriptions from the audio playing through BlackHole.

    Record audio playing from computer (Windows)

    To transcribe system audio you need to configure virtual audio device and connect output from the applications you whant to transcribe to this virtual speaker. After that you can select it as source in the Buzz.

    1. Install VB CABLE as virtual audio device.

    2. Configure using Windows Sound settings. Right-click on the speaker icon in the system tray and select "Open Sound settings". In the "Choose your output device" dropdown select "CABLE Input" to send all system sound to the virtual device or use "Advanced sound options" to select application that will output their sound to this device.

    Record audio playing from computer (Linux)

    As described on Ubuntu Wiki on any Linux with pulse audio you can redirect application audio to a virtual speaker. After that you can select it as source in Buzz.

    Overall steps:

    1. Launch application that will produce the sound you want to transcribe and start the playback. For example start a video in a media player.
    2. Launch Buzz and open Live recording screen, so you see the settings.
    3. Configure sound routing from the application you want to transcribe sound from to Buzz in Recording tab of the PulseAudio Volume Control (pavucontrol).
    - + \ No newline at end of file diff --git a/docs/usage/translations.html b/docs/usage/translations.html index 34dc3e36..8398e27c 100644 --- a/docs/usage/translations.html +++ b/docs/usage/translations.html @@ -4,13 +4,13 @@ Translations | Buzz - +

    Translations

    Default Translation task uses Whisper model ability to translate to English. Since version 1.0.0 Buzz supports additional AI translations to any other language.

    To use translation feature you will need to configure OpenAI API key and translation settings. Set OpenAI API ket in Preferences. Buzz also supports custom locally running translation AIs that support OpenAI API. For more information on locally running AIs see ollama or LM Studio. For information on available custom APIs see this discussion thread.

    To configure translation for Live recordings enable it in Advances settings dialog of the Live Recording settings. Enter AI model to use and prompt with instructions for the AI on how to translate. Translation option is also available for files that already have speech recognised. Use Translate button on transcription viewer toolbar.

    For AI to know how to translate enter translation instructions in the "Instructions for AI" section. In your instructions you should describe to what language you want it to translate the text to. Also, you may need to add additional instructions to not add any notes or comments as AIs tend to add them. Example instructions to translate English subtitles to Spanish:

    You are a professional translator, skilled in translating English to Spanish. You will only translate each sentence sent to you into Spanish and not add any notes or comments.

    If you enable "Enable live recording transcription export" in Preferences, Live text transcripts will be exported to a text file as they get generated and translated. This file can be used to further integrate Live transcripts with other applications like OBS Studio.

    Approximate cost of translation for 1 hour long audio with ChatGPT gpt-4o model is around $0.50.

    - + \ No newline at end of file diff --git a/index.html b/index.html index 95854316..0be8b192 100644 --- a/index.html +++ b/index.html @@ -4,13 +4,13 @@ Buzz - +
    - + \ No newline at end of file