minutes
minutes copied to clipboard
:telescope: Speaker diarization via transfer learning
minutes
Jotting things down, so you don't have to.
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!
:point_up: Installation
Requires Python 3.6!
# Currently we recommend running using the pipenv shell below.
python setup.py install
:running: 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)