hear
is a command line interface for the built-in speech recognition capabilities in macOS.
This makes it possible to transcribe spoken audio input or entire audio files.
Apple's macOS has long shipped with the say
tool, a command line interface
for the operating system's venerable speech synthesis capabilities. As of
10.15 "Catalina", it also ships with highly capable speech recognition for a variety
of languages. This project is an attempt to provide a robust native CLI for this functionality
since no such tool is provided by Apple. hear
supports speech recognition and
transcription of both live microphone input and audio files in a variety of formats.
All formats supported by CoreAudio should work (e.g. WAV, MP3, AIFF, AAC, CAF, ALAC, etc.).
See the man page for further details.
hear
is free, open source software written in Objective-C. The source code is freely
available under a BSD license.
If you find this program useful, please make a donation.
After downloading and expanding the archive, change to the resulting directory and run the following command:
bash install.sh
This will install the binary into /usr/local/bin
and the man page into
/usr/local/share/man/man1/
.
hear
hear -m
hear -d -i /path/to/someone_speaking.mp3 > transcribed_text.txt
The -d
flag specifies that only on-device speech recognition capabilities
should be used. Otherwise, data may be sent to Apple servers, which as of
writing (2024) have a hard limit of about 500 characters before quitting.
To build hear
from source, run the following command from the repository root (requires Xcode command line build tools):
make build_unsigned
The resulting binary is created in products/
.
To run tests on the built command line tool, execute the following command from the repository root:
bash test/test.sh
If running the binary leads to an abort signal, try running the binary by right-clicking, and selecting open. This should automatically open the binary with the regular terminal and prompt you to allow the required permissions.
Copyright (c) 2022-2024 Sveinbjorn Thordarson <sveinbjorn@sveinbjorn.org>
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.