[HN Gopher] MacWhisper: Transcribe audio files on your Mac
___________________________________________________________________
MacWhisper: Transcribe audio files on your Mac
Author : cristoperb
Score : 174 points
Date : 2023-08-22 21:34 UTC (1 days ago)
(HTM) web link (goodsnooze.gumroad.com)
(TXT) w3m dump (goodsnooze.gumroad.com)
| satvikpendem wrote:
| While whisper.cpp is faster than faster-whisper on macOS due to
| Apple's Neural Engine [0], if you have a GPU on Windows or Linux,
| faster-whisper [1] is a lot faster than OpenAI's reference
| Whisper implementation as well as whisper.cpp, with the CLI being
| wscribe or whisper-ctranslate2 as faster-whisper is only a Python
| library. It's pretty good.
|
| [0] https://github.com/guillaumekln/faster-
| whisper/discussions/3...
|
| [1] https://github.com/guillaumekln/faster-whisper
| nafizh wrote:
| The main problem I have faced with the whisper model (large) is
| when there is silence or a sizable gap without audio, it
| hallucinates and just puts out some random gibberish repeatedly
| until the transcription ends. How does this app handle this?
| deegles wrote:
| Is gumroad a good platform for selling software like this? How is
| licensing handled?
| masukomi wrote:
| Here's a multi-platform open source app that does the same thing
| but uses vosk instead of whisper.
|
| https://github.com/bugbakery/audapolis
| MaxikCZ wrote:
| Would be nice if it allowed importing mkv files, in the end its
| just a container..
| [deleted]
| dagaci wrote:
| The OpenAi CLI does that, follow the instructions
| https://github.com/openai/whisper
| ycstohley wrote:
| Seriously great program. Licensing model just fine. I use this
| all the time, so do my collegues at other companies.
|
| The developer Jordi has a great speech online about product
| development.
| davidf18 wrote:
| [dead]
| shawnc wrote:
| Been using it for a couple months, and Jordi keeps improving on
| it at a steady clip. It's great!!
| beardedwizard wrote:
| Seems shady to me to charge for running larger free models you
| don't provide on hardware your users provide. You are charging
| for openAi features not yours.
| firloop wrote:
| They're not charging for the model, they're charging for the
| UI.
| beardedwizard wrote:
| The UI is free, the premium features are the model. Read the
| website.
| michelb wrote:
| Did you even look at the app?
| beardedwizard wrote:
| Yes now let me help you read the paid feature:
|
| Supports Tiny (English Only), Tiny, Base, Small, Medium and
| Large models
|
| Translate audio file into another language through Whisper
| (use the Medium or Large models, the results will not be
| perfect and I'm working on more advanced ways to do this)
| _rs wrote:
| I've used this for a few months to transcribe interviews and it
| works pretty well. The UI for dealing with multiple speakers is a
| bit cumbersome, and there are occasional crashes, but overall
| definitely a great app and worth the money
| simonw wrote:
| I've been using MacWhisper for a few months, it's fantastic.
|
| Sometimes I'll send a mp3 or mp4 video through it and use the
| resulting transcript directly.
|
| Other times I'll run a second step through https://claude.ai/
| (because of its 100,000 token context) to clean it up. My prompt
| for that at the moment is:
|
| > Reformat this transcript into paragraphs and sentences, fix the
| capitalization and make very light edits such as removing ums
|
| That's often not necessary with Whisper output. It's great for if
| you extract captions directly from YouTube though - I wrote more
| about that here: https://simonwillison.net/2023/Aug/6/annotated-
| presentations...
| rpastuszak wrote:
| This is so good! I studied English, then moved to linguistics,
| then lived in the UK for almost a decade and due to my accent
| none of the TTS tools are close to the approach you just
| mentioned (whisper + LLM). Thanks Simon!
| mosselman wrote:
| I didn't know whisper could differentiate voices for the per
| speaker transcription. Is that new? Is it also available in the
| command line whisper builds?
| wahnfrieden wrote:
| It can't
| mkmk wrote:
| I've gotten confused between the different whispers. How is this
| different from the openai api endpoint?
| miki123211 wrote:
| It runs locally, using Whisper.cpp[1], a Whisper implementation
| optimized to run on CPU, especially Apple Silicon.
|
| Whisper itself is open source, and so is that implementation,
| the OpenAI endpoint is merely a convenience to those who don't
| wish to host a Whisper server themselves, deal with batching,
| renting GPUs etc. If you're making a commercial service based
| on Whisper, the API might be worth it for the convenience, but
| if you're running it personally and have a good enough machine
| (an M1 MacBook Air will do), running it locally is usually
| better.
|
| [1] https://github.com/ggerganov/whisper.cpp
| smoldesu wrote:
| FWIW, I will add that _most_ laptops made in the past 10
| years are fast enough for real-time transcription. Unless you
| 're trying to transcribe in bulk, running it locally will
| usually be the best option.
| miki123211 wrote:
| This depends on the model being used, if you're doing
| anything which isn't English, you pretty much need large,
| and that needs considerable resources.
| Flimm wrote:
| If you're looking for an alternative that runs on Linux, I just
| recently discovered Speech Note. It does speech to text, text to
| speech, and machine translation, all offline, with a GUI:
|
| https://flathub.org/apps/net.mkiol.SpeechNote
|
| https://github.com/mkiol/dsnote
| userhacker wrote:
| If you want a quick and free web transcription and editor tool,
| We've built https://revoldiv.com/ with speaker detection and
| timestamps. Takes less than a minute to transcribe 1 hour long
| video/audio
| beardedwizard wrote:
| Yes but the point of this project is that it doesn't require
| you to share sensitive data with third parties.
| userhacker wrote:
| Good point but the problem with local hosting is that if you
| want to use the larger models it will take a long time to
| transcribe a file. We use multiple gpus and we do speaker
| detection, sound detection and it is has a rich audio editor.
| patrick91 wrote:
| I really like this app, I wish there was a way to play a video
| while editing the subtitles though!
| miki123211 wrote:
| This basically does the same thing but free:
|
| https://apps.apple.com/us/app/aiko/id1672085276
| Nezteb wrote:
| That's awesome that the dev released Aiko for free!
|
| Not a deal breaker, but it was last updated 3 months ago and
| lacks a few QoL features of MacWhisper. Jordi is frequently
| pushing updates to MacWhisper:
| https://nitter.net/jordibruin/status/1692133387299864638
| michelb wrote:
| Hmm that one has a lot less features.
| bilater wrote:
| If you'd rather use a web app with minimal cost upfront check out
| PlainScribe :) https://www.plainscribe.com/
| Nezteb wrote:
| I tried to sign up and got a Clerk error: "You have reached
| your limit of 500 users. You can remove the user limit by
| upgrading to a paid plan or using a production instance."
| tornato7 wrote:
| I have a Python script on my mac that detects when I press-and-
| hold the right option key, and records audio while it's pressed.
| On release, it transcribes it with whispercpp and pastes it.
| Makes it very easy to record quick voice notes. Here it is:
| https://github.com/corlinp/whisperer/tree/whisper.cpp
|
| I was working on a native version in the form of a taskbar app
| with customizable prompt and all. However I quickly realized that
| the behaviors I want the app to do require a bunch of
| accessibility permissions that would block it from the app store
| and require more setup steps.
|
| Would anybody still find that useful?
| callalex wrote:
| Does anyone actually download their Mac software from the App
| Store?
| Angostura wrote:
| Yup, sometimes. Sometimes not.
| palmer_fox wrote:
| I prefer to because it centralizes updates for apps from
| different makers. Way more convenient than manually checking
| each piece of software.
| breakfastduck wrote:
| Not being able to be on the app store isn't an issue, it
| wouldn't put anyone off using it or downloading it. Majority of
| my apps arent from there, I imagine most long time users are
| the same.
| GavinMcG wrote:
| I haven't used MacOS native dictation, but I thought it could
| be used anywhere text could be input. Does your script have
| different functionality?
|
| Edit: looks like Mac native runs locally only with dapple
| Silicon, and maybe has a more limited geographic/linguistic
| reach?
| tornato7 wrote:
| - MacOS native dictation, in my experience, is slow to start
| up (indeterminate delay after pressing the dictation key)
|
| - The accuracy is decent but the vocabulary is very limited.
| With Whisper, you can customize the prompt to include
| industry-specific terms and acronyms.
|
| See my example from the repo. Apple recognizes:
|
| > Popular Linux distributions include Debby and Fed or Linux,
| and do Bantu. You can use windowing systems such as X eleven
| or Weiland with a desktop environment like KD plasma.
|
| Whisper recognizes:
|
| > Popular Linux distributions include Debian, Fedora, Linux,
| and Ubuntu. You can use windowing systems such as X11 or
| Wayland with a desktop environment like KDE Plasma.
| adolph wrote:
| Just tried the MacOS one, here's my nearly worthless
| result:
|
| _Popular Linux distributions include Devion fedora Linux
| and a bunch to you can we use when doing system such as
| excellent Wayland with a desktop environment like Katie
| plasma._
| nanidin wrote:
| This captures the exact type of problem I have when using
| Siri for my shopping list.
| anonymouse008 wrote:
| To everyone saying the betas are better, no sir:
|
| Popular Lennox distributions include Debbie and Fedora,
| Lennox, and Beau you can use windowing system such as X11
| or Whelan with a desktop environment like Katy plasma
| leodriesch wrote:
| macOS native dictation is not as good as Whisper in terms of
| accuracy, however that is probably going to change with macOS
| Sonoma since they will switch the model for speech
| recognition to a better one (Transformer based iirc).
| phren0logy wrote:
| I'm on the Sonoma beta and can confirm it's miles better
| your_challenger wrote:
| Better than whisper? I am running whisper.cpp locally on
| my Ventura. Should I update to Sonoma?
| Obscurity4340 wrote:
| Was it ever addressed that even when you had the microphone
| turned off it could still detect audial stimuli and
| reflected that in the oscillating sound wave visual? Makes
| me wonder if it was/is always listening even with Hey Siri
| disabled
| lallysingh wrote:
| That "sounds" to me like the mic was properly cut off
| electrically, but the rest of the system as active, so
| you'd get electrical noise coming in. E.g., the mic and
| amp are powered down, but the ADC is still active.
|
| My old Sun Ultra 40 M2 had a ton of electrical noise on
| my headphone jack, and I could def. tell when the CPU was
| busy from what I was hearing.
| Obscurity4340 wrote:
| I meant like, even after toggling it off when you made
| noise or spoke, there was a visual
| representation/feedback for that shown in the wavy graph
| thing. Not just ambient/moving parts type noise. Just
| thought it was weird, never really thought about it too
| much.
| rpastuszak wrote:
| > However I quickly realized that the behaviors I want the app
| to do require a bunch of accessibility permissions
|
| Which behaviours specifically?
|
| Personally, I wouldn't worry too much about the App Store. I'm
| distributing Enso (http://enso.sonnet.io) via gumroad.com, and
| people download/pay for it. I think it's easier than using the
| App Store Connect route anyway.
|
| Here's a good intro:
| https://rambo.codes/posts/2021-01-08-distributing-mac-apps-o...
| tornato7 wrote:
| Detecting an alt-key push even when it's not an active
| window, and editing the selected text field are both
| accessibility permissions.
|
| Thanks for the info about your app. It looks great!
| alin23 wrote:
| Editing the field definitely needs the permissions, but
| detecting Alt-key holding should not.
|
| You can do that using something like: var
| reactOnOptionKeyHeld: DispatchWorkItem? { didSet {
| oldValue?.cancel() } }
| NSEvent.addGlobalMonitorForEvents(matching: .flagsChanged)
| { (event) in guard event.modifierFlags ==
| [.option] else { reactOnOptionKeyHeld = nil
| return } reactOnOptionKeyHeld =
| DispatchWorkItem { // start recording
| } // schedule to run if held for at least 1
| second DispatchQueue.main.asyncAfter(deadline:
| .now() + 1, execute: reactOnOptionKeyHeld!) }
|
| I see you're using Python with pynput though, which is
| creating a full key listener so I guess that is why you
| need the permissions.
| idorosen wrote:
| Why? Just use whisper directly. The model and code is available
| and I think there's even a homebrew formula...
| michelb wrote:
| I just want to drag and drop my files and be done.
| speedgoose wrote:
| I have both installed. I use macwhisper because the GUI is
| convenient.
| yard2010 wrote:
| Why'nt?
| nickthegreek wrote:
| Why? Just use MacWhisper and have a great interface with a
| bunch of options.
| Etheryte wrote:
| Why use a web browser? Just use curl directly. The code is
| available and I think there's even a homebrew formula...
| [deleted]
| holdodd wrote:
| https://github.com/MahmoudAshraf97/whisper-diarization
|
| This project has been alright for transcribing audio with speaker
| diarization. A big finicky. The OpenAI model is better than other
| paid products(Descript, Riverside) so I'm looking forward to
| trying MacWhisper.
| zitterbewegung wrote:
| There is a great library that has support not only with OpenAIs
| whisper but many others that also work offline.
| https://github.com/Uberi/speech_recognition
| bonney_io wrote:
| Any insight on how Whisper works on older Intel Macs? I have a
| 2012 Mac mini with 16GB of RAM doing nothing; if I could use it
| to (slowly) transcribe media in the background, this becomes a
| must-buy.
| jbverschoor wrote:
| So this is not Whisper Transcription 4 from the appstore?
| googlryas wrote:
| Out of curiosity, does anyone know what the state of the art for
| transcription is? Is there a possibility it will soon be "better
| than a person carefully listening and manually transcribing"?
|
| I ask because I asked a friend to record a (for fun) lecture I
| couldn't attend, and unfortunately the speech audio levels are
| quite low, and I'm trying to figure out how to extract as much
| info as possible so I can hear it. If I could add context to the
| transcriber like "This is about the Bronze Age collapse and uses
| terminology commonly used in discussions on that topic", it might
| be even more useful.
| userhacker wrote:
| Try to upload it on https://revoldiv.com/ we pre-process the
| file to make it a little Intelligible and you can supply your
| context when uploading.
| kulesh wrote:
| superwhisper.com is also cool
| agentdrtran wrote:
| Does anyone know of an easy to use whisper fork with speaker
| attestation?
| ajhai wrote:
| Shameless plug: recently launched LLMStack
| (https://github.com/trypromptly/LLMStack) and I have some custom
| pipelines built as apps on LLMStack that I use to transcribe and
| translate.
|
| Granted my use cases are not high volume or frequent but being
| able to take output from Whisper and pipe it to other models has
| been very powerful for me. It is also amazing how good the
| quality of Whisper is when handling non English audio.
|
| We added LocalAI (https://localai.io) support to LLMStack in the
| last release. Will try to use whisper.cpp and see how that
| compares for my use cases.
| uger wrote:
| Great tool, but I can't wait until it can do real-time live
| transcribing.
| paulmd wrote:
| Whisper is cool. Back in college I wanted to do some projects
| with speech-to-text and text-to-speech as an interface like 10-12
| years ago, but at that point the only option was google APIs that
| charged by the word or second.
|
| On top of that, constantly sending data to google would have
| chewed a ton of battery compared to the "activation word" style
| solutions ("ok google/siri") that can be done on-device. The
| power for on-device processing was obviously going to come down
| over time, while wireless is much more governed by the laws of
| physics, and connectivity power budgets haven't gone down nearly
| as much over time. I am pretty sure there is a fundamental
| asymptotic limit for this, governed by Shannon entropy
| limit/channel width and power output. In the presence of a noise
| floor of X, for a bandwidth of Y, you simply cannot use less than
| Z total power for moving a given amount of data.
|
| BTLE is really the first game-changer (especially if you are
| hooking into a broad network of receivers like apple does with
| airtags) but even then you are not really breaking this rule -
| you are just transmitting less often, and sending less data. It's
| just a different spot on the curve that happens to be useful for
| IOT. If you are, say, doing a keyboard over BTLE where the duty
| cycle is higher, the power will be too. Applications that need
| "100% duty cycle"/"interactive" (reachable at any time with
| minimal latency") still have not improved very much.
|
| In hindsight I guess the answer would have been writing a mobile
| app that ties into google/siri keywords and actions, and letting
| the phone be the UI and only transmit BT/BTLE to the device. But
| BTLE hadn't hit the scene back then (or at least not nearly to
| the extent it has now) and I was less experienced/less aware of
| that solution sapce.
| pgt wrote:
| Anyone have a cached page? Seems to hugged to death.
| [deleted]
___________________________________________________________________
(page generated 2023-08-23 23:01 UTC)