Skip to content

Repository files navigation

Chat Recorder

This is a note-taker that can distinguish between different talkers and take down what they said sequentially.

Installation

  1. Create a Python 3.x environment

  2. Install required python packages in requirements.txt

    pip install -r requirements.txt
  3. Install pyannote from develop branch of github repo

  4. Download and install sox , add it to $PATH

  5. Download pretrained deepspeech model to /data and decompress it there

Getting Started

  1. Run main,py .
  2. Click select button and choose your input wav file.
  3. Click exec button and the recognized text will be shown in the text editor below.
  4. Click clear to clear all the text.

Here is a demo video.

Submodules

MP3 to WAV

example usage:

import util

util.mp3_to_wav.trans_mp3_to_wav('path/to/input/mp3', 'path/to/output/wav')

Silence Removal

Example usage:

import util
import librosa

orig_data, sr = librosa.load('path/to/wav', mono=True)
segment_list = util.verification.extract_nonsilence(orig_data, min_segment_duration=1.0, samplerate=sr)

where segment_list is a list of numpy.ndarray .

You can set min_segment_duration which is the minimum duration of a segment in second.

Split sentences

To make sure that different sentences be split, set a larger threshold . By experience, 0.002 is enough.

import util
import librosa

orig_data, sr = librosa.load('path/to/wav', mono=True)
segment_list = util.verification.extract_nonsilence(orig_data, min_segment_duration=1.0, samplerate=sr, threshold=0.002)

Audio Segmentation & Speaker Verification

Audio segmentation and speaker verification are implemented based on pyannote-audio .

Speech Recognition

Speech recognition is implemented based on DeepSpeech.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages