This tool is designed to recognize speech in real-time, convert it to text, and automatically copy the text to the system clipboard. The tool leverages API services for speech recognition and uses Python libraries for audio capture and clipboard management.
Before you begin, ensure you have the following ready:
You can install asr2clip
directly from PyPI using pip
or pipx
:
# Install using pip
pip install asr2clip
# Alternatively, install using pipx (recommended for isolated environments)
pipx install asr2clip
git clone https://github.com/Oaklight/asr2clip.git
cd asr2clip
pip install -r requirements.txt
If you are using Conda, you can create an environment using the provided environment.yaml
file:
conda env create -f environment.yaml
conda activate asr
asr2clip.conf
file in the root directory of the project or in your ~/.config/
directory. A sample file asr2clip.conf.example
is provided.asr2clip.conf
file in YAML format:api_key: your_api_key_here
api_base_url: https://api.openai.com/v1
model_name: whisper-1
pyperclip
on Linux, make sure to install xclip
or xsel
. You can install them using the following commands:sudo apt-get install xsel # Basic clipboard functionality, same to asr2clip
sudo apt-get install xclip # More advanced functionality, same to asr2clip
asr2clip
Ctrl+C
to stop the tool.pydub
can handle (e.g., MP3, WAV, FLAC, AAC):asr2clip --input /path/to/audio/file.mp3
cat /path/to/audio/file.wav | asr2clip --stdin
asr2clip --duration 10
-o
or --output
option:
asr2clip --output /path/to/output.txt
asr2clip --output -
asr2clip --generate_config
asr2clip --quiet
asr2clip --config /path/to/config.conf
$ ./asr2clip.py --duration 5
Recording for 5 seconds...
Recording complete.
Transcribing audio...
Transcribed Text:
-----------------
1,2,3,3,2,1. This is the English test.
The transcribed text has been copied to the clipboard.
pyperclip
is correctly installed and compatible with your operating system. Linux users need to install xclip
or xsel
.If you would like to contribute to this project, please fork the repository and submit a pull request. We welcome any improvements or new features!
This project is licensed under the GNU Affero General Public License v3.0. See the LICENSE file for details.