A command-line tool to split a speech audio into separate sentences for language learners.
Project description
Speech Splitter
Description
Speech Splitter is a command-line tool designed to split a speech audio into separate sentences. This tool aims to make it easier for language learners to train the hearing, pronounciation and word accents.
[!WARNING] It uses OpenAI API and requires an API key to work, which is not provided with the package. It can also be quite expensive to use, depending on the size of the provided source.
Motivation
This tool was developed by request of a Dutch teacher. She wanted to have a tool that would split the audio of a provided source into separate sentences, so that the students could listen to each sentence separately and repeat after it.
Installation
To install Speech Splitter, follow these steps:
pip install speech-splitter
It also requires ffmpeg
to be installed on your system. You can install it using the following command (for Ubuntu):
sudo apt-get install ffmpeg
or (for macOS or Windows)
brew install ffmpeg
or (for Windows)
choco install ffmpeg
Usage
After installation, you can use the Speech Splitter tool directly from your command line. The basic command structure is as follows:
export OPENAI_API_KEY=your_api_key
Optionally, set the organization ID if you have one:
export OPENAI_ORG_ID=your_org_id
Run the command:
speech-split --help
Example Commands
speech-split audio.mp3 ./output
This command will read audio.mp3
, get the transcription, split it into sentences, align the audio fragments accordingly, and save the result as output/audio.html
, that can be viewed by the browser.
speech-split video.mp4 ./output
This command will read video.mp4
, split the audio, get the transcription, split it into sentences, align the audio fragments accordingly, and save the result as output/video.html
, that can be viewed by the browser.
speech-split text.txt ./output
This command will read text.txt
, convert text too speech, get the transcription, split it into sentences, align the audio fragments accordingly, and save the result as output/text.html
, that can be viewed by the browser.
Demo
You can see the demo of the tool in action here.
Requirements
The dependencies will be installed automatically during the package installation process.
Feedback and Contributions
Your feedback and contributions are welcome! If you encounter any issues or have suggestions for improvements, please feel free to open an issue on the GitHub repository or submit a pull request with your changes.
License
MIT
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file speech_splitter-0.0.6.tar.gz
.
File metadata
- Download URL: speech_splitter-0.0.6.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c3e3a41ab1fe28e40d0a918e0a85485559f4b5efc25f523832ff385c96d02ba |
|
MD5 | bed129866eba2e8281eea06ed7258bb3 |
|
BLAKE2b-256 | a1a745ad4064bb3fde20147cfec06f5775a6606c19099913bff0e81f0b1a717d |
File details
Details for the file speech_splitter-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: speech_splitter-0.0.6-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 647755631c6bf1d45d601ae58abd9fbc68ea2e9c36f8269e7b91c2b1a2b00c8f |
|
MD5 | 4799e9d39512df3840804ec5f11467fd |
|
BLAKE2b-256 | 065834bec691d0c9a47dafc771f236eb2189fd5a126ebbac0954edec5d126aba |