Skip to main content

A command-line tool to split a speech audio into separate sentences for language learners.

Project description

Speech Splitter

Test PyPI Version PyPI - Python Version Coverage Code style: black

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

speech_splitter-0.0.4.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

speech_splitter-0.0.4-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

File details

Details for the file speech_splitter-0.0.4.tar.gz.

File metadata

  • Download URL: speech_splitter-0.0.4.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.6

File hashes

Hashes for speech_splitter-0.0.4.tar.gz
Algorithm Hash digest
SHA256 d642a2800e7a7a9bfbc831572e1e0e259906614731fac1da3a37bb8400065f60
MD5 c439be31480af71a80e2b917d65fddb9
BLAKE2b-256 7ff36d4a345d7b282a03cb820fe4d91619aca7f9086af6883c7913ef73031051

See more details on using hashes here.

File details

Details for the file speech_splitter-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for speech_splitter-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 606422f6eda610ff229e8cf78ab43b8d5db27e8f3db2b5eb5db1fb3ed96264b2
MD5 7a2fc5378fe8b1aee7260da310e4da4b
BLAKE2b-256 4a318da1dbf3dacd1ba2d331fa9d719e9dfa57c3980dbcc6fe082130a8e68f27

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page