From 675410eee3c94e6fa37f9eb5366fd6fec6a5ec2b Mon Sep 17 00:00:00 2001 From: raivisdejus Date: Fri, 8 Aug 2025 07:19:44 +0000 Subject: [PATCH] deploy: 44fc608bc6752e7fa300d317cfe37cc05f2fc7f7 --- 404.html | 4 ++-- assets/js/1102fda7.c54fc69b.js | 1 - assets/js/1102fda7.cc2c5620.js | 1 + assets/js/2c266bbb.43859a59.js | 1 - assets/js/2c266bbb.c37600cb.js | 1 + assets/js/36b603e5.8dc0b88b.js | 1 - assets/js/36b603e5.b37cd82c.js | 1 + .../js/{409b9ecc.fd3923a5.js => 409b9ecc.9f3d2f7c.js} | 2 +- .../js/{935f2afb.49b02582.js => 935f2afb.a85bdaee.js} | 2 +- ...ntime~main.3e1b5790.js => runtime~main.cde1dfb1.js} | 2 +- docs.html | 4 ++-- docs/cli.html | 4 ++-- docs/faq.html | 4 ++-- docs/installation.html | 4 ++-- docs/preferences.html | 10 ++++++---- docs/usage/edit_and_resize.html | 8 ++++---- docs/usage/file_import.html | 8 ++++---- docs/usage/live_recording.html | 8 ++++---- docs/usage/translations.html | 4 ++-- index.html | 4 ++-- 20 files changed, 38 insertions(+), 36 deletions(-) delete mode 100644 assets/js/1102fda7.c54fc69b.js create mode 100644 assets/js/1102fda7.cc2c5620.js delete mode 100644 assets/js/2c266bbb.43859a59.js create mode 100644 assets/js/2c266bbb.c37600cb.js delete mode 100644 assets/js/36b603e5.8dc0b88b.js create mode 100644 assets/js/36b603e5.b37cd82c.js rename assets/js/{409b9ecc.fd3923a5.js => 409b9ecc.9f3d2f7c.js} (55%) rename assets/js/{935f2afb.49b02582.js => 935f2afb.a85bdaee.js} (68%) rename assets/js/{runtime~main.3e1b5790.js => runtime~main.cde1dfb1.js} (50%) diff --git a/404.html b/404.html index 9bcdc92d..42e4e095 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.c54fc69b.js b/assets/js/1102fda7.c54fc69b.js deleted file mode 100644 index aa235f09..00000000 --- a/assets/js/1102fda7.c54fc69b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[382],{3905:(e,t,n)=>{n.d(t,{Zo:()=>d,kt:()=>k});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,k=m["".concat(p,".").concat(u)]||m[u]||c[u]||i;return n?a.createElement(k,l(l({ref:t},d),{},{components:n})):a.createElement(k,l({ref:t},d))}));function k(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 and services to run yourself are available 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 half of available CPU cores."),(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")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_UPLOAD_URL")," - Live recording transcripts and translations can be uploaded to a server for display on the web. Set this variable to the desired upload url. You can use ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/raivisdejus/buzz-transcription-server"},"buzz-transcription-server")," as a server. Buzz will upload the following ",(0,r.kt)("inlineCode",{parentName:"p"},"json")," via ",(0,r.kt)("inlineCode",{parentName:"p"},"POST")," requests - ",(0,r.kt)("inlineCode",{parentName:"p"},'{"kind": "transcript", "text": "Sample transcript"}')," or ",(0,r.kt)("inlineCode",{parentName:"p"},'{"kind": "translation", "text": "Sample translation"}'),". Example usage ",(0,r.kt)("inlineCode",{parentName:"p"},"BUZZ_UPLOAD_URL=http://localhost:5000/upload"),". 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/1102fda7.cc2c5620.js b/assets/js/1102fda7.cc2c5620.js new file mode 100644 index 00000000..050c5cb2 --- /dev/null +++ b/assets/js/1102fda7.cc2c5620.js @@ -0,0 +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:"Model Preferences",id:"model-preferences",level:2},{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 and services to run yourself are available 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:"model-preferences"},"Model Preferences"),(0,r.kt)("p",null,"This section lets you download new models for transcription and delete unused ones."),(0,r.kt)("p",null,"For Whisper.cpp you can also download custom models. Select ",(0,r.kt)("inlineCode",{parentName:"p"},"Custom")," in the model size list and paste the download url\nto the model ",(0,r.kt)("inlineCode",{parentName:"p"},".bin"),' file. Use the link from "download" button from the Huggingface. '),(0,r.kt)("p",null,"To improve transcription speed and memory usage you can select a quantized version of some\nlarger model. For example ",(0,r.kt)("inlineCode",{parentName:"p"},"q_5")," version. Whisper.cpp base models in different quantizations are ",(0,r.kt)("a",{parentName:"p",href:"https://huggingface.co/ggerganov/whisper.cpp/tree/main"},"available here"),". See also ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/chidiwilliams/buzz/discussions/866"},"custom models")," discussion page for custom models in different languages."),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.loom.com/share/cf263b099ac3481082bb56d19b7c87fe",title:"Model preferences"},(0,r.kt)("img",{parentName:"a",src:"https://raw.githubusercontent.com/chidiwilliams/buzz/main/share/screenshots/buzz-3.2-model-preferences.png",alt:"Model preferences"}))),(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 half of available CPU cores."),(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")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"BUZZ_UPLOAD_URL")," - Live recording transcripts and translations can be uploaded to a server for display on the web. Set this variable to the desired upload url. You can use ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/raivisdejus/buzz-transcription-server"},"buzz-transcription-server")," as a server. Buzz will upload the following ",(0,r.kt)("inlineCode",{parentName:"p"},"json")," via ",(0,r.kt)("inlineCode",{parentName:"p"},"POST")," requests - ",(0,r.kt)("inlineCode",{parentName:"p"},'{"kind": "transcript", "text": "Sample transcript"}')," or ",(0,r.kt)("inlineCode",{parentName:"p"},'{"kind": "translation", "text": "Sample translation"}'),". Example usage ",(0,r.kt)("inlineCode",{parentName:"p"},"BUZZ_UPLOAD_URL=http://localhost:5000/upload"),". 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/2c266bbb.43859a59.js b/assets/js/2c266bbb.43859a59.js deleted file mode 100644 index 6c6a9360..00000000 --- a/assets/js/2c266bbb.43859a59.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[799],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>g});var r=a(7294);function n(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function i(e){for(var t=1;t=0||(n[a]=e[a]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}var u=r.createContext({}),p=function(e){var t=r.useContext(u),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=p(e.components);return r.createElement(u.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var a=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),c=p(a),m=n,g=c["".concat(u,".").concat(m)]||c[m]||d[m]||o;return a?r.createElement(g,i(i({ref:t},s),{},{components:a})):r.createElement(g,i({ref:t},s))}));function g(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=a.length,i=new Array(o);i[0]=m;var l={};for(var u in t)hasOwnProperty.call(t,u)&&(l[u]=t[u]);l.originalType=e,l[c]="string"==typeof e?e:n,i[1]=l;for(var p=2;p{a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>p});var r=a(7462),n=(a(7294),a(3905));const o={title:"Live Recording"},i=void 0,l={unversionedId:"usage/live_recording",id:"usage/live_recording",title:"Live Recording",description:"To start a live recording:",source:"@site/docs/usage/2_live_recording.md",sourceDirName:"usage",slug:"/usage/live_recording",permalink:"/buzz/docs/usage/live_recording",draft:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Live Recording"},sidebar:"tutorialSidebar",previous:{title:"File Import",permalink:"/buzz/docs/usage/file_import"},next:{title:"Translations",permalink:"/buzz/docs/usage/translations"}},u={},p=[{value:"Record audio playing from computer (macOS)",id:"record-audio-playing-from-computer-macos",level:3},{value:"Record audio playing from computer (Windows)",id:"record-audio-playing-from-computer-windows",level:3},{value:"Record audio playing from computer (Linux)",id:"record-audio-playing-from-computer-linux",level:3}],s={toc:p},c="wrapper";function d(e){let{components:t,...a}=e;return(0,n.kt)(c,(0,r.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("p",null,"To start a live recording:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Select a recording task, language, quality, and microphone."),(0,n.kt)("li",{parentName:"ul"},"Click Record.")),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},(0,n.kt)("strong",{parentName:"p"},"Note:")," Transcribing audio using the default Whisper model is resource-intensive. Consider using the Whisper.cpp\nTiny model to get real-time performance.")),(0,n.kt)("table",null,(0,n.kt)("thead",{parentName:"table"},(0,n.kt)("tr",{parentName:"thead"},(0,n.kt)("th",{parentName:"tr",align:null},"Field"),(0,n.kt)("th",{parentName:"tr",align:null},"Options"),(0,n.kt)("th",{parentName:"tr",align:null},"Default"),(0,n.kt)("th",{parentName:"tr",align:null},"Description"))),(0,n.kt)("tbody",{parentName:"table"},(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Task"),(0,n.kt)("td",{parentName:"tr",align:null},'"Transcribe", "Translate"'),(0,n.kt)("td",{parentName:"tr",align:null},'"Transcribe"'),(0,n.kt)("td",{parentName:"tr",align:null},'"Transcribe" converts the input audio into text in the selected language, while "Translate" converts it into text in English.')),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Language"),(0,n.kt)("td",{parentName:"tr",align:null},"See ",(0,n.kt)("a",{parentName:"td",href:"https://github.com/openai/whisper#available-models-and-languages"},"Whisper's documentation")," for the full list of supported languages"),(0,n.kt)("td",{parentName:"tr",align:null},'"Detect Language"'),(0,n.kt)("td",{parentName:"tr",align:null},'"Detect Language" will try to detect the spoken language in the audio based on the first few seconds. However, selecting a language is recommended (if known) as it will improve transcription quality in many cases.')),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Quality"),(0,n.kt)("td",{parentName:"tr",align:null},'"Very Low", "Low", "Medium", "High"'),(0,n.kt)("td",{parentName:"tr",align:null},'"Very Low"'),(0,n.kt)("td",{parentName:"tr",align:null},'The transcription quality determines the Whisper model used for transcription. "Very Low" uses the "tiny" model; "Low" uses the "base" model; "Medium" uses the "small" model; and "High" uses the "medium" model. The larger models produce higher-quality transcriptions, but require more system resources. See ',(0,n.kt)("a",{parentName:"td",href:"https://github.com/openai/whisper#available-models-and-languages"},"Whisper's documentation")," for more information about the models.")),(0,n.kt)("tr",{parentName:"tbody"},(0,n.kt)("td",{parentName:"tr",align:null},"Microphone"),(0,n.kt)("td",{parentName:"tr",align:null},"[Available system microphones]"),(0,n.kt)("td",{parentName:"tr",align:null},"[Default system microphone]"),(0,n.kt)("td",{parentName:"tr",align:null},"Microphone for recording input audio.")))),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://www.loom.com/share/564b753eb4d44b55b985b8abd26b55f7",title:"Live Recording on Buzz"},(0,n.kt)("img",{parentName:"a",src:"https://cdn.loom.com/sessions/thumbnails/564b753eb4d44b55b985b8abd26b55f7-with-play.gif",alt:"Live Recording on Buzz"}))),(0,n.kt)("h3",{id:"record-audio-playing-from-computer-macos"},"Record audio playing from computer (macOS)"),(0,n.kt)("p",null,"To record audio playing from an application on your computer, you may install an audio loopback driver (a program that\nlets you create virtual audio devices). The rest of this guide will\nuse ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/ExistentialAudio/BlackHole"},"BlackHole")," on Mac, but you can use other alternatives for your\noperating system (\nsee ",(0,n.kt)("a",{parentName:"p",href:"https://nerds.de/en/loopbeaudio.html"},"LoopBeAudio"),", ",(0,n.kt)("a",{parentName:"p",href:"https://rogueamoeba.com/loopback/"},"LoopBack"),",\nand ",(0,n.kt)("a",{parentName:"p",href:"https://vac.muzychenko.net/en/"},"Virtual Audio Cable"),")."),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Install ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/ExistentialAudio/BlackHole#option-2-install-via-homebrew"},"BlackHole via Homebrew")),(0,n.kt)("pre",{parentName:"li"},(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"brew install blackhole-2ch\n"))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Open Audio MIDI Setup from Spotlight or from ",(0,n.kt)("inlineCode",{parentName:"p"},"/Applications/Utilities/Audio Midi Setup.app"),"."),(0,n.kt)("p",{parentName:"li"},(0,n.kt)("img",{parentName:"p",src:"https://existential.audio/howto/img/spotlight.png",alt:"Open Audio MIDI Setup from Spotlight"}))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Click the '+' icon at the lower left corner and select 'Create Multi-Output Device'."),(0,n.kt)("p",{parentName:"li"},(0,n.kt)("img",{parentName:"p",src:"https://existential.audio/howto/img/createmulti-output.png",alt:"Create multi-output device"}))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Add your default speaker and BlackHole to the multi-output device."),(0,n.kt)("p",{parentName:"li"},(0,n.kt)("img",{parentName:"p",src:"https://existential.audio/howto/img/multi-output.png",alt:"Screenshot of multi-output device"}))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Select this multi-output device as your speaker (application or system-wide) to play audio into BlackHole.")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Open Buzz, select BlackHole as your microphone, and record as before to see transcriptions from the audio playing\nthrough BlackHole."))),(0,n.kt)("h3",{id:"record-audio-playing-from-computer-windows"},"Record audio playing from computer (Windows)"),(0,n.kt)("p",null,"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."),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Install ",(0,n.kt)("a",{parentName:"p",href:"https://vb-audio.com/Cable/"},"VB CABLE")," as virtual audio device. ")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},'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.'))),(0,n.kt)("h3",{id:"record-audio-playing-from-computer-linux"},"Record audio playing from computer (Linux)"),(0,n.kt)("p",null,"As described on ",(0,n.kt)("a",{parentName:"p",href:"https://wiki.ubuntu.com/record_system_sound"},"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."),(0,n.kt)("p",null,"Overall steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Launch application that will produce the sound you want to transcribe and start the playback. For example start a video in a media player. "),(0,n.kt)("li",{parentName:"ol"},"Launch Buzz and open Live recording screen, so you see the settings."),(0,n.kt)("li",{parentName:"ol"},"Configure sound routing from the application you want to transcribe sound from to Buzz in ",(0,n.kt)("inlineCode",{parentName:"li"},"Recording tab")," of the PulseAudio Volume Control (",(0,n.kt)("inlineCode",{parentName:"li"},"pavucontrol"),").")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/2c266bbb.c37600cb.js b/assets/js/2c266bbb.c37600cb.js new file mode 100644 index 00000000..9d2ac476 --- /dev/null +++ b/assets/js/2c266bbb.c37600cb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[799],{3905:(e,t,a)=>{a.d(t,{Zo:()=>s,kt:()=>g});var n=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var p=n.createContext({}),u=function(e){var t=n.useContext(p),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},s=function(e){var t=u(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var a=e.components,r=e.mdxType,o=e.originalType,p=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),c=u(a),m=r,g=c["".concat(p,".").concat(m)]||c[m]||d[m]||o;return a?n.createElement(g,i(i({ref:t},s),{},{components:a})):n.createElement(g,i({ref:t},s))}));function g(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var o=a.length,i=new Array(o);i[0]=m;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[c]="string"==typeof e?e:r,i[1]=l;for(var u=2;u{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>l,toc:()=>u});var n=a(7462),r=(a(7294),a(3905));const o={title:"Live Recording"},i=void 0,l={unversionedId:"usage/live_recording",id:"usage/live_recording",title:"Live Recording",description:"To start a live recording:",source:"@site/docs/usage/2_live_recording.md",sourceDirName:"usage",slug:"/usage/live_recording",permalink:"/buzz/docs/usage/live_recording",draft:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{title:"Live Recording"},sidebar:"tutorialSidebar",previous:{title:"File Import",permalink:"/buzz/docs/usage/file_import"},next:{title:"Translations",permalink:"/buzz/docs/usage/translations"}},p={},u=[{value:"Record audio playing from computer (macOS)",id:"record-audio-playing-from-computer-macos",level:3},{value:"Record audio playing from computer (Windows)",id:"record-audio-playing-from-computer-windows",level:3},{value:"Record audio playing from computer (Linux)",id:"record-audio-playing-from-computer-linux",level:3}],s={toc:u},c="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},s,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("p",null,"To start a live recording:"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Select a recording task, language, quality, and microphone."),(0,r.kt)("li",{parentName:"ul"},"Click Record.")),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},(0,r.kt)("strong",{parentName:"p"},"Note:")," Transcribing audio using the default Whisper model is resource-intensive. Consider using the Whisper.cpp.\nSince 1.3.0 it supports GPU acceleration, if the model fits in GPU memory. Use smaller models for real-time performance.")),(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},"Field"),(0,r.kt)("th",{parentName:"tr",align:null},"Options"),(0,r.kt)("th",{parentName:"tr",align:null},"Default"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Task"),(0,r.kt)("td",{parentName:"tr",align:null},'"Transcribe", "Translate to English"'),(0,r.kt)("td",{parentName:"tr",align:null},'"Transcribe"'),(0,r.kt)("td",{parentName:"tr",align:null},'"Transcribe" converts the input audio into text in the selected language, while "Translate to English" converts it into text in English.')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Language"),(0,r.kt)("td",{parentName:"tr",align:null},"See ",(0,r.kt)("a",{parentName:"td",href:"https://github.com/openai/whisper#available-models-and-languages"},"Whisper's documentation")," for the full list of supported languages"),(0,r.kt)("td",{parentName:"tr",align:null},'"Detect Language"'),(0,r.kt)("td",{parentName:"tr",align:null},'"Detect Language" will try to detect the spoken language in the audio based on the first few seconds. However, selecting a language is recommended (if known) as it will improve transcription quality in many cases.')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Microphone"),(0,r.kt)("td",{parentName:"tr",align:null},"[Available system microphones]"),(0,r.kt)("td",{parentName:"tr",align:null},"[Default system microphone]"),(0,r.kt)("td",{parentName:"tr",align:null},"Microphone for recording input audio.")))),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.loom.com/share/564b753eb4d44b55b985b8abd26b55f7",title:"Live Recording on Buzz"},(0,r.kt)("img",{parentName:"a",src:"https://cdn.loom.com/sessions/thumbnails/564b753eb4d44b55b985b8abd26b55f7-with-play.gif",alt:"Live Recording on Buzz"}))),(0,r.kt)("h3",{id:"record-audio-playing-from-computer-macos"},"Record audio playing from computer (macOS)"),(0,r.kt)("p",null,"To record audio playing from an application on your computer, you may install an audio loopback driver (a program that\nlets you create virtual audio devices). The rest of this guide will\nuse ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/ExistentialAudio/BlackHole"},"BlackHole")," on Mac, but you can use other alternatives for your\noperating system (\nsee ",(0,r.kt)("a",{parentName:"p",href:"https://nerds.de/en/loopbeaudio.html"},"LoopBeAudio"),", ",(0,r.kt)("a",{parentName:"p",href:"https://rogueamoeba.com/loopback/"},"LoopBack"),",\nand ",(0,r.kt)("a",{parentName:"p",href:"https://vac.muzychenko.net/en/"},"Virtual Audio Cable"),")."),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Install ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/ExistentialAudio/BlackHole#option-2-install-via-homebrew"},"BlackHole via Homebrew")),(0,r.kt)("pre",{parentName:"li"},(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"brew install blackhole-2ch\n"))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Open Audio MIDI Setup from Spotlight or from ",(0,r.kt)("inlineCode",{parentName:"p"},"/Applications/Utilities/Audio Midi Setup.app"),"."),(0,r.kt)("p",{parentName:"li"},(0,r.kt)("img",{parentName:"p",src:"https://existential.audio/howto/img/spotlight.png",alt:"Open Audio MIDI Setup from Spotlight"}))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Click the '+' icon at the lower left corner and select 'Create Multi-Output Device'."),(0,r.kt)("p",{parentName:"li"},(0,r.kt)("img",{parentName:"p",src:"https://existential.audio/howto/img/createmulti-output.png",alt:"Create multi-output device"}))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Add your default speaker and BlackHole to the multi-output device."),(0,r.kt)("p",{parentName:"li"},(0,r.kt)("img",{parentName:"p",src:"https://existential.audio/howto/img/multi-output.png",alt:"Screenshot of multi-output device"}))),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Select this multi-output device as your speaker (application or system-wide) to play audio into BlackHole.")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Open Buzz, select BlackHole as your microphone, and record as before to see transcriptions from the audio playing\nthrough BlackHole."))),(0,r.kt)("h3",{id:"record-audio-playing-from-computer-windows"},"Record audio playing from computer (Windows)"),(0,r.kt)("p",null,"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."),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},"Install ",(0,r.kt)("a",{parentName:"p",href:"https://vb-audio.com/Cable/"},"VB CABLE")," as virtual audio device. ")),(0,r.kt)("li",{parentName:"ol"},(0,r.kt)("p",{parentName:"li"},'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.'))),(0,r.kt)("h3",{id:"record-audio-playing-from-computer-linux"},"Record audio playing from computer (Linux)"),(0,r.kt)("p",null,"As described on ",(0,r.kt)("a",{parentName:"p",href:"https://wiki.ubuntu.com/record_system_sound"},"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."),(0,r.kt)("p",null,"Overall steps:"),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"Launch application that will produce the sound you want to transcribe and start the playback. For example start a video in a media player. "),(0,r.kt)("li",{parentName:"ol"},"Launch Buzz and open Live recording screen, so you see the settings."),(0,r.kt)("li",{parentName:"ol"},"Configure sound routing from the application you want to transcribe sound from to Buzz in ",(0,r.kt)("inlineCode",{parentName:"li"},"Recording tab")," of the PulseAudio Volume Control (",(0,r.kt)("inlineCode",{parentName:"li"},"pavucontrol"),").")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/36b603e5.8dc0b88b.js b/assets/js/36b603e5.8dc0b88b.js deleted file mode 100644 index c0965f53..00000000 --- a/assets/js/36b603e5.8dc0b88b.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[559],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,l=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),s=c(r),d=a,f=s["".concat(p,".").concat(d)]||s[d]||m[d]||l;return r?n.createElement(f,o(o({ref:t},u),{},{components:r})):n.createElement(f,o({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=r.length,o=new Array(l);o[0]=d;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i[s]="string"==typeof e?e:a,o[1]=i;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>i,toc:()=>c});var n=r(7462),a=(r(7294),r(3905));const l={title:"File Import"},o=void 0,i={unversionedId:"usage/file_import",id:"usage/file_import",title:"File Import",description:"To import a file:",source:"@site/docs/usage/1_file_import.md",sourceDirName:"usage",slug:"/usage/file_import",permalink:"/buzz/docs/usage/file_import",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"File Import"},sidebar:"tutorialSidebar",previous:{title:"Installation",permalink:"/buzz/docs/installation"},next:{title:"Live Recording",permalink:"/buzz/docs/usage/live_recording"}},p={},c=[],u={toc:c},s="wrapper";function m(e){let{components:t,...r}=e;return(0,a.kt)(s,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"To import a file:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click Import Media File on the File menu (or the '+' icon on the toolbar, or ",(0,a.kt)("strong",{parentName:"li"},"Command/Ctrl + O"),")."),(0,a.kt)("li",{parentName:"ul"},"Choose an audio or video file."),(0,a.kt)("li",{parentName:"ul"},"Select a task, language, and the model settings."),(0,a.kt)("li",{parentName:"ul"},"Click Run."),(0,a.kt)("li",{parentName:"ul"},"When the transcription status shows 'Completed', double-click on the row (or select the row and click the '\u2922' icon) to\nopen the transcription.")),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Field"),(0,a.kt)("th",{parentName:"tr",align:null},"Options"),(0,a.kt)("th",{parentName:"tr",align:null},"Default"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Export As"),(0,a.kt)("td",{parentName:"tr",align:null},'"TXT", "SRT", "VTT"'),(0,a.kt)("td",{parentName:"tr",align:null},'"TXT"'),(0,a.kt)("td",{parentName:"tr",align:null},"Export file format")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Word-Level Timings"),(0,a.kt)("td",{parentName:"tr",align:null},"Off / On"),(0,a.kt)("td",{parentName:"tr",align:null},"Off"),(0,a.kt)("td",{parentName:"tr",align:null},'If 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".')),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Extract speech"),(0,a.kt)("td",{parentName:"tr",align:null},"Off / On"),(0,a.kt)("td",{parentName:"tr",align:null},"Off"),(0,a.kt)("td",{parentName:"tr",align:null},"If checked, speech will be extracted to a separate audio tack to improve accuracy. Available since 1.3.0.")))),(0,a.kt)("p",null,"(See the ",(0,a.kt)("a",{parentName:"p",href:"https://chidiwilliams.github.io/buzz/docs/usage/live_recording"},"Live Recording section")," for more information about the task, language, and quality settings.)"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://www.loom.com/share/cf263b099ac3481082bb56d19b7c87fe",title:"Media File Import on Buzz"},(0,a.kt)("img",{parentName:"a",src:"https://cdn.loom.com/sessions/thumbnails/cf263b099ac3481082bb56d19b7c87fe-with-play.gif",alt:"Media File Import on Buzz"}))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/36b603e5.b37cd82c.js b/assets/js/36b603e5.b37cd82c.js new file mode 100644 index 00000000..71beec99 --- /dev/null +++ b/assets/js/36b603e5.b37cd82c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[559],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var r=n(7294);function a(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 r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var p=r.createContext({}),s=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=s(e.components);return r.createElement(p.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),u=s(n),d=a,f=u["".concat(p,".").concat(d)]||u[d]||m[d]||i;return n?r.createElement(f,o(o({ref:t},c),{},{components:n})):r.createElement(f,o({ref:t},c))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=n.length,o=new Array(i);o[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[u]="string"==typeof e?e:a,o[1]=l;for(var s=2;s{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>l,toc:()=>s});var r=n(7462),a=(n(7294),n(3905));const i={title:"File Import"},o=void 0,l={unversionedId:"usage/file_import",id:"usage/file_import",title:"File Import",description:"To import a file:",source:"@site/docs/usage/1_file_import.md",sourceDirName:"usage",slug:"/usage/file_import",permalink:"/buzz/docs/usage/file_import",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{title:"File Import"},sidebar:"tutorialSidebar",previous:{title:"Installation",permalink:"/buzz/docs/installation"},next:{title:"Live Recording",permalink:"/buzz/docs/usage/live_recording"}},p={},s=[],c={toc:s},u="wrapper";function m(e){let{components:t,...n}=e;return(0,a.kt)(u,(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"To import a file:")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Click Import Media File on the File menu (or the '+' icon on the toolbar, or ",(0,a.kt)("strong",{parentName:"li"},"Command/Ctrl + O"),")."),(0,a.kt)("li",{parentName:"ul"},"Choose an audio or video file."),(0,a.kt)("li",{parentName:"ul"},"Select a task, language, and the model settings."),(0,a.kt)("li",{parentName:"ul"},"Click Run."),(0,a.kt)("li",{parentName:"ul"},"When the transcription status shows 'Completed', double-click on the row (or select the row and click the '\u2922' icon) to\nopen the transcription.")),(0,a.kt)("p",null,(0,a.kt)("strong",{parentName:"p"},"Available options:")),(0,a.kt)("p",null,"To reduce misspellings you can pass some commonly misspelled words in an ",(0,a.kt)("inlineCode",{parentName:"p"},"Initial prompt")," that is available under ",(0,a.kt)("inlineCode",{parentName:"p"},"Advanced...")," button. See this ",(0,a.kt)("a",{parentName:"p",href:"https://cookbook.openai.com/examples/whisper_prompting_guide#pass-names-in-the-prompt-to-prevent-misspellings"},"guide on prompting"),". "),(0,a.kt)("table",null,(0,a.kt)("thead",{parentName:"table"},(0,a.kt)("tr",{parentName:"thead"},(0,a.kt)("th",{parentName:"tr",align:null},"Field"),(0,a.kt)("th",{parentName:"tr",align:null},"Options"),(0,a.kt)("th",{parentName:"tr",align:null},"Default"),(0,a.kt)("th",{parentName:"tr",align:null},"Description"))),(0,a.kt)("tbody",{parentName:"table"},(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Export As"),(0,a.kt)("td",{parentName:"tr",align:null},'"TXT", "SRT", "VTT"'),(0,a.kt)("td",{parentName:"tr",align:null},'"TXT"'),(0,a.kt)("td",{parentName:"tr",align:null},"Export file format")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Word-Level Timings"),(0,a.kt)("td",{parentName:"tr",align:null},"Off / On"),(0,a.kt)("td",{parentName:"tr",align:null},"Off"),(0,a.kt)("td",{parentName:"tr",align:null},"If checked, the transcription will generate a separate subtitle line for each word in the audio. Combine words into subtitles afterwards with the ",(0,a.kt)("a",{parentName:"td",href:"https://chidiwilliams.github.io/buzz/docs/usage/edit_and_resize"},"resize option"),".")),(0,a.kt)("tr",{parentName:"tbody"},(0,a.kt)("td",{parentName:"tr",align:null},"Extract speech"),(0,a.kt)("td",{parentName:"tr",align:null},"Off / On"),(0,a.kt)("td",{parentName:"tr",align:null},"Off"),(0,a.kt)("td",{parentName:"tr",align:null},"If checked, speech will be extracted to a separate audio tack to improve accuracy. Available since 1.3.0.")))),(0,a.kt)("p",null,"(See the ",(0,a.kt)("a",{parentName:"p",href:"https://chidiwilliams.github.io/buzz/docs/usage/live_recording"},"Live Recording section")," for more information about the task, language, and quality settings.)"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://www.loom.com/share/cf263b099ac3481082bb56d19b7c87fe",title:"Media File Import on Buzz"},(0,a.kt)("img",{parentName:"a",src:"https://cdn.loom.com/sessions/thumbnails/cf263b099ac3481082bb56d19b7c87fe-with-play.gif",alt:"Media File Import on Buzz"}))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/409b9ecc.fd3923a5.js b/assets/js/409b9ecc.9f3d2f7c.js similarity index 55% rename from assets/js/409b9ecc.fd3923a5.js rename to assets/js/409b9ecc.9f3d2f7c.js index 1d7eeb9b..82bd4dc9 100644 --- a/assets/js/409b9ecc.fd3923a5.js +++ b/assets/js/409b9ecc.9f3d2f7c.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[697],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var r=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=c(n),f=i,m=u["".concat(l,".").concat(f)]||u[f]||d[f]||o;return n?r.createElement(m,a(a({ref:t},p),{},{components:n})):r.createElement(m,a({ref:t},p))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,a=new Array(o);a[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:i,a[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var r=n(7462),i=(n(7294),n(3905));const o={title:"Edit and Resize"},a=void 0,s={unversionedId:"usage/edit_and_resize",id:"usage/edit_and_resize",title:"Edit and Resize",description:"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.",source:"@site/docs/usage/4_edit_and_resize.md",sourceDirName:"usage",slug:"/usage/edit_and_resize",permalink:"/buzz/docs/usage/edit_and_resize",draft:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Edit and Resize"},sidebar:"tutorialSidebar",previous:{title:"Translations",permalink:"/buzz/docs/usage/translations"},next:{title:"Preferences",permalink:"/buzz/docs/preferences"}},l={},c=[],p={toc:c},u="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(u,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,"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."),(0,i.kt)("p",null,'Transcription view screen has option to resize the transcripts. Click on the "Resize" button so see available options. Transcripts that have been generated ',(0,i.kt)("strong",{parentName:"p"},"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 ",(0,i.kt)("strong",{parentName:"p"},"without word-level timings")," setting enabled can only be recombined specifying desired max length of a subtitle. "),(0,i.kt)("p",null,"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."))}d.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[697],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>m});var r=n(7294);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function a(e){for(var t=1;t=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var l=r.createContext({}),c=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},f=r.forwardRef((function(e,t){var n=e.components,i=e.mdxType,o=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=c(n),f=i,m=u["".concat(l,".").concat(f)]||u[f]||d[f]||o;return n?r.createElement(m,a(a({ref:t},p),{},{components:n})):r.createElement(m,a({ref:t},p))}));function m(e,t){var n=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=n.length,a=new Array(o);a[0]=f;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:i,a[1]=s;for(var c=2;c{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>c});var r=n(7462),i=(n(7294),n(3905));const o={title:"Edit and Resize"},a=void 0,s={unversionedId:"usage/edit_and_resize",id:"usage/edit_and_resize",title:"Edit and Resize",description:"Resize options",source:"@site/docs/usage/4_edit_and_resize.md",sourceDirName:"usage",slug:"/usage/edit_and_resize",permalink:"/buzz/docs/usage/edit_and_resize",draft:!1,tags:[],version:"current",sidebarPosition:4,frontMatter:{title:"Edit and Resize"},sidebar:"tutorialSidebar",previous:{title:"Translations",permalink:"/buzz/docs/usage/translations"},next:{title:"Preferences",permalink:"/buzz/docs/preferences"}},l={},c=[],p={toc:c},u="wrapper";function d(e){let{components:t,...n}=e;return(0,i.kt)(u,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://www.loom.com/share/cf263b099ac3481082bb56d19b7c87fe",title:"Resize options"},(0,i.kt)("img",{parentName:"a",src:"https://raw.githubusercontent.com/chidiwilliams/buzz/main/share/screenshots/buzz-6-resize.png",alt:"Resize options"}))),(0,i.kt)("p",null,"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."),(0,i.kt)("p",null,'Transcription view screen has option to resize the transcripts. Click on the "Resize" button so see available options. Transcripts that have been generated ',(0,i.kt)("strong",{parentName:"p"},"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 ",(0,i.kt)("strong",{parentName:"p"},"without word-level timings")," setting enabled can only be recombined specifying desired max length of a subtitle. "),(0,i.kt)("p",null,"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."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.49b02582.js b/assets/js/935f2afb.a85bdaee.js similarity index 68% rename from assets/js/935f2afb.49b02582.js rename to assets/js/935f2afb.a85bdaee.js index 7284ab38..9959d293 100644 --- a/assets/js/935f2afb.49b02582.js +++ b/assets/js/935f2afb.a85bdaee.js @@ -1 +1 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/buzz/docs/","docId":"index"},{"type":"link","label":"Installation","href":"/buzz/docs/installation","docId":"installation"},{"type":"category","label":"Usage","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"File Import","href":"/buzz/docs/usage/file_import","docId":"usage/file_import"},{"type":"link","label":"Live Recording","href":"/buzz/docs/usage/live_recording","docId":"usage/live_recording"},{"type":"link","label":"Translations","href":"/buzz/docs/usage/translations","docId":"usage/translations"},{"type":"link","label":"Edit and Resize","href":"/buzz/docs/usage/edit_and_resize","docId":"usage/edit_and_resize"}]},{"type":"link","label":"Preferences","href":"/buzz/docs/preferences","docId":"preferences"},{"type":"link","label":"CLI","href":"/buzz/docs/cli","docId":"cli"},{"type":"link","label":"FAQ","href":"/buzz/docs/faq","docId":"faq"}]},"docs":{"cli":{"id":"cli","title":"CLI","description":"Commands","sidebar":"tutorialSidebar"},"faq":{"id":"faq","title":"FAQ","description":"1. Where are the models stored?","sidebar":"tutorialSidebar"},"index":{"id":"index","title":"Introduction","description":"Transcribe and translate audio offline on your personal computer. Powered by","sidebar":"tutorialSidebar"},"installation":{"id":"installation","title":"Installation","description":"To install Buzz, download the latest version for your operating","sidebar":"tutorialSidebar"},"preferences":{"id":"preferences","title":"Preferences","description":"Open the Preferences window from the Menu bar, or click Ctrl/Cmd + ,.","sidebar":"tutorialSidebar"},"usage/edit_and_resize":{"id":"usage/edit_and_resize","title":"Edit and Resize","description":"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.","sidebar":"tutorialSidebar"},"usage/file_import":{"id":"usage/file_import","title":"File Import","description":"To import a file:","sidebar":"tutorialSidebar"},"usage/live_recording":{"id":"usage/live_recording","title":"Live Recording","description":"To start a live recording:","sidebar":"tutorialSidebar"},"usage/translations":{"id":"usage/translations","title":"Translations","description":"Default Translation task uses Whisper model ability to translate to English, however Large-V3-Turbo is not compatible with this standard. Since version 1.0.0 Buzz supports additional AI translations to any other language.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"Introduction","href":"/buzz/docs/","docId":"index"},{"type":"link","label":"Installation","href":"/buzz/docs/installation","docId":"installation"},{"type":"category","label":"Usage","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"File Import","href":"/buzz/docs/usage/file_import","docId":"usage/file_import"},{"type":"link","label":"Live Recording","href":"/buzz/docs/usage/live_recording","docId":"usage/live_recording"},{"type":"link","label":"Translations","href":"/buzz/docs/usage/translations","docId":"usage/translations"},{"type":"link","label":"Edit and Resize","href":"/buzz/docs/usage/edit_and_resize","docId":"usage/edit_and_resize"}]},{"type":"link","label":"Preferences","href":"/buzz/docs/preferences","docId":"preferences"},{"type":"link","label":"CLI","href":"/buzz/docs/cli","docId":"cli"},{"type":"link","label":"FAQ","href":"/buzz/docs/faq","docId":"faq"}]},"docs":{"cli":{"id":"cli","title":"CLI","description":"Commands","sidebar":"tutorialSidebar"},"faq":{"id":"faq","title":"FAQ","description":"1. Where are the models stored?","sidebar":"tutorialSidebar"},"index":{"id":"index","title":"Introduction","description":"Transcribe and translate audio offline on your personal computer. Powered by","sidebar":"tutorialSidebar"},"installation":{"id":"installation","title":"Installation","description":"To install Buzz, download the latest version for your operating","sidebar":"tutorialSidebar"},"preferences":{"id":"preferences","title":"Preferences","description":"Open the Preferences window from the Menu bar, or click Ctrl/Cmd + ,.","sidebar":"tutorialSidebar"},"usage/edit_and_resize":{"id":"usage/edit_and_resize","title":"Edit and Resize","description":"Resize options","sidebar":"tutorialSidebar"},"usage/file_import":{"id":"usage/file_import","title":"File Import","description":"To import a file:","sidebar":"tutorialSidebar"},"usage/live_recording":{"id":"usage/live_recording","title":"Live Recording","description":"To start a live recording:","sidebar":"tutorialSidebar"},"usage/translations":{"id":"usage/translations","title":"Translations","description":"Default Translation task uses Whisper model ability to translate to English, however Large-V3-Turbo is not compatible with this standard. Since version 1.0.0 Buzz supports additional AI translations to any other language.","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.3e1b5790.js b/assets/js/runtime~main.cde1dfb1.js similarity index 50% rename from assets/js/runtime~main.3e1b5790.js rename to assets/js/runtime~main.cde1dfb1.js index 9cc864a6..a12cb325 100644 --- a/assets/js/runtime~main.3e1b5790.js +++ b/assets/js/runtime~main.cde1dfb1.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,o,a,n={},c={};function i(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,i),r.loaded=!0,r.exports}i.m=n,i.c=c,e=[],i.O=(t,r,o,a)=>{if(!r){var n=1/0;for(d=0;d=a)&&Object.keys(i.O).every((e=>i.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]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.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);i.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,i.d(a,n),a},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.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:"49b02582",217:"2439582e",237:"71d7b441",382:"c54fc69b",468:"96dda519",514:"131974b6",559:"8dc0b88b",697:"fd3923a5",799:"43859a59",836:"29cc7c5e",860:"987a7018",884:"d33c8b39",918:"0aaaf3b3",958:"24fcb0eb",971:"b0b8fe80",972:"d5cc17b1"}[e]+".js",i.miniCssF=e=>{},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},a="docs:",i.l=(e,t,r,n)=>{if(o[e])o[e].push(t);else{var c,f;if(void 0!==r)for(var b=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)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="/buzz/",i.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,i.p+i.u(e)},(()=>{var e={303:0,532:0};i.f.j=(t,r)=>{var o=i.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=i.p+i.u(t),c=new Error;i.l(n,(r=>{if(i.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)}},i.O.j=t=>0===e[t];var t=(t,r)=>{var o,a,n=r[0],c=r[1],f=r[2],b=0;if(n.some((t=>0!==e[t]))){for(o in c)i.o(c,o)&&(i.m[o]=c[o]);if(f)var d=f(i)}for(t&&t(r);b{"use strict";var e,t,r,o,n,a={},c={};function i(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={id:e,loaded:!1,exports:{}};return a[e].call(r.exports,r,r.exports,i),r.loaded=!0,r.exports}i.m=a,i.c=c,e=[],i.O=(t,r,o,n)=>{if(!r){var a=1/0;for(f=0;f=n)&&Object.keys(i.O).every((e=>i.O[e](r[b])))?r.splice(b--,1):(c=!1,n0&&e[f-1][2]>n;f--)e[f]=e[f-1];e[f]=[r,o,n]},i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,i.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 n=Object.create(null);i.r(n);var a={};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=>a[t]=()=>e[t]));return a.default=()=>e,i.d(n,a),n},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.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:"a85bdaee",217:"2439582e",237:"71d7b441",382:"cc2c5620",468:"96dda519",514:"131974b6",559:"b37cd82c",697:"9f3d2f7c",799:"c37600cb",836:"29cc7c5e",860:"987a7018",884:"d33c8b39",918:"0aaaf3b3",958:"24fcb0eb",971:"b0b8fe80",972:"d5cc17b1"}[e]+".js",i.miniCssF=e=>{},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},n="docs:",i.l=(e,t,r,a)=>{if(o[e])o[e].push(t);else{var c,b;if(void 0!==r)for(var d=document.getElementsByTagName("script"),f=0;f{c.onerror=c.onload=null,clearTimeout(s);var n=o[e];if(delete o[e],c.parentNode&&c.parentNode.removeChild(c),n&&n.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),b&&document.head.appendChild(c)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="/buzz/",i.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,i.p+i.u(e)},(()=>{var e={303:0,532:0};i.f.j=(t,r)=>{var o=i.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 n=new Promise(((r,n)=>o=e[t]=[r,n]));r.push(o[2]=n);var a=i.p+i.u(t),c=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(o=e[t])&&(e[t]=void 0),o)){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;c.message="Loading chunk "+t+" failed.\n("+n+": "+a+")",c.name="ChunkLoadError",c.type=n,c.request=a,o[1](c)}}),"chunk-"+t,t)}},i.O.j=t=>0===e[t];var t=(t,r)=>{var o,n,a=r[0],c=r[1],b=r[2],d=0;if(a.some((t=>0!==e[t]))){for(o in c)i.o(c,o)&&(i.m[o]=c[o]);if(b)var f=b(i)}for(t&&t(r);d 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 ac28a820..ba3ba5f4 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 3df95adc..01048561 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 bc79494e..eedce144 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 2f1e251c..3b503e61 100644 --- a/docs/preferences.html +++ b/docs/preferences.html @@ -4,7 +4,7 @@ Preferences | Buzz - + @@ -17,11 +17,13 @@ Filename for the translated text will end with .translated.txt.

    Last sentence will be at the bottom.

    Append above - New sentences will be added above existing with an empty space between them. Last sentence will be at the top.

    Append and correct - New sentences will be added at the end of existing transcript without extra spaces between. This mode will also try to correct errors at the end of previously transcribed sentences. This mode requires more -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 half of available CPU cores.

    On a laptop with 16 threads setting BUZZ_WHISPERCPP_N_THREADS=8 leads to some 15% speedup in transcription time. +processing power and more powerful hardware to work.

    Model Preferences

    This section lets you download new models for transcription and delete unused ones.

    For Whisper.cpp you can also download custom models. Select Custom in the model size list and paste the download url +to the model .bin file. Use the link from "download" button from the Huggingface.

    To improve transcription speed and memory usage you can select a quantized version of some +larger model. For example q_5 version. Whisper.cpp base models in different quantizations are available here. See also custom models discussion page for custom models in different languages.

    Model preferences

    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 half of available CPU cores.

    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

    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

    BUZZ_UPLOAD_URL - Live recording transcripts and translations can be uploaded to a server for display on the web. Set this variable to the desired upload url. You can use buzz-transcription-server as a server. Buzz will upload the following json via POST requests - {"kind": "transcript", "text": "Sample transcript"} or {"kind": "translation", "text": "Sample translation"}. Example usage BUZZ_UPLOAD_URL=http://localhost:5000/upload. 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

    BUZZ_UPLOAD_URL - Live recording transcripts and translations can be uploaded to a server for display on the web. Set this variable to the desired upload url. You can use buzz-transcription-server as a server. Buzz will upload the following json via POST requests - {"kind": "transcript", "text": "Sample transcript"} or {"kind": "translation", "text": "Sample translation"}. Example usage BUZZ_UPLOAD_URL=http://localhost:5000/upload. 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 d6e874b9..e99b063f 100644 --- a/docs/usage/edit_and_resize.html +++ b/docs/usage/edit_and_resize.html @@ -3,14 +3,14 @@ -Edit and Resize | Buzz - +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.

    - +

    Edit and Resize

    Resize options

    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 807ebf04..11e421c8 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

    - +

    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.

    Available options:

    To reduce misspellings you can pass some commonly misspelled words in an Initial prompt that is available under Advanced... button. See this guide on prompting.

    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. Combine words into subtitles afterwards with the resize option.
    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 da55f7e9..78d02689 100644 --- a/docs/usage/live_recording.html +++ b/docs/usage/live_recording.html @@ -4,20 +4,20 @@ Live Recording | Buzz - +
    -

    Live Recording

    To start a live recording:

    • Select a recording task, language, quality, and microphone.
    • Click Record.

    Note: Transcribing audio using the default Whisper model is resource-intensive. Consider using the Whisper.cpp -Tiny model to get real-time performance.

    FieldOptionsDefaultDescription
    Task"Transcribe", "Translate""Transcribe""Transcribe" converts the input audio into text in the selected language, while "Translate" converts it into text in English.
    LanguageSee Whisper's documentation for the full list of supported languages"Detect Language""Detect Language" will try to detect the spoken language in the audio based on the first few seconds. However, selecting a language is recommended (if known) as it will improve transcription quality in many cases.
    Quality"Very Low", "Low", "Medium", "High""Very Low"The transcription quality determines the Whisper model used for transcription. "Very Low" uses the "tiny" model; "Low" uses the "base" model; "Medium" uses the "small" model; and "High" uses the "medium" model. The larger models produce higher-quality transcriptions, but require more system resources. See Whisper's documentation for more information about the models.
    Microphone[Available system microphones][Default system microphone]Microphone for recording input audio.

    Live Recording on Buzz

    Record audio playing from computer (macOS)

    To record audio playing from an application on your computer, you may install an audio loopback driver (a program that +

    Live Recording

    To start a live recording:

    • Select a recording task, language, quality, and microphone.
    • Click Record.

    Note: Transcribing audio using the default Whisper model is resource-intensive. Consider using the Whisper.cpp. +Since 1.3.0 it supports GPU acceleration, if the model fits in GPU memory. Use smaller models for real-time performance.

    FieldOptionsDefaultDescription
    Task"Transcribe", "Translate to English""Transcribe""Transcribe" converts the input audio into text in the selected language, while "Translate to English" converts it into text in English.
    LanguageSee Whisper's documentation for the full list of supported languages"Detect Language""Detect Language" will try to detect the spoken language in the audio based on the first few seconds. However, selecting a language is recommended (if known) as it will improve transcription quality in many cases.
    Microphone[Available system microphones][Default system microphone]Microphone for recording input audio.

    Live Recording on Buzz

    Record audio playing from computer (macOS)

    To record audio playing from an application on your computer, you may install an audio loopback driver (a program that lets you create virtual audio devices). The rest of this guide will use BlackHole on Mac, but you can use other alternatives for your 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 82a76b85..3af4e3b9 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, however Large-V3-Turbo is not compatible with this standard. 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 f58061ee..0fe9246d 100644 --- a/index.html +++ b/index.html @@ -4,13 +4,13 @@ Buzz - +
    - + \ No newline at end of file