Skip to content

Instantly share code, notes, and snippets.

@hbredin
Last active March 19, 2024 04:16
Show Gist options
  • Save hbredin/049f2b629700bcea71324d2c1e7f8337 to your computer and use it in GitHub Desktop.
Save hbredin/049f2b629700bcea71324d2c1e7f8337 to your computer and use it in GitHub Desktop.
rich-transcription.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
},
"accelerator": "GPU",
"gpuClass": "standard"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/hbredin/049f2b629700bcea71324d2c1e7f8337/rich-transcription.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"source": [
"# Rich transcription with OpenAI [Whisper](https://github.com/openai/whisper/) and [pyannote.audio](https://github.com/pyannote/pyannote-audio)"
],
"metadata": {
"id": "gTpyDU0Ob1gX"
}
},
{
"cell_type": "markdown",
"source": [
"## Installation"
],
"metadata": {
"id": "UfhHveF0dInb"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "JXENoRuVUB8U"
},
"outputs": [],
"source": [
"# speechbrain (used for speaker embedding)\n",
"!pip install -qq torch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 torchtext==0.12.0\n",
"!pip install -qq speechbrain==0.5.12\n",
"\n",
"# pyannote.audio (used for speaker diarization)\n",
"!pip install -qq pyannote.audio==2.1.1\n",
"\n",
"# OpenAI whisper (used for automatic speech recognition)\n",
"!pip install -qq git+https://github.com/openai/whisper.git "
]
},
{
"cell_type": "markdown",
"source": [
"## File upload"
],
"metadata": {
"id": "HW8wu1fVdaSq"
}
},
{
"cell_type": "code",
"source": [
"# upload an audio file (might not work for large files)\n",
"import google.colab\n",
"audio_file = list(google.colab.files.upload())[0]"
],
"metadata": {
"id": "buPNetoUVvP3"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "markdown",
"source": [
"## Speaker diarization\n",
"\n",
"* Visit [hf.co/pyannote/speaker-diarization](https://hf.co/pyannote/speaker-diarization) and accept user conditions\n",
"* Visit [hf.co/pyannote/segmentation](https://hf.co/pyannote/segmentation) and accept user conditions\n"
],
"metadata": {
"id": "cXqEufVucxd5"
}
},
{
"cell_type": "code",
"source": [
"# log in on Huggingface hub (where pretrained pyannote models are hosted)\n",
"from huggingface_hub import notebook_login\n",
"notebook_login()"
],
"metadata": {
"id": "GhndY4WYZaYI"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# load pyannote.audio speaker diarization \n",
"from pyannote.audio import Pipeline\n",
"speaker_diarization = Pipeline.from_pretrained(\"pyannote/speaker-diarization@2.1\", \n",
" use_auth_token=True)"
],
"metadata": {
"id": "CFgecc6KZL3y"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# apply speaker diarization\n",
"who_speaks_when = speaker_diarization(audio_file, \n",
" num_speakers=None, # these values can be\n",
" min_speakers=None, # provided by the user\n",
" max_speakers=None) # when they are known"
],
"metadata": {
"id": "1JHnwrejbLNP"
},
"execution_count": 8,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# reset notebook visualization (including start time, end time and speaker colors)\n",
"from pyannote.core import notebook\n",
"notebook.reset()\n",
"\n",
"# uncomment line below to only visualize the first minute of the file\n",
"#from pyannote.core import Segment\n",
"#notebook.crop = Segment(0, 60)"
],
"metadata": {
"id": "dd5IWK-PKrKV"
},
"execution_count": 9,
"outputs": []
},
{
"cell_type": "code",
"source": [
"who_speaks_when"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 205
},
"id": "ZkS2XVPdbXiS",
"outputId": "6e1bed85-92f9-4311-970c-56662364080d"
},
"execution_count": 10,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<pyannote.core.annotation.Annotation at 0x7f502dd50a50>"
],
"image/png": "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\n"
},
"metadata": {},
"execution_count": 10
}
]
},
{
"cell_type": "code",
"source": [
"# rename speakers if you know their name\n",
"who_speaks_when = who_speaks_when.rename_labels({\"SPEAKER_06\": \"Sheldon\", \"SPEAKER_05\": \"Leonard\"})\n",
"who_speaks_when"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 205
},
"id": "AnvT_sfKIHOq",
"outputId": "c68b74c2-6555-462b-ba4a-869c86e160c6"
},
"execution_count": 11,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<pyannote.core.annotation.Annotation at 0x7f502c4b8250>"
],
"image/png": "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\n"
},
"metadata": {},
"execution_count": 11
}
]
},
{
"cell_type": "markdown",
"source": [
"## Transcription"
],
"metadata": {
"id": "6orsP5ymc1Je"
}
},
{
"cell_type": "code",
"source": [
"# load OpenAI Whisper automatic speech transcription \n",
"import whisper\n",
"\n",
"# choose among \"tiny\", \"base\", \"small\", \"medium\", \"large\"\n",
"# see https://github.com/openai/whisper/\n",
"model = whisper.load_model(\"small\") "
],
"metadata": {
"id": "u36cv-C5bbMj"
},
"execution_count": null,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# transcribing first minute\n",
"from pyannote.core import Segment\n",
"first_minute = Segment(0, 60)\n",
"\n",
"from pyannote.audio import Audio\n",
"audio = Audio(sample_rate=16000, mono=True)\n",
"\n",
"for segment, _, speaker in who_speaks_when.crop(first_minute).itertracks(yield_label=True):\n",
" waveform, sample_rate = audio.crop(audio_file, segment)\n",
" text = model.transcribe(waveform.squeeze().numpy())[\"text\"]\n",
" print(f\"{segment.start:06.1f}s {segment.end:06.1f}s {speaker}: {text}\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "SLNMSx0GczfU",
"outputId": "ef6d556d-4e9e-43b4-daed-7aa4986929ca"
},
"execution_count": 12,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"0001.4s 0012.9s Sheldon: So if a photon is directed through a plane with two slits in it and either slip is observed, it will not go through both slits. If it's unobserved, it will. However, if it's observed after it's left the plane but before it hits its target, it will not have gone through both slits.\n",
"0006.7s 0006.7s SPEAKER_03: \n",
"0012.9s 0013.4s Leonard: Agreed.\n",
"0014.0s 0014.5s Leonard: What's your point?\n",
"0014.5s 0017.1s Sheldon: There's no point. I just think it's a good idea for a t-shirt.\n",
"0023.5s 0024.8s Leonard: Excuse me. We are on weather alert.\n",
"0029.2s 0036.8s Leonard: One across is a G in, eight down is Novikov, 26 across is MCM, 14 down is, I'm your finger.\n",
"0037.9s 0040.3s Leonard: which makes 14 across pot of prints.\n",
"0042.0s 0045.0s Leonard: C, Popa Docs, Capital Idea. So that's Port-au-Prince.\n",
"0046.5s 0047.0s Leonard: Hey, Eddie.\n",
"0048.9s 0050.3s Leonard: Can I help you? Yes!\n",
"0052.5s 0056.1s Leonard: Is this the high IQ Spombank?\n",
"0057.8s 0057.9s Leonard: So, that's it. Thank you, everybody. Thank you. And we'll see you in the next video.\n",
"0057.9s 0060.0s SPEAKER_03: If you have to ask, maybe you shouldn't be here.\n"
]
}
]
},
{
"cell_type": "markdown",
"source": [
"## Local installation (based on conda)\n",
"\n",
"```bash\n",
"conda create -n rich_transcription python=3.9\n",
"conda activate rich_transcription\n",
"\n",
"# speechbrain (used for speaker embedding)\n",
"pip install -qq torch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0 torchtext==0.12.0\n",
"pip install -qq speechbrain==0.5.12\n",
"\n",
"# pyannote.audio (used for speaker diarization)\n",
"pip install -qq pyannote.audio==2.1.1\n",
"\n",
"# OpenAI whisper (used for automatic speech recognition)\n",
"pip install -qq git+https://github.com/openai/whisper.git \n",
"```"
],
"metadata": {
"id": "6Usm50J9D4yg"
}
}
]
}
@Eranba92
Copy link

Eranba92 commented Apr 10, 2023

@hbredin 3 questions:

  1. does this code include faster inference?
  2. does the weights are free to use without charge?
  3. how to handle a lot of audio files, with more than 1,000 minuets for example.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment