/minutes

:telescope: Speaker diarization via transfer learning

Primary LanguagePython

minutes

Build Status Coverage Status

Jotting things down, so you don't have to.

Spectrogram

Minutes is a speaker diarisation library. Speaker diarisation is the process of identifying different speakers in an audio segment. It is useful for making transcriptions of conversations meaningful by tagging homogenous sections of the conversation with the appropriate speaker.

For more information about Minutes, and how it works, check out our Medium post!

☝️ Installation

Requires Python 3.6!

# Currently we recommend running using the pipenv shell below.
python setup.py install

🏃 Development

Dependencies are managed using a Pipfile and Pipenv:

pipenv install
pipenv shell

Testing

pytest --cov=minutes -vvv test

Example Usage

from minutes import Speaker, Minutes, Conversation

minutes = Minutes(parent='cnn')

# Create some speakers, add some audio.
s1, s2 = Speaker('s1'), Speaker('s2')
s1.add_audio('path/to/audio1')
s2.add_audio('path/to/audio2')

# Add speakers to the model.
minutes.add_speakers([s1, s2])

# Fit the model.
minutes.fit()

# Collect a new conversation for prediction.
conversation = Conversation('/path/to/conversation.wav')

# Create phrases from the conversation.
phrases = minutes.phrases(conversation)