verbanote-server/Pyannote_plays_and_Whisper_rhymes_v_2_0.ipynb

4764 lines
207 KiB
Text
Raw Normal View History

2023-08-20 09:26:15 +00:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "RQyROdrfsvk4"
},
"source": [
"[![notebook shield](https://img.shields.io/static/v1?label=&message=Notebook&color=blue&style=for-the-badge&logo=googlecolab&link=https://colab.research.google.com/github/ArthurFDLR/whisper-youtube/blob/main/whisper_youtube.ipynb)](https://colab.research.google.com/github/Majdoddin/nlp/blob/main/Pyannote_plays_and_Whisper_rhymes_v_2_0.ipynb)\n",
"[![repository shield](https://img.shields.io/static/v1?label=&message=Repository&color=blue&style=for-the-badge&logo=github&link=https://github.com/openai/whisper)](https://github.com/majdoddin/nlp)\n",
"\n",
"# Whisper's transcription plus Pyannote's Diarization \n",
"\n",
"**Update** - [@johnwyles](https://github.com/johnwyles) added HTML output for audio/video files from Google Drive, along with some fixes.\n",
"\n",
"Using the new word-level timestamping of Whisper, the transcription words are highlighted as the video plays, with optional autoscroll. And the display on small displays is improved.\n",
"\n",
"Moreover, the model is loaded just once, thus the whole thing runs much faster now. You can also hardcode your Huggingface token. \n",
"\n",
"---\n",
"Andrej Karpathy [suggested](https://twitter.com/karpathy/status/1574476200801538048?s=20&t=s5IMMXOYjBI6-91dib6w8g) training a classifier on top of OpenAI [Whisper](https://openai.com/blog/whisper/) model features to identify the speaker, so we can visualize the speaker in the transcript. But, as [pointed out](https://twitter.com/tarantulae/status/1574493613362388992?s=20&t=s5IMMXOYjBI6-91dib6w8g) by Christian Perone, it seems that features from whisper wouldn't be that great for speaker recognition as its main objective is basically to ignore speaker differences.\n",
"\n",
"In the following, I use [**`pyannote-audio`**](https://github.com/pyannote/pyannote-audio), a speaker diarization toolkit by Hervé Bredin, to identify the speakers, and then match it with the transcriptions of Whispr, linked to the video. The input can be YouTube or an video/audio file (also on Google Drive). I try it on a [Customer Support Call](https://youtu.be/hpZFJctBUHQ). Check the result [**here**](https://majdoddin.github.io/dyson.html).\n",
"\n",
"To make it easier to match the transcriptions to diarizations by speaker change, Sarah Kaiser [suggested](https://github.com/openai/whisper/discussions/264#discussioncomment-3825375) runnnig the pyannote.audio first and then just running whisper on the split-by-speaker chunks. \n",
"For sake of performance (and transcription quality?), we attach the audio segements into a single audio file with a silent spacer as a seperator, and run whisper on it. Enjoy it!\n",
"\n",
"(For sake of performance , I also tried attaching the audio segements into a single audio file with a silent -or beep- spacer as a seperator, and run whisper on it see it on [colab](https://colab.research.google.com/drive/1HuvcY4tkTHPDzcwyVH77LCh_m8tP-Qet?usp=sharing). It [works](https://majdoddin.github.io/lexicap.html) on some audio, and fails on some (Dyson's Interview). The problem is, whisper does not reliably make a timestap on a spacer. See the discussions [#139](https://github.com/openai/whisper/discussions/139) and [#29](https://github.com/openai/whisper/discussions/29))\n",
"\n",
"The Markdown form used below is from [@ArthurFDLR](https://github.com/ArthurFDLR/whisper-youtube/). "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "wtljXaTXnowa"
},
"source": [
"# Preparing the audio file"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"cellView": "form",
"id": "1zqnZsBacKph",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"from pathlib import Path\n",
"#@markdown Enter the URL of the YouTube video, or the path to the video/audio file you want to transcribe, give the output path, etc. and run the cell. HTML file embeds the video for YouTube, and audio for media files.\n",
"\n",
"#@markdown ---\n",
"#@markdown #### **Google Drive video or audio path (mp4, wav, mp3)**\n",
"video_path = \"/workspace/data/interview.aac\" #@param {type:\"string\"}\n",
"#@markdown ---\n",
"output_path = \"/workspace/output/transcript\" #@param {type:\"string\"}\n",
"output_path = str(Path(output_path))\n",
"#@markdown ---\n",
"#@markdown #### **Title for transcription of media file**\n",
"audio_title = \"Interview transcription\" #@param {type:\"string\"}\n",
"#@markdown ---\n",
"#@markdown #### Copy a token from your [Hugging Face tokens page](https://huggingface.co/settings/tokens) and paste it below.\n",
"access_token = \"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\" #@param {type:\"string\"}\n",
"\n",
"#@markdown ---\n",
"#@markdown **Run this cell again if you change the video.**\n",
"\n",
"speakers = {'SPEAKER_00':('SPEAKER00', '#e1ffc7', 'darkgreen'), 'SPEAKER_01':('SPEAKER01', 'white', 'darkorange') }\n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"id": "NvDON2GxZpIb",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"import locale\n",
"locale.getpreferredencoding = lambda: \"UTF-8\""
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "6vgK82ahXNje",
"outputId": "f1ce5185-c338-4258-d7b3-121766bc3845",
"vscode": {
"languageId": "python"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/content/transcript\n"
]
}
],
"source": [
"Path(output_path).mkdir(parents=True, exist_ok=True)\n",
"%cd {output_path}\n",
"video_title = \"\"\n",
"video_id = \"\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!apt-get update\n",
"!apt-get install ffmpeg"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "VjORT6CkVoTF",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"!ffmpeg -i {repr(video_path)} -vn -acodec pcm_s16le -ar 16000 -ac 1 -y input.wav "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "1u1vbqd_VzNp"
},
"source": [
"## Prepending a spacer"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "q7qMLTISFE6M"
},
"source": [
"`pyannote.audio` seems to miss the first 0.5 seconds of the audio, and, therefore, we prepend a spcacer."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "ZqznOE7Kw725",
"outputId": "d381bbc3-5a3a-4fcb-eb2f-74d427083484",
"vscode": {
"languageId": "python"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Collecting pydub\n",
" Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)\n",
"Installing collected packages: pydub\n",
"Successfully installed pydub-0.25.1\n"
]
}
],
"source": [
"!pip install pydub"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "MaRDsBV1CWi8",
"outputId": "909a6625-0145-4646-c1cb-82a2a22a390c",
"vscode": {
"languageId": "python"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<_io.BufferedRandom name='input_prep.wav'>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from pydub import AudioSegment\n",
"\n",
"spacermilli = 2000\n",
"spacer = AudioSegment.silent(duration=spacermilli)\n",
"\n",
"\n",
"audio = AudioSegment.from_wav(\"input.wav\") \n",
"\n",
"audio = spacer.append(audio, crossfade=0)\n",
"\n",
"audio.export('input_prep.wav', format='wav')"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "mb5eEOKUooju"
},
"source": [
"# Pyannote's Diarization"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "nxNf1l8Ye_U9"
},
"source": [
"[`pyannote.audio`](https://github.com/pyannote/pyannote-audio) is an open-source toolkit written in Python for **speaker diarization**. \n",
"\n",
"Based on [`PyTorch`](https://pytorch.org) machine learning framework, it provides a set of trainable end-to-end neural building blocks that can be combined and jointly optimized to build speaker diarization pipelines. \n",
"\n",
"`pyannote.audio` also comes with pretrained [models](https://huggingface.co/models?other=pyannote-audio-model) and [pipelines](https://huggingface.co/models?other=pyannote-audio-pipeline) covering a wide range of domains for voice activity detection, speaker segmentation, overlapped speech detection, speaker embedding reaching state-of-the-art performance for most of them. "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "S8Ak_OQwqd-3"
},
"source": [
"Installing `pyannote.audio`."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "KFgcJ8f6dNUR",
"outputId": "01c343b8-a758-4222-959d-2a4b51c880a1"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Collecting light-the-torch\n",
" Downloading light_the_torch-0.7.2-py3-none-any.whl (14 kB)\n",
"Collecting pip<23.1,>=22.3\n",
" Downloading pip-23.0.1-py3-none-any.whl (2.1 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m22.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hInstalling collected packages: pip, light-the-torch\n",
" Attempting uninstall: pip\n",
" Found existing installation: pip 22.0.4\n",
" Uninstalling pip-22.0.4:\n",
" Successfully uninstalled pip-22.0.4\n",
"Successfully installed light-the-torch-0.7.2 pip-23.0.1\n"
]
}
],
"source": [
"!pip install light-the-torch"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "GhBEKgQGdPJc",
"outputId": "4b43ada4-6139-4b76-e7d5-bd0e500c0491"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Collecting torch==1.13.1\n",
" Downloading https://download.pytorch.org/whl/cu117/torch-1.13.1%2Bcu117-cp39-cp39-linux_x86_64.whl (1801.8 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 GB\u001b[0m \u001b[31m979.1 kB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting torchvision==0.14.1\n",
" Downloading https://download.pytorch.org/whl/cu117/torchvision-0.14.1%2Bcu117-cp39-cp39-linux_x86_64.whl (24.3 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m24.3/24.3 MB\u001b[0m \u001b[31m56.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting torchaudio==0.13.1\n",
" Downloading https://download.pytorch.org/whl/cu117/torchaudio-0.13.1%2Bcu117-cp39-cp39-linux_x86_64.whl (4.2 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m4.2/4.2 MB\u001b[0m \u001b[31m79.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: typing-extensions in /usr/local/lib/python3.9/dist-packages (from torch==1.13.1) (4.5.0)\n",
"Requirement already satisfied: requests in /usr/local/lib/python3.9/dist-packages (from torchvision==0.14.1) (2.27.1)\n",
"Requirement already satisfied: numpy in /usr/local/lib/python3.9/dist-packages (from torchvision==0.14.1) (1.22.4)\n",
"Requirement already satisfied: pillow!=8.3.*,>=5.3.0 in /usr/local/lib/python3.9/dist-packages (from torchvision==0.14.1) (8.4.0)\n",
"Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.9/dist-packages (from requests->torchvision==0.14.1) (3.4)\n",
"Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.9/dist-packages (from requests->torchvision==0.14.1) (2.0.12)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.9/dist-packages (from requests->torchvision==0.14.1) (2022.12.7)\n",
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.9/dist-packages (from requests->torchvision==0.14.1) (1.26.15)\n",
"Installing collected packages: torch, torchvision, torchaudio\n",
" Attempting uninstall: torch\n",
" Found existing installation: torch 2.0.0+cu118\n",
" Uninstalling torch-2.0.0+cu118:\n",
" Successfully uninstalled torch-2.0.0+cu118\n",
" Attempting uninstall: torchvision\n",
" Found existing installation: torchvision 0.15.1+cu118\n",
" Uninstalling torchvision-0.15.1+cu118:\n",
" Successfully uninstalled torchvision-0.15.1+cu118\n",
" Attempting uninstall: torchaudio\n",
" Found existing installation: torchaudio 2.0.1+cu118\n",
" Uninstalling torchaudio-2.0.1+cu118:\n",
" Successfully uninstalled torchaudio-2.0.1+cu118\n",
"\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
"torchtext 0.15.1 requires torch==2.0.0, but you have torch 1.13.1+cu117 which is incompatible.\n",
"torchdata 0.6.0 requires torch==2.0.0, but you have torch 1.13.1+cu117 which is incompatible.\u001b[0m\u001b[31m\n",
"\u001b[0mSuccessfully installed torch-1.13.1+cu117 torchaudio-0.13.1+cu117 torchvision-0.14.1+cu117\n",
"\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n",
"\u001b[0m"
]
}
],
"source": [
"!ltt install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 "
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000
},
"id": "vJGyKTQJqdzq",
"outputId": "1ed58f92-05bb-4ff1-f7b0-90492bb4c5c0",
"vscode": {
"languageId": "python"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Collecting git+https://github.com/hmmlearn/hmmlearn.git\n",
" Cloning https://github.com/hmmlearn/hmmlearn.git to /tmp/pip-req-build-jeb7z7vl\n",
" Running command git clone --filter=blob:none --quiet https://github.com/hmmlearn/hmmlearn.git /tmp/pip-req-build-jeb7z7vl\n",
" Resolved https://github.com/hmmlearn/hmmlearn.git to commit ab52395dbb80a1a76b75deb25de23e74450a5873\n",
" Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: numpy>=1.10 in /usr/local/lib/python3.9/dist-packages (from hmmlearn==0.2.8.post31+gab52395) (1.22.4)\n",
"Requirement already satisfied: scikit-learn!=0.22.0,>=0.16 in /usr/local/lib/python3.9/dist-packages (from hmmlearn==0.2.8.post31+gab52395) (1.2.2)\n",
"Requirement already satisfied: scipy>=0.19 in /usr/local/lib/python3.9/dist-packages (from hmmlearn==0.2.8.post31+gab52395) (1.10.1)\n",
"Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.9/dist-packages (from scikit-learn!=0.22.0,>=0.16->hmmlearn==0.2.8.post31+gab52395) (3.1.0)\n",
"Requirement already satisfied: joblib>=1.1.1 in /usr/local/lib/python3.9/dist-packages (from scikit-learn!=0.22.0,>=0.16->hmmlearn==0.2.8.post31+gab52395) (1.1.1)\n",
"Building wheels for collected packages: hmmlearn\n",
" Building wheel for hmmlearn (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for hmmlearn: filename=hmmlearn-0.2.8.post31+gab52395-cp39-cp39-linux_x86_64.whl size=133708 sha256=ef8c2735851c0ec43fe8bdb5b0e238bbee80030cd6dae082f91cbe1ded62d504\n",
" Stored in directory: /tmp/pip-ephem-wheel-cache-7yutu4jm/wheels/7e/7a/76/9d299ba2b4294f29bd9819edda1d3d9f5310ee89fcda2e110c\n",
"Successfully built hmmlearn\n",
"Installing collected packages: hmmlearn\n",
"Successfully installed hmmlearn-0.2.8.post31+gab52395\n",
"\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n",
"\u001b[0mLooking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
"Collecting git+https://github.com/pyannote/pyannote-audio.git@develop\n",
" Cloning https://github.com/pyannote/pyannote-audio.git (to revision develop) to /tmp/pip-req-build-fvhib8sn\n",
" Running command git clone --filter=blob:none --quiet https://github.com/pyannote/pyannote-audio.git /tmp/pip-req-build-fvhib8sn\n",
" Resolved https://github.com/pyannote/pyannote-audio.git to commit 74939acbfa830521a434cb4068176196dd9612dc\n",
" Running command git submodule update --init --recursive -q\n",
" Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
"Collecting asteroid-filterbanks<0.5,>=0.4\n",
" Downloading asteroid_filterbanks-0.4.0-py3-none-any.whl (29 kB)\n",
"Collecting backports.cached_property\n",
" Downloading backports.cached_property-1.0.2-py3-none-any.whl (6.1 kB)\n",
"Collecting einops<0.4.0,>=0.3\n",
" Downloading einops-0.3.2-py3-none-any.whl (25 kB)\n",
"Requirement already satisfied: hmmlearn<0.3,>=0.2.7 in /usr/local/lib/python3.9/dist-packages (from pyannote.audio==2.1.1) (0.2.8.post31+gab52395)\n",
"Collecting huggingface_hub>=0.8.1\n",
" Downloading huggingface_hub-0.13.3-py3-none-any.whl (199 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m199.8/199.8 kB\u001b[0m \u001b[31m8.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting networkx<3.0,>=2.6\n",
" Downloading networkx-2.8.8-py3-none-any.whl (2.0 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m39.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting omegaconf<3.0,>=2.1\n",
" Downloading omegaconf-2.3.0-py3-none-any.whl (79 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m79.5/79.5 kB\u001b[0m \u001b[31m10.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting pyannote.core<5.0,>=4.4\n",
" Downloading pyannote.core-4.5-py3-none-any.whl (60 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.5/60.5 kB\u001b[0m \u001b[31m6.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting pyannote.database<5.0,>=4.1.1\n",
" Downloading pyannote.database-4.1.3-py3-none-any.whl (41 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m41.6/41.6 kB\u001b[0m \u001b[31m5.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting pyannote.metrics<4.0,>=3.2\n",
" Downloading pyannote.metrics-3.2.1-py3-none-any.whl (51 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m51.4/51.4 kB\u001b[0m \u001b[31m7.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting pyannote.pipeline<3.0,>=2.3\n",
" Downloading pyannote.pipeline-2.3-py3-none-any.whl (30 kB)\n",
"Collecting pytorch_lightning<1.9,>=1.8.0\n",
" Downloading pytorch_lightning-1.8.6-py3-none-any.whl (800 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m800.3/800.3 kB\u001b[0m \u001b[31m54.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting pytorch_metric_learning<2.0,>=1.0.0\n",
" Downloading pytorch_metric_learning-1.7.3-py3-none-any.whl (112 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.2/112.2 kB\u001b[0m \u001b[31m13.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: rich>=12.0.0 in /usr/local/lib/python3.9/dist-packages (from pyannote.audio==2.1.1) (13.3.3)\n",
"Collecting semver<3.0,>=2.10.2\n",
" Downloading semver-2.13.0-py2.py3-none-any.whl (12 kB)\n",
"Collecting singledispatchmethod\n",
" Downloading singledispatchmethod-1.0-py2.py3-none-any.whl (4.7 kB)\n",
"Collecting soundfile<0.12,>=0.10.2\n",
" Downloading soundfile-0.11.0-py2.py3-none-any.whl (23 kB)\n",
"Collecting speechbrain<0.6,>=0.5.12\n",
" Downloading speechbrain-0.5.14-py3-none-any.whl (519 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m519.0/519.0 kB\u001b[0m \u001b[31m44.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: torch>=1.9 in /usr/local/lib/python3.9/dist-packages (from pyannote.audio==2.1.1) (1.13.1+cu117)\n",
"Collecting torch_audiomentations>=0.11.0\n",
" Downloading torch_audiomentations-0.11.0-py3-none-any.whl (47 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m47.9/47.9 kB\u001b[0m \u001b[31m6.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: torchaudio<1.0,>=0.10 in /usr/local/lib/python3.9/dist-packages (from pyannote.audio==2.1.1) (0.13.1+cu117)\n",
"Collecting torchmetrics<1.0,>=0.11\n",
" Downloading torchmetrics-0.11.4-py3-none-any.whl (519 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m519.2/519.2 kB\u001b[0m \u001b[31m51.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: typing_extensions in /usr/local/lib/python3.9/dist-packages (from pyannote.audio==2.1.1) (4.5.0)\n",
"Requirement already satisfied: numpy in /usr/local/lib/python3.9/dist-packages (from asteroid-filterbanks<0.5,>=0.4->pyannote.audio==2.1.1) (1.22.4)\n",
"Requirement already satisfied: scikit-learn!=0.22.0,>=0.16 in /usr/local/lib/python3.9/dist-packages (from hmmlearn<0.3,>=0.2.7->pyannote.audio==2.1.1) (1.2.2)\n",
"Requirement already satisfied: scipy>=0.19 in /usr/local/lib/python3.9/dist-packages (from hmmlearn<0.3,>=0.2.7->pyannote.audio==2.1.1) (1.10.1)\n",
"Requirement already satisfied: filelock in /usr/local/lib/python3.9/dist-packages (from huggingface_hub>=0.8.1->pyannote.audio==2.1.1) (3.10.7)\n",
"Requirement already satisfied: requests in /usr/local/lib/python3.9/dist-packages (from huggingface_hub>=0.8.1->pyannote.audio==2.1.1) (2.27.1)\n",
"Requirement already satisfied: packaging>=20.9 in /usr/local/lib/python3.9/dist-packages (from huggingface_hub>=0.8.1->pyannote.audio==2.1.1) (23.0)\n",
"Requirement already satisfied: pyyaml>=5.1 in /usr/local/lib/python3.9/dist-packages (from huggingface_hub>=0.8.1->pyannote.audio==2.1.1) (6.0)\n",
"Requirement already satisfied: tqdm>=4.42.1 in /usr/local/lib/python3.9/dist-packages (from huggingface_hub>=0.8.1->pyannote.audio==2.1.1) (4.65.0)\n",
"Collecting antlr4-python3-runtime==4.9.*\n",
" Downloading antlr4-python3-runtime-4.9.3.tar.gz (117 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m117.0/117.0 kB\u001b[0m \u001b[31m16.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: sortedcontainers>=2.0.4 in /usr/local/lib/python3.9/dist-packages (from pyannote.core<5.0,>=4.4->pyannote.audio==2.1.1) (2.4.0)\n",
"Collecting simplejson>=3.8.1\n",
" Downloading simplejson-3.18.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (136 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m136.8/136.8 kB\u001b[0m \u001b[31m18.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: typer[all]>=0.2.1 in /usr/local/lib/python3.9/dist-packages (from pyannote.database<5.0,>=4.1.1->pyannote.audio==2.1.1) (0.7.0)\n",
"Requirement already satisfied: pandas>=0.19 in /usr/local/lib/python3.9/dist-packages (from pyannote.database<5.0,>=4.1.1->pyannote.audio==2.1.1) (1.4.4)\n",
"Collecting docopt>=0.6.2\n",
" Downloading docopt-0.6.2.tar.gz (25 kB)\n",
" Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: matplotlib>=2.0.0 in /usr/local/lib/python3.9/dist-packages (from pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (3.7.1)\n",
"Requirement already satisfied: tabulate>=0.7.7 in /usr/local/lib/python3.9/dist-packages (from pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (0.8.10)\n",
"Requirement already satisfied: sympy>=1.1 in /usr/local/lib/python3.9/dist-packages (from pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (1.11.1)\n",
"Collecting optuna>=1.4\n",
" Downloading optuna-3.1.0-py3-none-any.whl (365 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m365.3/365.3 kB\u001b[0m \u001b[31m38.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: fsspec[http]>2021.06.0 in /usr/local/lib/python3.9/dist-packages (from pytorch_lightning<1.9,>=1.8.0->pyannote.audio==2.1.1) (2023.3.0)\n",
"Collecting lightning-utilities!=0.4.0,>=0.3.0\n",
" Downloading lightning_utilities-0.8.0-py3-none-any.whl (20 kB)\n",
"Collecting tensorboardX>=2.2\n",
" Downloading tensorboardX-2.6-py2.py3-none-any.whl (114 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m114.5/114.5 kB\u001b[0m \u001b[31m15.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: markdown-it-py<3.0.0,>=2.2.0 in /usr/local/lib/python3.9/dist-packages (from rich>=12.0.0->pyannote.audio==2.1.1) (2.2.0)\n",
"Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /usr/local/lib/python3.9/dist-packages (from rich>=12.0.0->pyannote.audio==2.1.1) (2.14.0)\n",
"Requirement already satisfied: cffi>=1.0 in /usr/local/lib/python3.9/dist-packages (from soundfile<0.12,>=0.10.2->pyannote.audio==2.1.1) (1.15.1)\n",
"Requirement already satisfied: joblib in /usr/local/lib/python3.9/dist-packages (from speechbrain<0.6,>=0.5.12->pyannote.audio==2.1.1) (1.1.1)\n",
"Collecting hyperpyyaml\n",
" Downloading HyperPyYAML-1.2.0-py3-none-any.whl (16 kB)\n",
"Collecting sentencepiece\n",
" Downloading sentencepiece-0.1.97-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m73.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: librosa>=0.6.0 in /usr/local/lib/python3.9/dist-packages (from torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (0.10.0.post2)\n",
"Collecting torch-pitch-shift>=1.2.2\n",
" Downloading torch_pitch_shift-1.2.3-py3-none-any.whl (4.9 kB)\n",
"Collecting julius<0.3,>=0.2.3\n",
" Downloading julius-0.2.7.tar.gz (59 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m59.6/59.6 kB\u001b[0m \u001b[31m8.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25h Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
"Requirement already satisfied: pycparser in /usr/local/lib/python3.9/dist-packages (from cffi>=1.0->soundfile<0.12,>=0.10.2->pyannote.audio==2.1.1) (2.21)\n",
"Collecting aiohttp!=4.0.0a0,!=4.0.0a1\n",
" Downloading aiohttp-3.8.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.0/1.0 MB\u001b[0m \u001b[31m68.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: numba>=0.51.0 in /usr/local/lib/python3.9/dist-packages (from librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (0.56.4)\n",
"Requirement already satisfied: pooch<1.7,>=1.0 in /usr/local/lib/python3.9/dist-packages (from librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (1.6.0)\n",
"Requirement already satisfied: decorator>=4.3.0 in /usr/local/lib/python3.9/dist-packages (from librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (4.4.2)\n",
"Requirement already satisfied: soxr>=0.3.2 in /usr/local/lib/python3.9/dist-packages (from librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (0.3.4)\n",
"Requirement already satisfied: audioread>=2.1.9 in /usr/local/lib/python3.9/dist-packages (from librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (3.0.0)\n",
"Requirement already satisfied: msgpack>=1.0 in /usr/local/lib/python3.9/dist-packages (from librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (1.0.5)\n",
"Requirement already satisfied: lazy-loader>=0.1 in /usr/local/lib/python3.9/dist-packages (from librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (0.2)\n",
"Collecting librosa>=0.6.0\n",
" Downloading librosa-0.10.0.post1-py3-none-any.whl (252 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m253.0/253.0 kB\u001b[0m \u001b[31m30.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25h Downloading librosa-0.10.0-py3-none-any.whl (252 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m252.9/252.9 kB\u001b[0m \u001b[31m30.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25h Downloading librosa-0.9.2-py3-none-any.whl (214 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m214.3/214.3 kB\u001b[0m \u001b[31m28.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting resampy>=0.2.2\n",
" Downloading resampy-0.4.2-py3-none-any.whl (3.1 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.1/3.1 MB\u001b[0m \u001b[31m95.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.9/dist-packages (from markdown-it-py<3.0.0,>=2.2.0->rich>=12.0.0->pyannote.audio==2.1.1) (0.1.2)\n",
"Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (3.0.9)\n",
"Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (1.0.7)\n",
"Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (8.4.0)\n",
"Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (2.8.2)\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (0.11.0)\n",
"Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (4.39.3)\n",
"Requirement already satisfied: importlib-resources>=3.2.0 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (5.12.0)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (1.4.4)\n",
"Collecting cmaes>=0.9.1\n",
" Downloading cmaes-0.9.1-py3-none-any.whl (21 kB)\n",
"Collecting alembic>=1.5.0\n",
" Downloading alembic-1.10.3-py3-none-any.whl (212 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m212.3/212.3 kB\u001b[0m \u001b[31m27.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: sqlalchemy>=1.3.0 in /usr/local/lib/python3.9/dist-packages (from optuna>=1.4->pyannote.pipeline<3.0,>=2.3->pyannote.audio==2.1.1) (1.4.47)\n",
"Collecting colorlog\n",
" Downloading colorlog-6.7.0-py2.py3-none-any.whl (11 kB)\n",
"Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.9/dist-packages (from pandas>=0.19->pyannote.database<5.0,>=4.1.1->pyannote.audio==2.1.1) (2022.7.1)\n",
"Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.9/dist-packages (from scikit-learn!=0.22.0,>=0.16->hmmlearn<0.3,>=0.2.7->pyannote.audio==2.1.1) (3.1.0)\n",
"Requirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.9/dist-packages (from sympy>=1.1->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (1.3.0)\n",
"Requirement already satisfied: protobuf<4,>=3.8.0 in /usr/local/lib/python3.9/dist-packages (from tensorboardX>=2.2->pytorch_lightning<1.9,>=1.8.0->pyannote.audio==2.1.1) (3.20.3)\n",
"Collecting primePy>=1.3\n",
" Downloading primePy-1.3-py3-none-any.whl (4.0 kB)\n",
"Requirement already satisfied: click<9.0.0,>=7.1.1 in /usr/local/lib/python3.9/dist-packages (from typer[all]>=0.2.1->pyannote.database<5.0,>=4.1.1->pyannote.audio==2.1.1) (8.1.3)\n",
"Collecting shellingham<2.0.0,>=1.3.0\n",
" Downloading shellingham-1.5.0.post1-py2.py3-none-any.whl (9.4 kB)\n",
"Collecting rich>=12.0.0\n",
" Downloading rich-12.6.0-py3-none-any.whl (237 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m237.5/237.5 kB\u001b[0m \u001b[31m29.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting colorama<0.5.0,>=0.4.3\n",
" Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n",
"Collecting commonmark<0.10.0,>=0.9.0\n",
" Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m51.1/51.1 kB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting ruamel.yaml>=0.17.8\n",
" Downloading ruamel.yaml-0.17.21-py3-none-any.whl (109 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m109.5/109.5 kB\u001b[0m \u001b[31m15.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.9/dist-packages (from requests->huggingface_hub>=0.8.1->pyannote.audio==2.1.1) (3.4)\n",
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.9/dist-packages (from requests->huggingface_hub>=0.8.1->pyannote.audio==2.1.1) (1.26.15)\n",
"Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.9/dist-packages (from requests->huggingface_hub>=0.8.1->pyannote.audio==2.1.1) (2.0.12)\n",
"Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.9/dist-packages (from requests->huggingface_hub>=0.8.1->pyannote.audio==2.1.1) (2022.12.7)\n",
"Collecting async-timeout<5.0,>=4.0.0a3\n",
" Downloading async_timeout-4.0.2-py3-none-any.whl (5.8 kB)\n",
"Requirement already satisfied: attrs>=17.3.0 in /usr/local/lib/python3.9/dist-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>2021.06.0->pytorch_lightning<1.9,>=1.8.0->pyannote.audio==2.1.1) (22.2.0)\n",
"Collecting aiosignal>=1.1.2\n",
" Downloading aiosignal-1.3.1-py3-none-any.whl (7.6 kB)\n",
"Collecting frozenlist>=1.1.1\n",
" Downloading frozenlist-1.3.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (158 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m158.8/158.8 kB\u001b[0m \u001b[31m20.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting multidict<7.0,>=4.5\n",
" Downloading multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (114 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m114.2/114.2 kB\u001b[0m \u001b[31m15.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting yarl<2.0,>=1.0\n",
" Downloading yarl-1.8.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (264 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m264.6/264.6 kB\u001b[0m \u001b[31m30.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting Mako\n",
" Downloading Mako-1.2.4-py3-none-any.whl (78 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m78.7/78.7 kB\u001b[0m \u001b[31m12.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: zipp>=3.1.0 in /usr/local/lib/python3.9/dist-packages (from importlib-resources>=3.2.0->matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (3.15.0)\n",
"Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in /usr/local/lib/python3.9/dist-packages (from numba>=0.51.0->librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (0.39.1)\n",
"Requirement already satisfied: setuptools in /usr/local/lib/python3.9/dist-packages (from numba>=0.51.0->librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (67.6.1)\n",
"Requirement already satisfied: appdirs>=1.3.0 in /usr/local/lib/python3.9/dist-packages (from pooch<1.7,>=1.0->librosa>=0.6.0->torch_audiomentations>=0.11.0->pyannote.audio==2.1.1) (1.4.4)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.9/dist-packages (from python-dateutil>=2.7->matplotlib>=2.0.0->pyannote.metrics<4.0,>=3.2->pyannote.audio==2.1.1) (1.16.0)\n",
"Collecting ruamel.yaml.clib>=0.2.6\n",
" Downloading ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (519 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m519.4/519.4 kB\u001b[0m \u001b[31m49.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: greenlet!=0.4.17 in /usr/local/lib/python3.9/dist-packages (from sqlalchemy>=1.3.0->optuna>=1.4->pyannote.pipeline<3.0,>=2.3->pyannote.audio==2.1.1) (2.0.2)\n",
"Requirement already satisfied: MarkupSafe>=0.9.2 in /usr/local/lib/python3.9/dist-packages (from Mako->alembic>=1.5.0->optuna>=1.4->pyannote.pipeline<3.0,>=2.3->pyannote.audio==2.1.1) (2.1.2)\n",
"Building wheels for collected packages: pyannote.audio, antlr4-python3-runtime, docopt, julius\n",
" Building wheel for pyannote.audio (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for pyannote.audio: filename=pyannote.audio-2.1.1-py2.py3-none-any.whl size=399199 sha256=30bad5338fada65e28b5604f54e43927cf64b12497bc480121a0a127104901d0\n",
" Stored in directory: /tmp/pip-ephem-wheel-cache-f0rslw70/wheels/e7/5e/d6/b7b3e90fb0d5119342664d77b67656adc799f9101d9c70151f\n",
" Building wheel for antlr4-python3-runtime (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.9.3-py3-none-any.whl size=144573 sha256=7e1c064faa96c7c1859081a6a7a896093d2216814656ef803d28c90e83d3747c\n",
" Stored in directory: /root/.cache/pip/wheels/23/cf/80/f3efa822e6ab23277902ee9165fe772eeb1dfb8014f359020a\n",
" Building wheel for docopt (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for docopt: filename=docopt-0.6.2-py2.py3-none-any.whl size=13721 sha256=b137ea1605baa880b71aeb265d75028349867499908974cb360fff56a84a6b69\n",
" Stored in directory: /root/.cache/pip/wheels/70/4a/46/1309fc853b8d395e60bafaf1b6df7845bdd82c95fd59dd8d2b\n",
" Building wheel for julius (setup.py) ... \u001b[?25l\u001b[?25hdone\n",
" Created wheel for julius: filename=julius-0.2.7-py3-none-any.whl size=21895 sha256=8f7f2a87c0034b8693e6148d8acad6662860872c2a3a6e010e4d1ae3f129725c\n",
" Stored in directory: /root/.cache/pip/wheels/53/0a/a7/fc08f97438f4969d86afa7904336c2eb7eb422101359f3ad11\n",
"Successfully built pyannote.audio antlr4-python3-runtime docopt julius\n",
"Installing collected packages: singledispatchmethod, sentencepiece, primePy, einops, docopt, commonmark, antlr4-python3-runtime, tensorboardX, simplejson, shellingham, semver, ruamel.yaml.clib, rich, omegaconf, networkx, multidict, Mako, lightning-utilities, frozenlist, colorlog, colorama, cmaes, backports.cached_property, async-timeout, yarl, torchmetrics, soundfile, ruamel.yaml, resampy, pyannote.core, julius, huggingface_hub, asteroid-filterbanks, alembic, aiosignal, torch-pitch-shift, pytorch_metric_learning, pyannote.database, optuna, librosa, hyperpyyaml, aiohttp, torch_audiomentations, speechbrain, pyannote.pipeline, pyannote.metrics, pytorch_lightning, pyannote.audio\n",
" Attempting uninstall: rich\n",
" Found existing installation: rich 13.3.3\n",
" Uninstalling rich-13.3.3:\n",
" Successfully uninstalled rich-13.3.3\n",
" Attempting uninstall: networkx\n",
" Found existing installation: networkx 3.0\n",
" Uninstalling networkx-3.0:\n",
" Successfully uninstalled networkx-3.0\n",
" Attempting uninstall: soundfile\n",
" Found existing installation: soundfile 0.12.1\n",
" Uninstalling soundfile-0.12.1:\n",
" Successfully uninstalled soundfile-0.12.1\n",
" Attempting uninstall: librosa\n",
" Found existing installation: librosa 0.10.0.post2\n",
" Uninstalling librosa-0.10.0.post2:\n",
" Successfully uninstalled librosa-0.10.0.post2\n",
"Successfully installed Mako-1.2.4 aiohttp-3.8.4 aiosignal-1.3.1 alembic-1.10.3 antlr4-python3-runtime-4.9.3 asteroid-filterbanks-0.4.0 async-timeout-4.0.2 backports.cached_property-1.0.2 cmaes-0.9.1 colorama-0.4.6 colorlog-6.7.0 commonmark-0.9.1 docopt-0.6.2 einops-0.3.2 frozenlist-1.3.3 huggingface_hub-0.13.3 hyperpyyaml-1.2.0 julius-0.2.7 librosa-0.9.2 lightning-utilities-0.8.0 multidict-6.0.4 networkx-2.8.8 omegaconf-2.3.0 optuna-3.1.0 primePy-1.3 pyannote.audio-2.1.1 pyannote.core-4.5 pyannote.database-4.1.3 pyannote.metrics-3.2.1 pyannote.pipeline-2.3 pytorch_lightning-1.8.6 pytorch_metric_learning-1.7.3 resampy-0.4.2 rich-12.6.0 ruamel.yaml-0.17.21 ruamel.yaml.clib-0.2.7 semver-2.13.0 sentencepiece-0.1.97 shellingham-1.5.0.post1 simplejson-3.18.4 singledispatchmethod-1.0 soundfile-0.11.0 speechbrain-0.5.14 tensorboardX-2.6 torch-pitch-shift-1.2.3 torch_audiomentations-0.11.0 torchmetrics-0.11.4 yarl-1.8.2\n",
"\u001b[33mWARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv\u001b[0m\u001b[33m\n",
"\u001b[0m"
]
},
{
"data": {
"application/vnd.colab-display-data+json": {
"pip_warning": {
"packages": [
"pydevd_plugins"
]
}
}
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"!pip install git+https://github.com/hmmlearn/hmmlearn.git\n",
"!pip install git+https://github.com/pyannote/pyannote-audio.git@develop"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Install whisper and load the large model - this will take a little."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!pip install git+https://github.com/openai/whisper.git "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"import whisper, torch\n",
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
"model = whisper.load_model('large', device = device)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "N7TPgEVW8XeH"
},
"source": [
"**Important:** To load the pyannote speaker diarization pipeline, \n",
"\n",
"* accept the user conditions on both [hf.co/pyannote/speaker-diarization](https://hf.co/pyannote/speaker-diarization) and [hf.co/pyannote/segmentation](https://huggingface.co/pyannote/segmentation).\n",
"* paste your access_token or login using `notebook_login` below"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"id": "r5u7VMb-YnqB",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"if not(access_token):\n",
" from huggingface_hub import notebook_login\n",
" notebook_login()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 273,
"referenced_widgets": [
"ceb9cabad998432ebd4541a41ad69e76",
"eeb45fe8a520470b89526c96f86e942a",
"1c5d0d0290a446b0950e95a8917faadc",
"072bc12d63904de9a2f09539c0b0a4b4",
"b4b04842f22d4334ab4287714b505e62",
"2866460dbec047ba8f4c5e81cc292711",
"1208590c08134023838e8e886a611a77",
"8b0177713bb748828d462287e619ca96",
"2e61cb0368604391a1c91a3d672ae29f",
"7f0f982b1d514596b35a393c5ebd1544",
"030e3e6181f74fcf86f15783aa846faf",
"3ad4b30c0c6640fc921b782ff2a84545",
"6873d9df2958468aa924b7c3b0b130bd",
"b9cf8d797795426aa7923c36f29b7299",
"3635de8b7655414d8dbedefdbd48fb7d",
"54de617a9dbc468a8f833aaa06464960",
"12f9050dbae742e3bc3f43cc75bc52bc",
"a69987750939419b82d4d7e4f6635ca8",
"8124c1ec4cb149aebb8f8134619e50e6",
"61ffadd175334ffa8cb4c958b8480133",
"95bae617fdbd4c908bec622c8e74df8e",
"363a8f886ab84887a1d71609cf7e9413",
"87b4741cc2174372ab2b3b31c45257ee",
"60ef10f549044fafad82d0e592a1489b",
"e71b7d04a2644c5082c1e823de958b5a",
"b91fde9cc52b4be5a5a2a9e3050c5d4d",
"bf25e28626fc4bbb955d31c48deea204",
"98850786a145436b9bdfeff1bf2e156c",
"dd231abf4cf94d208d886feb42a4b952",
"772c7cc58dda47bb96c206a6c01cd37c",
"675a4e80564044bcae99c2538f63a99b",
"5635f5fc59164e4aa69e2f4dd7301ba0",
"0173b0fc70304a3aa5bdc2e390b8eab7",
"ed483488e6e342a7a6291ee50bd3fcb4",
"949608b13ed84264a75d7a694a2200e5",
"0aeec2aada234621ba269e27bf0087e3",
"03e1daaf6086423d9017a4af01b87e3c",
"6b38b3c3c69d445684d7d98ce68358eb",
"34d8575762114e7d9d7bdf8c066593a5",
"6fdc6045767f459eb13a71f1c9589c78",
"96e3eda032cf4175bd5bde95690786e7",
"c973e4a3d73d46d7ab5fb67661f05505",
"cbc2e2816b514899aa00dab172ef9775",
"fb989ccef0454171b0affbb3b0ed1519",
"b00a57bbc2984b25b080cf426fc9d93a",
"fe067ac0f4774e4b95e653861fb29420",
"a0a5a49ca89e4e7c8176f51e9174a031",
"45d07b61c0124913869a6fb15c51a31b",
"546ed9780904486493b0205e3499d369",
"bd906e3ecf9b416cb25ff8d4e3e1a4ce",
"f5af9e6f7ad64571b095ec99f0d2359e",
"aa439d0201c24b009c5c5ffc0dc0aa3e",
"6db043789b9344c1a57d4ffffa84b5d6",
"073e5f22a1b745eabd117e5432196d2a",
"48e4ccd21dfd4205a849cbed8089d00f",
"81fb5f28fbd84991aced3b675bda8538",
"cce1d515c3a148998a17136092ef9ace",
"104acfe0f696434c96ba08ce69d01da1",
"6da323d419e143ccbf8350845408931a",
"b50ea57ac26b4633b1af3dd04d3e2b64",
"aa94fe5c7b214174914ecf6de596b54d",
"a3568db1b59e482cafa6498dac466987",
"dd0264ee53db4169a35e0f2da43dbb8e",
"3145f62cdc374b21adedea938ebc859f",
"e3accfa88994452b99ca84e02004ad7d",
"0e6f62263f9145058d14d64984815f2d",
"4a92ebfa58524bf39e4540499e78d147",
"5518f43264274fa3889d6203c121f371",
"b5b5094042f0409cb8ad74268ba6aae0",
"0cfa4d6c99be4dc6b86f9b46ff6c1e78",
"be14af4415784c13872fcae41f6c6d47",
"35ea4cf25ff24b69aebe509a85c34423",
"9dab404555984569bd4f32eb39f9b4c0",
"8767a2b17c22493092e68f8f1bf7d8aa",
"fdfae47e9d564aefb43c0d57b65211cd",
"898d0fb80047486dba6e84719d5e2a37",
"a893a1d6eb9d4c988bf0cf92b9eeef96",
"5c13b264a4e942f29719ee21fa9e013f",
"648bc98d57fe4eac96febe4c7f995ab4",
"0cae3e14e6104afdac42f102eeacd73b",
"6c92726f8db14578922d1e0025f81703",
"c095387effea469bb2c353ec7c669dad",
"70ed33d0fca842fd99ab6b591d9c7163",
"01c78ca91da0472db2c56442eb6bf3ac",
"a5b90b47178e4a779dfceae1f1405495",
"25bf76052a3e41bcafc10281f771f044",
"52097a4204e642d3ad7f6e50fd4546e7",
"8e4110fefcae44d09a03b3757142ad5d"
]
},
"id": "jKG14DGYbwku",
"outputId": "f9946643-9a44-475e-9d11-31613ce1a912",
"vscode": {
"languageId": "python"
}
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ceb9cabad998432ebd4541a41ad69e76",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading (…)lve/main/config.yaml: 0%| | 0.00/500 [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3ad4b30c0c6640fc921b782ff2a84545",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading pytorch_model.bin: 0%| | 0.00/17.7M [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "87b4741cc2174372ab2b3b31c45257ee",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading (…)/2022.07/config.yaml: 0%| | 0.00/318 [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ed483488e6e342a7a6291ee50bd3fcb4",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading (…)ain/hyperparams.yaml: 0.00B [00:00, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b00a57bbc2984b25b080cf426fc9d93a",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading embedding_model.ckpt: 0%| | 0.00/83.3M [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "81fb5f28fbd84991aced3b675bda8538",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading (…)an_var_norm_emb.ckpt: 0%| | 0.00/1.92k [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4a92ebfa58524bf39e4540499e78d147",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading classifier.ckpt: 0%| | 0.00/5.53M [00:00<?, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5c13b264a4e942f29719ee21fa9e013f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Downloading (…)in/label_encoder.txt: 0.00B [00:00, ?B/s]"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from pyannote.audio import Pipeline\n",
"pipeline = Pipeline.from_pretrained('pyannote/speaker-diarization', use_auth_token= (access_token) or True )"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "OjsUVdR2jH0n",
"outputId": "6229f26d-6f46-45be-ce86-367536447e50"
},
"outputs": [
{
"data": {
"text/plain": [
"<pyannote.audio.pipelines.speaker_diarization.SpeakerDiarization at 0x7fd1e08c3d30>"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n",
"pipeline.to(device)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ImKMcCr5W5Nw"
},
"source": [
"Running pyannote.audio to generate the diarizations."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"id": "yA4xiEefft9Z",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"DEMO_FILE = {'uri': 'blabla', 'audio': 'input_prep.wav'}\n",
"dz = pipeline(DEMO_FILE) \n",
"\n",
"with open(\"diarization.txt\", \"w\") as text_file:\n",
" text_file.write(str(dz))"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "GHIY2MB3Vz3e",
"outputId": "1accc8bb-f5a1-4afd-9d16-fdf7ca4f4403",
"vscode": {
"languageId": "python"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(<Segment(2.74219, 5.40844)>, 'U', 'SPEAKER_01')\n",
"(<Segment(5.74594, 9.25594)>, 'A', 'SPEAKER_00')\n",
"(<Segment(9.72844, 12.6647)>, 'V', 'SPEAKER_01')\n",
"(<Segment(13.0697, 14.0147)>, 'B', 'SPEAKER_00')\n",
"(<Segment(14.5041, 16.9678)>, 'W', 'SPEAKER_01')\n",
"(<Segment(17.4741, 20.7478)>, 'C', 'SPEAKER_00')\n",
"(<Segment(21.4566, 24.0047)>, 'D', 'SPEAKER_00')\n",
"(<Segment(24.7303, 29.2528)>, 'X', 'SPEAKER_01')\n",
"(<Segment(29.2528, 30.7041)>, 'E', 'SPEAKER_00')\n",
"(<Segment(31.3791, 32.1553)>, 'F', 'SPEAKER_00')\n"
]
}
],
"source": [
"print(*list(dz.itertracks(yield_label = True))[:10], sep=\"\\n\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Wp36eMedRkR0"
},
"source": [
"# Preparing audio files according to the diarization"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"id": "KPGOaVpOH7pZ",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"def millisec(timeStr):\n",
" spl = timeStr.split(\":\")\n",
" s = (int)((int(spl[0]) * 60 * 60 + int(spl[1]) * 60 + float(spl[2]) )* 1000)\n",
" return s"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "_Co3BIIH6aW4"
},
"source": [
"Grouping the diarization segments according to the speaker."
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "umQdzNFzcP2f",
"outputId": "2c5e3cf7-b6a2-42ad-cc13-5db04b891370",
"vscode": {
"languageId": "python"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['[ 00:00:02.742 --> 00:00:05.408] U SPEAKER_01']\n",
"['[ 00:00:05.745 --> 00:00:09.255] A SPEAKER_00']\n",
"['[ 00:00:09.728 --> 00:00:12.664] V SPEAKER_01']\n",
"['[ 00:00:13.069 --> 00:00:14.014] B SPEAKER_00']\n",
"['[ 00:00:14.504 --> 00:00:16.967] W SPEAKER_01']\n",
"['[ 00:00:17.474 --> 00:00:20.747] C SPEAKER_00', '[ 00:00:21.456 --> 00:00:24.004] D SPEAKER_00']\n",
"['[ 00:00:24.730 --> 00:00:29.252] X SPEAKER_01']\n",
"['[ 00:00:29.252 --> 00:00:30.704] E SPEAKER_00', '[ 00:00:31.379 --> 00:00:32.155] F SPEAKER_00', '[ 00:00:32.796 --> 00:00:33.724] G SPEAKER_00', '[ 00:00:34.517 --> 00:00:35.783] H SPEAKER_00']\n",
"['[ 00:00:36.306 --> 00:00:42.735] Y SPEAKER_01']\n",
"['[ 00:00:43.140 --> 00:00:46.026] I SPEAKER_00', '[ 00:00:46.650 --> 00:00:48.287] J SPEAKER_00']\n",
"['[ 00:00:48.895 --> 00:00:53.721] Z SPEAKER_01']\n",
"['[ 00:00:53.924 --> 00:00:54.936] K SPEAKER_00']\n",
"['[ 00:00:55.240 --> 00:00:55.780] AA SPEAKER_01']\n",
"['[ 00:00:56.320 --> 00:00:57.299] L SPEAKER_00', '[ 00:00:58.024 --> 00:00:59.307] M SPEAKER_00', '[ 00:01:00.117 --> 00:01:03.509] N SPEAKER_00']\n",
"['[ 00:01:03.509 --> 00:01:12.570] AB SPEAKER_01']\n",
"['[ 00:01:13.161 --> 00:01:15.034] O SPEAKER_00']\n",
"['[ 00:01:15.962 --> 00:01:18.679] AC SPEAKER_01']\n",
"['[ 00:01:18.679 --> 00:01:19.202] P SPEAKER_00']\n",
"['[ 00:01:19.675 --> 00:01:23.134] AD SPEAKER_01']\n",
"['[ 00:01:24.467 --> 00:01:24.839] Q SPEAKER_00']\n",
"['[ 00:01:27.100 --> 00:01:35.892] AE SPEAKER_01']\n",
"['[ 00:01:36.263 --> 00:01:38.541] R SPEAKER_00']\n",
"['[ 00:01:38.879 --> 00:01:40.296] AF SPEAKER_01']\n",
"['[ 00:01:40.785 --> 00:01:41.545] S SPEAKER_00']\n",
"['[ 00:01:42.203 --> 00:01:43.975] AG SPEAKER_01']\n",
"['[ 00:01:44.464 --> 00:01:45.831] T SPEAKER_00']\n",
"['[ 00:01:46.320 --> 00:01:49.864] AH SPEAKER_01']\n"
]
}
],
"source": [
"import re\n",
"dzs = open('diarization.txt').read().splitlines()\n",
"\n",
"groups = []\n",
"g = []\n",
"lastend = 0\n",
"\n",
"for d in dzs: \n",
" if g and (g[0].split()[-1] != d.split()[-1]): #same speaker\n",
" groups.append(g)\n",
" g = []\n",
" \n",
" g.append(d)\n",
" \n",
" end = re.findall('[0-9]+:[0-9]+:[0-9]+\\.[0-9]+', string=d)[1]\n",
" end = millisec(end)\n",
" if (lastend > end): #segment engulfed by a previous segment\n",
" groups.append(g)\n",
" g = [] \n",
" else:\n",
" lastend = end\n",
"if g:\n",
" groups.append(g)\n",
"print(*groups, sep='\\n')"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "JOuf8CuRQeZo"
},
"source": [
"Save the audio part corresponding to each diarization group."
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "dRQPUW4Mzvfn",
"outputId": "7d297cbb-50a4-4350-af8e-0b5b707840a1",
"vscode": {
"languageId": "python"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"group 0: 2742--5408\n",
"group 1: 5745--9255\n",
"group 2: 9728--12664\n",
"group 3: 13069--14014\n",
"group 4: 14504--16967\n",
"group 5: 17474--24004\n",
"group 6: 24730--29252\n",
"group 7: 29252--35783\n",
"group 8: 36306--42735\n",
"group 9: 43140--48287\n",
"group 10: 48895--53721\n",
"group 11: 53924--54936\n",
"group 12: 55240--55780\n",
"group 13: 56320--63509\n",
"group 14: 63509--72570\n",
"group 15: 73161--75034\n",
"group 16: 75962--78679\n",
"group 17: 78679--79202\n",
"group 18: 79675--83134\n",
"group 19: 84467--84839\n",
"group 20: 87100--95892\n",
"group 21: 96263--98541\n",
"group 22: 98878--100295\n",
"group 23: 100785--101545\n",
"group 24: 102203--103975\n",
"group 25: 104464--105831\n",
"group 26: 106320--109864\n"
]
}
],
"source": [
"audio = AudioSegment.from_wav(\"input_prep.wav\")\n",
"gidx = -1\n",
"for g in groups:\n",
" start = re.findall('[0-9]+:[0-9]+:[0-9]+\\.[0-9]+', string=g[0])[0]\n",
" end = re.findall('[0-9]+:[0-9]+:[0-9]+\\.[0-9]+', string=g[-1])[1]\n",
" start = millisec(start) #- spacermilli\n",
" end = millisec(end) #- spacermilli\n",
" gidx += 1\n",
" audio[start:end].export(str(gidx) + '.wav', format='wav')\n",
" print(f\"group {gidx}: {start}--{end}\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "rv2GYZCsLKBJ"
},
"source": [
"Freeing up some memory"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "cONumKWUjfus",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"del DEMO_FILE, pipeline, spacer, audio, dz"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "AmxtB0k4n8lY"
},
"source": [
"# Whisper's Transcriptions"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "pBO8IpdiRQ0X"
},
"source": [
"Run whisper on all audio files. Whisper generates the transcription and writes it to a file."
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"id": "odstu62EnMLL",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"import json\n",
"for i in range(len(groups)):\n",
" audiof = str(i) + '.wav'\n",
" result = model.transcribe(audio=audiof, language='en', word_timestamps=True)#, initial_prompt=result.get('text', \"\"))\n",
" with open(str(i)+'.json', \"w\") as outfile:\n",
" json.dump(result, outfile, indent=4) "
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "u_UyWQMXpB3N"
},
"source": [
"# Generating the HTML and/or txt file from the Transcriptions and the Diarization"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "V2qTkKD_30FG"
},
"source": [
"Change or add to the speaker names and collors bellow as you wish `(speaker, textbox color, speaker color)`."
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"id": "j7EP6fO73wTY",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"def_boxclr = 'white'\n",
"def_spkrclr = 'orange'"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KndDYy_xMpMq"
},
"source": [
"In the generated HTML, the transcriptions for each diarization group are written in a box, with the speaker name on the top. By clicking a transcription, the embedded video jumps to the right time ."
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"id": "vKdx9Hwg630K",
"vscode": {
"languageId": "python"
}
},
"outputs": [],
"source": [
"if Source == 'Youtube':\n",
" preS = '<!DOCTYPE html>\\n<html lang=\"en\">\\n\\n<head>\\n\\t<meta charset=\"UTF-8\">\\n\\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\\n\\t<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\\n\\t<title>' + \\\n",
"video_title+ \\\n",
"'</title>\\n\\t<style>\\n\\t\\tbody {\\n\\t\\t\\tfont-family: sans-serif;\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t\\tcolor: #111;\\n\\t\\t\\tpadding: 0 0 1em 0;\\n\\t\\t\\tbackground-color: #efe7dd;\\n\\t\\t}\\n\\n\\t\\ttable {\\n\\t\\t\\tborder-spacing: 10px;\\n\\t\\t}\\n\\n\\t\\tth {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t.lt {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\ttext-decoration: inherit;\\n\\t\\t}\\n\\n\\t\\t.l {\\n\\t\\t\\tcolor: #050;\\n\\t\\t}\\n\\n\\t\\t.s {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t.c {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t.e {\\n\\t\\t\\t/*background-color: white; Changing background color */\\n\\t\\t\\tborder-radius: 10px;\\n\\t\\t\\t/* Making border radius */\\n\\t\\t\\twidth: 50%;\\n\\t\\t\\t/* Making auto-sizable width */\\n\\t\\t\\tpadding: 0 0 0 0;\\n\\t\\t\\t/* Making space around letters */\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t\\t/* Changing font size */\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t.t {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t#player-div {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: 20px;\\n\\t\\t\\tfloat: right;\\n\\t\\t\\twidth: 40%\\n\\t\\t}\\n\\n\\t\\t#player {\\n\\t\\t\\taspect-ratio: 16 / 9;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: auto;\\n\\n\\t\\t}\\n\\n\\t\\ta {\\n\\t\\t\\tdisplay: inline;\\n\\t\\t}\\n\\t</style>\\n\\t<script>\\n\\t\\tvar tag = document.createElement(\\'script\\');\\n\\t\\ttag.src = \"https://www.youtube.com/iframe_api\";\\n\\t\\tvar firstScriptTag = document.getElementsByTagName(\\'script\\')[0];\\n\\t\\tfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\\n\\t\\tvar player;\\n\\t\\tfunction onYouTubeIframeAPIReady() {\\n\\t\\t\\tplayer = new YT.Player(\\'player\\', {\\n\\t\\t\\t\\t//height: \\'210\\',\\n\\t\\t\\t\\t//width: \\'340\\',\\n\\t\\t\\t\\tvideoId: \\''+ \\\n",
"video_id + \\\n",
"'\\',\\n\\t\\t\\t});\\n\\n\\n\\n\\t\\t\\t// This is the source \"window\" that will emit the events.\\n\\t\\t\\tvar iframeWindow = player.getIframe().contentWindow;\\n\\t\\t\\tvar lastword = null;\\n\\n\\t\\t\\t// So we can compare against new updates.\\n\\t\\t\\tvar lastTimeUpdate = \"-1\";\\n\\n\\t\\t\\t// Listen to events triggered by postMessage,\\n\\t\\t\\t// this is how different windows in a browser\\n\\t\\t\\t// (such as a popup or iFrame) can communicate.\\n\\t\\t\\t// See: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage\\n\\t\\t\\twindow.addEventListener(\"message\", function (event) {\\n\\t\\t\\t\\t// Check that the event was sent from the YouTube IFrame.\\n\\t\\t\\t\\tif (event.source === iframeWindow) {\\n\\t\\t\\t\\t\\tvar data = JSON.parse(event.data);\\n\\n\\t\\t\\t\\t\\t// The \"infoDelivery\" event is used by YT to transmit any\\n\\t\\t\\t\\t\\t// kind of information change in the player,\\n\\t\\t\\t\\t\\t// such as the current time or a playback quality change.\\n\\t\\t\\t\\t\\tif (\\n\\t\\t\\t\\t\\t\\tdata.event === \"infoDelivery\" &&\\n\\t\\t\\t\\t\\t\\tdata.info &&\\n\\t\\t\\t\\t\\t\\tdata.info.currentTime\\n\\t\\t\\t\\t\\t) {\\n\\t\\t\\t\\t\\t\\t// currentTime is emitted very frequently (milliseconds),\\n\\t\\t\\t\\t\\t\\t// but we only care about whole second changes.\\n\\t\\t\\t\\t\\t\\tvar ts = (data.info.currentTime).toFixed(1).toString();\\n\\t\\t\\t\\t\\t\\tts = (Math.round((data.info.currentTime) * 5) / 5).toFixed(1);\\n\\t\\t\\t\\t\\t\\tts = ts.toString();\\n\\t\\t\\t\\t\\t\\tconsole.log(ts)\\n\\t\\t\\t\\t\\t\\tif (ts !== lastTimeUpdate) {\\n\\t\\t\\t\\t\\t\\t\\tlastTimeUpdate = ts;\\n\\n\\t\\t\\t\\t\\t\\t\\t// It\\'s now up to you to format the time.\\n\\t\\t\\t\\t\\t\\t\\t//document.getElementById(\"time2\").innerHTML = time;\\n\\t\\t\\t\\t\\t\\t\\tword = document.getElementById(ts)\\n\\t\\t\\t\\t\\t\\t\\tif (word) {\\n\\t\\t\\t\\t\\t\\t\\t\\tif (lastword) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tlastword.style.fontWeight = \\'normal\\';\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\tlastword = word;\\n\\t\\t\\t\\t\\t\\t\\t\\t//word.style.textDecoration = \\'underline\\';\\n\\t\\t\\t\\t\\t\\t\\t\\tword.style.fontWeight = \\'bold\\';\\n\\n\\t\\t\\t\\t\\t\\t\\t\\tlet toggle = document.getElementById(\"autoscroll\");\\n\\t\\t\\t\\t\\t\\t\\t\\tif (toggle.checked) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tlet position = word.offsetTop - 20;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\twindow.scrollTo({\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttop: position,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tbehavior: \\'smooth\\'\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t})\\n\\t\\t}\\n\\t\\tfunction jumptoTime(timepoint, id) {\\n\\t\\t\\tevent.preventDefault();\\n\\t\\t\\thistory.pushState(null, null, \"#\" + id);\\n\\t\\t\\tplayer.seekTo(timepoint);\\n\\t\\t\\tplayer.playVideo();\\n\\t\\t}\\n\\t</script>\\n</head>\\n\\n<body>\\n\\t<h2>' + \\\n",
"video_title + \\\n",
"'</h2>\\n\\t<i>Click on a part of the transcription, to jump to its video, and get an anchor to it in the address\\n\\t\\tbar<br><br></i>\\n\\t<div id=\"player-div\">\\n\\t\\t<div id=\"player\"></div>\\n\\t\\t<div><label for=\"autoscroll\">auto-scroll: </label>\\n\\t\\t\\t<input type=\"checkbox\" id=\"autoscroll\" checked>\\n\\t\\t</div>\\n\\t</div>\\n '\n",
"else:\n",
" preS = '\\n<!DOCTYPE html>\\n<html lang=\"en\">\\n\\n<head>\\n\\t<meta charset=\"UTF-8\">\\n\\t<meta name=\"viewport\" content=\"whtmlidth=device-width, initial-scale=1.0\">\\n\\t<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\\n\\t<title>' + \\\n",
" audio_title+ \\\n",
" '</title>\\n\\t<style>\\n\\t\\tbody {\\n\\t\\t\\tfont-family: sans-serif;\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t\\tcolor: #111;\\n\\t\\t\\tpadding: 0 0 1em 0;\\n\\t\\t\\tbackground-color: #efe7dd;\\n\\t\\t}\\n\\n\\t\\ttable {\\n\\t\\t\\tborder-spacing: 10px;\\n\\t\\t}\\n\\n\\t\\tth {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t.lt {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t\\ttext-decoration: inherit;\\n\\t\\t}\\n\\n\\t\\t.l {\\n\\t\\t\\tcolor: #050;\\n\\t\\t}\\n\\n\\t\\t.s {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t.c {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t.e {\\n\\t\\t\\t/*background-color: white; Changing background color */\\n\\t\\t\\tborder-radius: 10px;\\n\\t\\t\\t/* Making border radius */\\n\\t\\t\\twidth: 50%;\\n\\t\\t\\t/* Making auto-sizable width */\\n\\t\\t\\tpadding: 0 0 0 0;\\n\\t\\t\\t/* Making space around letters */\\n\\t\\t\\tfont-size: 14px;\\n\\t\\t\\t/* Changing font size */\\n\\t\\t\\tmargin-bottom: 0;\\n\\t\\t}\\n\\n\\t\\t.t {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t#player-div {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: 20px;\\n\\t\\t\\tfloat: right;\\n\\t\\t\\twidth: 40%\\n\\t\\t}\\n\\n\\t\\t#player {\\n\\t\\t\\taspect-ratio: 16 / 9;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: auto;\\n\\t\\t}\\n\\n\\t\\ta {\\n\\t\\t\\tdisplay: inline;\\n\\t\\t}\\n\\t</style>';\n",
" preS += '\\n\\t<script>\\n\\twindow.onload = function () {\\n\\t\\t\\tvar player = document.getElementById(\"audio_player\");\\n\\t\\t\\tvar player;\\n\\t\\t\\tvar lastword = null;\\n\\n\\t\\t\\t// So we can compare against new updates.\\n\\t\\t\\tvar lastTimeUpdate = \"-1\";\\n\\n\\t\\t\\tsetInterval(function () {\\n\\t\\t\\t\\t// currentTime is checked very frequently (1 millisecond),\\n\\t\\t\\t\\t// but we only care about whole second changes.\\n\\t\\t\\t\\tvar ts = (player.currentTime).toFixed(1).toString();\\n\\t\\t\\t\\tts = (Math.round((player.currentTime) * 5) / 5).toFixed(1);\\n\\t\\t\\t\\tts = ts.toString();\\n\\t\\t\\t\\tconsole.log(ts);\\n\\t\\t\\t\\tif (ts !== lastTimeUpdate) {\\n\\t\\t\\t\\t\\tlastTimeUpdate = ts;\\n\\n\\t\\t\\t\\t\\t// Its now up to you to format the time.\\n\\t\\t\\t\\t\\tword = document.getElementById(ts)\\n\\t\\t\\t\\t\\tif (word) {\\n\\t\\t\\t\\t\\t\\tif (lastword) {\\n\\t\\t\\t\\t\\t\\t\\tlastword.style.fontWeight = \"normal\";\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\tlastword = word;\\n\\t\\t\\t\\t\\t\\t//word.style.textDecoration = \"underline\";\\n\\t\\t\\t\\t\\t\\tword.style.fontWeight = \"bold\";\\n\\n\\t\\t\\t\\t\\t\\tlet toggle = document.getElementById(\"autoscroll\");\\n\\t\\t\\t\\t\\t\\tif (toggle.checked) {\\n\\t\\t\\t\\t\\t\\t\\tlet position = word.offsetTop - 20;\\n\\t\\t\\t\\t\\t\\t\\twindow.scrollTo({\\n\\t\\t\\t\\t\\t\\t\\t\\ttop: position,\\n\\t\\t\\t\\t\\t\\t\\t\\tbehavior: \"smooth\"\\n\\t\\t\\t\\t\\t\\t\\t});\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}, 0.1);\\n\\t\\t}\\n\\n\\t\\tfunction jumptoTime(timepoint, id) {\\n\\t\\t\\tvar player = document.getElementById(\"audio_player\");\\n\\t\\t\\thistory.pushState(null, null, \"#\" + id);\\n\\t\\t\\tplayer.pause();\\n\\t\\t\\tplayer.currentTime = timepoint;\\n\\t\\t\\tplayer.play();\\n\\t\\t}\\n\\t\\t</script>\\n\\t</head>';\n",
" preS += '\\n\\n<body>\\n\\t<h2>' + audio_title + '</h2>\\n\\t<i>Click on a part of the transcription, to jump to its portion of audio, and get an anchor to it in the address\\n\\t\\tbar<br><br></i>\\n\\t<div id=\"player-div\">\\n\\t\\t<div id=\"player\">\\n\\t\\t\\t<audio controls=\"controls\" id=\"audio_player\">\\n\\t\\t\\t\\t<source src=\"input.wav\" />\\n\\t\\t\\t</audio>\\n\\t\\t</div>\\n\\t\\t<div><label for=\"autoscroll\">auto-scroll: </label>\\n\\t\\t\\t<input type=\"checkbox\" id=\"autoscroll\" checked>\\n\\t\\t</div>\\n\\t</div>\\n';\n",
"\n",
"postS = '\\t</body>\\n</html>'"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "vqO6Nd6YfZYa",
"outputId": "047a6ee0-82e7-4613-fa03-0fee2606df12",
"vscode": {
"languageId": "python"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"captions saved to capspeaker.txt:\n",
"[00:00:000.74 --> 00:00:003.14] [Call Center] Thank you for calling Martha's Flourish, TowneS60.\n",
"[00:00:003.75 --> 00:00:007.17] [Customer] Hello, I'd like to order flowers and I think you have what I'm looking for.\n",
"[00:00:007.73 --> 00:00:010.41] [Call Center] I'd be happy to take care of your order. May I have your name, please?\n",
"[00:00:011.07 --> 00:00:011.87] [Customer] Randall Thomas.\n",
"[00:00:013.10 --> 00:00:014.86] [Call Center] Randall Thomas, can you spell that for me?\n",
"[00:00:015.65 --> 00:00:021.97] [Customer] Randall R-A-N-D-A-L-L, Bama D-H-O-M-A-N.\n",
"[00:00:022.73 --> 00:00:024.31] [Call Center] Thank you for that information, Randall.\n",
"[00:00:024.39 --> 00:00:027.07] [Call Center] May have your home or office number area code first.\n",
"[00:00:027.25 --> 00:00:033.63] [Customer] Aircode 409, then 5-866-5088.\n",
"[00:00:035.23 --> 00:00:040.41] [Call Center] That's 409-866-5088. Do you have a fax number or email address?\n",
"[00:00:041.14 --> 00:00:046.26] [Customer] My email is randall.thomas at gmail.com\n",
"[00:00:047.41 --> 00:00:051.41] [Call Center] Randall.Thomas at gmail.com may have your shipping address\n",
"[00:00:051.92 --> 00:00:052.52] [Customer] 6800\n",
"[00:00:053.24 --> 00:00:053.56] [Call Center] Okay.\n",
"[00:00:054.32 --> 00:00:057.26] [Customer] Badass Avenue, Beaumont, Texas.\n",
"[00:00:058.20 --> 00:01:000.78] [Customer] Zip code is 77706.\n",
"[00:01:001.51 --> 00:01:006.35] [Call Center] Gladys Avenue, Beaumont, Texas, zip code 77706.\n",
"[00:01:006.75 --> 00:01:008.03] [Call Center] Thank you for the information.\n",
"[00:01:008.47 --> 00:01:010.33] [Call Center] What products were you interested in purchasing?\n",
"[00:01:011.16 --> 00:01:012.80] [Customer] Red roses, probably a dozen.\n",
"[00:01:013.96 --> 00:01:016.34] [Call Center] One dozen of red roses, do you want long stems?\n",
"[00:01:016.68 --> 00:01:016.94] [Customer] Sure.\n",
"[00:01:017.67 --> 00:01:020.92] [Call Center] Alright, Rano, let me process the order. One moment, please.\n",
"[00:01:022.47 --> 00:01:022.73] [Customer] Okay.\n",
"[00:01:025.10 --> 00:01:028.34] [Call Center] Randall, you are ordering one dozen long-stand red roses.\n",
"[00:01:028.62 --> 00:01:032.86] [Call Center] The total amount of your order is $40, and it will be shipped to your address within\n",
"[00:01:032.86 --> 00:01:033.68] [Call Center] 24 hours.\n",
"[00:01:034.26 --> 00:01:036.34] [Customer] I was thinking of delivering my roses again.\n",
"[00:01:036.88 --> 00:01:037.98] [Call Center] within 24 hours.\n",
"[00:01:038.78 --> 00:01:039.53] [Customer] Okay, no problem.\n",
"[00:01:040.20 --> 00:01:041.84] [Call Center] Is there anything else I can help you with?\n",
"[00:01:042.70 --> 00:01:043.64] [Customer] That's all for now, thanks.\n",
"[00:01:044.32 --> 00:01:047.74] [Call Center] No problem, Randall. Thank you for calling Martha's Flourish. Have a nice day.\n",
"\n",
"\n",
"captions saved to capspeaker.html:\n",
"<!DOCTYPE html>\n",
"<html lang=\"en\">\n",
"\n",
"<head>\n",
"\t<meta charset=\"UTF-8\">\n",
"\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n",
"\t<meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n",
"\t<title></title>\n",
"\t<style>\n",
"\t\tbody {\n",
"\t\t\tfont-family: sans-serif;\n",
"\t\t\tfont-size: 14px;\n",
"\t\t\tcolor: #111;\n",
"\t\t\tpadding: 0 0 1em 0;\n",
"\t\t\tbackground-color: #efe7dd;\n",
"\t\t}\n",
"\n",
"\t\ttable {\n",
"\t\t\tborder-spacing: 10px;\n",
"\t\t}\n",
"\n",
"\t\tth {\n",
"\t\t\ttext-align: left;\n",
"\t\t}\n",
"\n",
"\t\t.lt {\n",
"\t\t\tcolor: inherit;\n",
"\t\t\ttext-decoration: inherit;\n",
"\t\t}\n",
"\n",
"\t\t.l {\n",
"\t\t\tcolor: #050;\n",
"\t\t}\n",
"\n",
"\t\t.s {\n",
"\t\t\tdisplay: inline-block;\n",
"\t\t}\n",
"\n",
"\t\t.c {\n",
"\t\t\tdisplay: inline-block;\n",
"\t\t}\n",
"\n",
"\t\t.e {\n",
"\t\t\t/*background-color: white; Changing background color */\n",
"\t\t\tborder-radius: 10px;\n",
"\t\t\t/* Making border radius */\n",
"\t\t\twidth: 50%;\n",
"\t\t\t/* Making auto-sizable width */\n",
"\t\t\tpadding: 0 0 0 0;\n",
"\t\t\t/* Making space around letters */\n",
"\t\t\tfont-size: 14px;\n",
"\t\t\t/* Changing font size */\n",
"\t\t\tmargin-bottom: 0;\n",
"\t\t}\n",
"\n",
"\t\t.t {\n",
"\t\t\tdisplay: inline-block;\n",
"\t\t}\n",
"\n",
"\t\t#player-div {\n",
"\t\t\tposition: sticky;\n",
"\t\t\ttop: 20px;\n",
"\t\t\tfloat: right;\n",
"\t\t\twidth: 40%\n",
"\t\t}\n",
"\n",
"\t\t#player {\n",
"\t\t\taspect-ratio: 16 / 9;\n",
"\t\t\twidth: 100%;\n",
"\t\t\theight: auto;\n",
"\n",
"\t\t}\n",
"\n",
"\t\ta {\n",
"\t\t\tdisplay: inline;\n",
"\t\t}\n",
"\t</style>\n",
"\t<script>\n",
"\t\tvar tag = document.createElement('script');\n",
"\t\ttag.src = \"https://www.youtube.com/iframe_api\";\n",
"\t\tvar firstScriptTag = document.getElementsByTagName('script')[0];\n",
"\t\tfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n",
"\t\tvar player;\n",
"\t\tfunction onYouTubeIframeAPIReady() {\n",
"\t\t\tplayer = new YT.Player('player', {\n",
"\t\t\t\t//height: '210',\n",
"\t\t\t\t//width: '340',\n",
"\t\t\t\tvideoId: '',\n",
"\t\t\t});\n",
"\n",
"\n",
"\n",
"\t\t\t// This is the source \"window\" that will emit the events.\n",
"\t\t\tvar iframeWindow = player.getIframe().contentWindow;\n",
"\t\t\tvar lastword = null;\n",
"\n",
"\t\t\t// So we can compare against new updates.\n",
"\t\t\tvar lastTimeUpdate = \"-1\";\n",
"\n",
"\t\t\t// Listen to events triggered by postMessage,\n",
"\t\t\t// this is how different windows in a browser\n",
"\t\t\t// (such as a popup or iFrame) can communicate.\n",
"\t\t\t// See: https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage\n",
"\t\t\twindow.addEventListener(\"message\", function (event) {\n",
"\t\t\t\t// Check that the event was sent from the YouTube IFrame.\n",
"\t\t\t\tif (event.source === iframeWindow) {\n",
"\t\t\t\t\tvar data = JSON.parse(event.data);\n",
"\n",
"\t\t\t\t\t// The \"infoDelivery\" event is used by YT to transmit any\n",
"\t\t\t\t\t// kind of information change in the player,\n",
"\t\t\t\t\t// such as the current time or a playback quality change.\n",
"\t\t\t\t\tif (\n",
"\t\t\t\t\t\tdata.event === \"infoDelivery\" &&\n",
"\t\t\t\t\t\tdata.info &&\n",
"\t\t\t\t\t\tdata.info.currentTime\n",
"\t\t\t\t\t) {\n",
"\t\t\t\t\t\t// currentTime is emitted very frequently (milliseconds),\n",
"\t\t\t\t\t\t// but we only care about whole second changes.\n",
"\t\t\t\t\t\tvar ts = (data.info.currentTime).toFixed(1).toString();\n",
"\t\t\t\t\t\tts = (Math.round((data.info.currentTime) * 5) / 5).toFixed(1);\n",
"\t\t\t\t\t\tts = ts.toString();\n",
"\t\t\t\t\t\tconsole.log(ts)\n",
"\t\t\t\t\t\tif (ts !== lastTimeUpdate) {\n",
"\t\t\t\t\t\t\tlastTimeUpdate = ts;\n",
"\n",
"\t\t\t\t\t\t\t// It's now up to you to format the time.\n",
"\t\t\t\t\t\t\t//document.getElementById(\"time2\").innerHTML = time;\n",
"\t\t\t\t\t\t\tword = document.getElementById(ts)\n",
"\t\t\t\t\t\t\tif (word) {\n",
"\t\t\t\t\t\t\t\tif (lastword) {\n",
"\t\t\t\t\t\t\t\t\tlastword.style.fontWeight = 'normal';\n",
"\t\t\t\t\t\t\t\t}\n",
"\t\t\t\t\t\t\t\tlastword = word;\n",
"\t\t\t\t\t\t\t\t//word.style.textDecoration = 'underline';\n",
"\t\t\t\t\t\t\t\tword.style.fontWeight = 'bold';\n",
"\n",
"\t\t\t\t\t\t\t\tlet toggle = document.getElementById(\"autoscroll\");\n",
"\t\t\t\t\t\t\t\tif (toggle.checked) {\n",
"\t\t\t\t\t\t\t\t\tlet position = word.offsetTop - 20;\n",
"\t\t\t\t\t\t\t\t\twindow.scrollTo({\n",
"\t\t\t\t\t\t\t\t\t\ttop: position,\n",
"\t\t\t\t\t\t\t\t\t\tbehavior: 'smooth'\n",
"\t\t\t\t\t\t\t\t\t});\n",
"\t\t\t\t\t\t\t\t}\n",
"\n",
"\t\t\t\t\t\t\t}\n",
"\t\t\t\t\t\t}\n",
"\t\t\t\t\t}\n",
"\t\t\t\t}\n",
"\t\t\t})\n",
"\t\t}\n",
"\t\tfunction jumptoTime(timepoint, id) {\n",
"\t\t\tevent.preventDefault();\n",
"\t\t\thistory.pushState(null, null, \"#\" + id);\n",
"\t\t\tplayer.seekTo(timepoint);\n",
"\t\t\tplayer.playVideo();\n",
"\t\t}\n",
"\t</script>\n",
"</head>\n",
"\n",
"<body>\n",
"\t<h2></h2>\n",
"\t<i>Click on a part of the transcription, to jump to its video, and get an anchor to it in the address\n",
"\t\tbar<br><br></i>\n",
"\t<div id=\"player-div\">\n",
"\t\t<div id=\"player\"></div>\n",
"\t\t<div><label for=\"autoscroll\">auto-scroll: </label>\n",
"\t\t\t<input type=\"checkbox\" id=\"autoscroll\" checked>\n",
"\t\t</div>\n",
"\t</div>\n",
" <div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:00:000.74\" id=\"0.8\" class=\"lt\" onclick=\"jumptoTime(0, this.id)\"> Thank</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:000.92\" id=\"1.0\" class=\"lt\" onclick=\"jumptoTime(0, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:001.00\" id=\"1.0\" class=\"lt\" onclick=\"jumptoTime(1, this.id)\"> for</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:001.14\" id=\"1.2\" class=\"lt\" onclick=\"jumptoTime(1, this.id)\"> calling</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:001.40\" id=\"1.4\" class=\"lt\" onclick=\"jumptoTime(1, this.id)\"> Martha's</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:001.92\" id=\"2.0\" class=\"lt\" onclick=\"jumptoTime(1, this.id)\"> Flourish,</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:002.46\" id=\"2.4\" class=\"lt\" onclick=\"jumptoTime(2, this.id)\"> TowneS60.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:00:003.75\" id=\"3.8\" class=\"lt\" onclick=\"jumptoTime(3, this.id)\"> Hello,</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:004.11\" id=\"4.2\" class=\"lt\" onclick=\"jumptoTime(4, this.id)\"> I'd</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:004.21\" id=\"4.2\" class=\"lt\" onclick=\"jumptoTime(4, this.id)\"> like</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:004.45\" id=\"4.4\" class=\"lt\" onclick=\"jumptoTime(4, this.id)\"> to</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:004.61\" id=\"4.6\" class=\"lt\" onclick=\"jumptoTime(4, this.id)\"> order</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:004.83\" id=\"4.8\" class=\"lt\" onclick=\"jumptoTime(4, this.id)\"> flowers</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:005.49\" id=\"5.4\" class=\"lt\" onclick=\"jumptoTime(5, this.id)\"> and</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:005.72\" id=\"5.8\" class=\"lt\" onclick=\"jumptoTime(5, this.id)\"> I</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:005.87\" id=\"5.8\" class=\"lt\" onclick=\"jumptoTime(5, this.id)\"> think</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:006.08\" id=\"6.0\" class=\"lt\" onclick=\"jumptoTime(6, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:006.21\" id=\"6.2\" class=\"lt\" onclick=\"jumptoTime(6, this.id)\"> have</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:006.41\" id=\"6.4\" class=\"lt\" onclick=\"jumptoTime(6, this.id)\"> what</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:006.57\" id=\"6.6\" class=\"lt\" onclick=\"jumptoTime(6, this.id)\"> I'm</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:006.72\" id=\"6.8\" class=\"lt\" onclick=\"jumptoTime(6, this.id)\"> looking</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:006.95\" id=\"7.0\" class=\"lt\" onclick=\"jumptoTime(6, this.id)\"> for.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:00:007.73\" id=\"7.8\" class=\"lt\" onclick=\"jumptoTime(7, this.id)\"> I'd</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:007.97\" id=\"8.0\" class=\"lt\" onclick=\"jumptoTime(7, this.id)\"> be</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:008.07\" id=\"8.0\" class=\"lt\" onclick=\"jumptoTime(8, this.id)\"> happy</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:008.27\" id=\"8.2\" class=\"lt\" onclick=\"jumptoTime(8, this.id)\"> to</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:008.45\" id=\"8.4\" class=\"lt\" onclick=\"jumptoTime(8, this.id)\"> take</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:008.65\" id=\"8.6\" class=\"lt\" onclick=\"jumptoTime(8, this.id)\"> care</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:008.83\" id=\"8.8\" class=\"lt\" onclick=\"jumptoTime(8, this.id)\"> of</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:008.95\" id=\"9.0\" class=\"lt\" onclick=\"jumptoTime(8, this.id)\"> your</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:009.05\" id=\"9.0\" class=\"lt\" onclick=\"jumptoTime(9, this.id)\"> order.</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:009.41\" id=\"9.4\" class=\"lt\" onclick=\"jumptoTime(9, this.id)\"> May</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:009.51\" id=\"9.6\" class=\"lt\" onclick=\"jumptoTime(9, this.id)\"> I</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:009.59\" id=\"9.6\" class=\"lt\" onclick=\"jumptoTime(9, this.id)\"> have</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:009.77\" id=\"9.8\" class=\"lt\" onclick=\"jumptoTime(9, this.id)\"> your</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:009.91\" id=\"10.0\" class=\"lt\" onclick=\"jumptoTime(9, this.id)\"> name,</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:010.27\" id=\"10.2\" class=\"lt\" onclick=\"jumptoTime(10, this.id)\"> please?</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:00:011.07\" id=\"11.0\" class=\"lt\" onclick=\"jumptoTime(11, this.id)\"> Randall</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:011.55\" id=\"11.6\" class=\"lt\" onclick=\"jumptoTime(11, this.id)\"> Thomas.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:00:013.10\" id=\"13.2\" class=\"lt\" onclick=\"jumptoTime(13, this.id)\"> Randall</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:013.44\" id=\"13.4\" class=\"lt\" onclick=\"jumptoTime(13, this.id)\"> Thomas,</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:013.78\" id=\"13.8\" class=\"lt\" onclick=\"jumptoTime(13, this.id)\"> can</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:013.88\" id=\"13.8\" class=\"lt\" onclick=\"jumptoTime(13, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:014.02\" id=\"14.0\" class=\"lt\" onclick=\"jumptoTime(14, this.id)\"> spell</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:014.28\" id=\"14.2\" class=\"lt\" onclick=\"jumptoTime(14, this.id)\"> that</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:014.52\" id=\"14.6\" class=\"lt\" onclick=\"jumptoTime(14, this.id)\"> for</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:014.70\" id=\"14.8\" class=\"lt\" onclick=\"jumptoTime(14, this.id)\"> me?</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:00:015.65\" id=\"15.6\" class=\"lt\" onclick=\"jumptoTime(15, this.id)\"> Randall</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:016.35\" id=\"16.4\" class=\"lt\" onclick=\"jumptoTime(16, this.id)\"> R</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:016.79\" id=\"16.8\" class=\"lt\" onclick=\"jumptoTime(16, this.id)\">-A</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:017.07\" id=\"17.0\" class=\"lt\" onclick=\"jumptoTime(17, this.id)\">-N</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:017.45\" id=\"17.4\" class=\"lt\" onclick=\"jumptoTime(17, this.id)\">-D</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:017.95\" id=\"18.0\" class=\"lt\" onclick=\"jumptoTime(17, this.id)\">-A</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:018.19\" id=\"18.2\" class=\"lt\" onclick=\"jumptoTime(18, this.id)\">-L</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:018.43\" id=\"18.4\" class=\"lt\" onclick=\"jumptoTime(18, this.id)\">-L,</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:019.57\" id=\"19.6\" class=\"lt\" onclick=\"jumptoTime(19, this.id)\"> Bama</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:019.91\" id=\"20.0\" class=\"lt\" onclick=\"jumptoTime(19, this.id)\"> D</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:020.77\" id=\"20.8\" class=\"lt\" onclick=\"jumptoTime(20, this.id)\">-H</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:021.07\" id=\"21.0\" class=\"lt\" onclick=\"jumptoTime(21, this.id)\">-O</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:021.43\" id=\"21.4\" class=\"lt\" onclick=\"jumptoTime(21, this.id)\">-M</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:021.75\" id=\"21.8\" class=\"lt\" onclick=\"jumptoTime(21, this.id)\">-A</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:021.89\" id=\"21.8\" class=\"lt\" onclick=\"jumptoTime(21, this.id)\">-N.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:00:022.73\" id=\"22.8\" class=\"lt\" onclick=\"jumptoTime(22, this.id)\"> Thank</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:022.93\" id=\"23.0\" class=\"lt\" onclick=\"jumptoTime(22, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:023.01\" id=\"23.0\" class=\"lt\" onclick=\"jumptoTime(23, this.id)\"> for</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:023.11\" id=\"23.2\" class=\"lt\" onclick=\"jumptoTime(23, this.id)\"> that</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:023.33\" id=\"23.4\" class=\"lt\" onclick=\"jumptoTime(23, this.id)\"> information,</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:023.99\" id=\"24.0\" class=\"lt\" onclick=\"jumptoTime(23, this.id)\"> Randall.</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:024.39\" id=\"24.4\" class=\"lt\" onclick=\"jumptoTime(24, this.id)\"> May</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:024.49\" id=\"24.4\" class=\"lt\" onclick=\"jumptoTime(24, this.id)\"> have</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:024.75\" id=\"24.8\" class=\"lt\" onclick=\"jumptoTime(24, this.id)\"> your</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:024.91\" id=\"25.0\" class=\"lt\" onclick=\"jumptoTime(24, this.id)\"> home</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:025.17\" id=\"25.2\" class=\"lt\" onclick=\"jumptoTime(25, this.id)\"> or</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:025.31\" id=\"25.4\" class=\"lt\" onclick=\"jumptoTime(25, this.id)\"> office</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:025.73\" id=\"25.8\" class=\"lt\" onclick=\"jumptoTime(25, this.id)\"> number</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:026.05\" id=\"26.0\" class=\"lt\" onclick=\"jumptoTime(26, this.id)\"> area</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:026.33\" id=\"26.4\" class=\"lt\" onclick=\"jumptoTime(26, this.id)\"> code</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:026.71\" id=\"26.8\" class=\"lt\" onclick=\"jumptoTime(26, this.id)\"> first.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:00:027.25\" id=\"27.2\" class=\"lt\" onclick=\"jumptoTime(27, this.id)\"> Aircode</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:027.91\" id=\"28.0\" class=\"lt\" onclick=\"jumptoTime(27, this.id)\"> 409,</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:029.33\" id=\"29.4\" class=\"lt\" onclick=\"jumptoTime(29, this.id)\"> then</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:029.73\" id=\"29.8\" class=\"lt\" onclick=\"jumptoTime(29, this.id)\"> 5</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:030.05\" id=\"30.0\" class=\"lt\" onclick=\"jumptoTime(30, this.id)\">-866</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:031.59\" id=\"31.6\" class=\"lt\" onclick=\"jumptoTime(31, this.id)\">-5088.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:00:035.23\" id=\"35.2\" class=\"lt\" onclick=\"jumptoTime(35, this.id)\"> That's</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:035.87\" id=\"35.8\" class=\"lt\" onclick=\"jumptoTime(35, this.id)\"> 409</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:035.71\" id=\"35.8\" class=\"lt\" onclick=\"jumptoTime(35, this.id)\">-866</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:036.51\" id=\"36.6\" class=\"lt\" onclick=\"jumptoTime(36, this.id)\">-5088.</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:038.37\" id=\"38.4\" class=\"lt\" onclick=\"jumptoTime(38, this.id)\"> Do</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:038.45\" id=\"38.4\" class=\"lt\" onclick=\"jumptoTime(38, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:038.53\" id=\"38.6\" class=\"lt\" onclick=\"jumptoTime(38, this.id)\"> have</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:038.69\" id=\"38.6\" class=\"lt\" onclick=\"jumptoTime(38, this.id)\"> a</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:038.83\" id=\"38.8\" class=\"lt\" onclick=\"jumptoTime(38, this.id)\"> fax</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:039.17\" id=\"39.2\" class=\"lt\" onclick=\"jumptoTime(39, this.id)\"> number</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:039.49\" id=\"39.4\" class=\"lt\" onclick=\"jumptoTime(39, this.id)\"> or</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:039.73\" id=\"39.8\" class=\"lt\" onclick=\"jumptoTime(39, this.id)\"> email</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:040.03\" id=\"40.0\" class=\"lt\" onclick=\"jumptoTime(40, this.id)\"> address?</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:00:041.14\" id=\"41.2\" class=\"lt\" onclick=\"jumptoTime(41, this.id)\"> My</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:041.34\" id=\"41.4\" class=\"lt\" onclick=\"jumptoTime(41, this.id)\"> email</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:041.62\" id=\"41.6\" class=\"lt\" onclick=\"jumptoTime(41, this.id)\"> is</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:041.94\" id=\"42.0\" class=\"lt\" onclick=\"jumptoTime(41, this.id)\"> randall</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:042.56\" id=\"42.6\" class=\"lt\" onclick=\"jumptoTime(42, this.id)\">.thomas</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:044.00\" id=\"44.0\" class=\"lt\" onclick=\"jumptoTime(44, this.id)\"> at</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:044.96\" id=\"45.0\" class=\"lt\" onclick=\"jumptoTime(44, this.id)\"> gmail</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:045.50\" id=\"45.6\" class=\"lt\" onclick=\"jumptoTime(45, this.id)\">.com</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:00:047.41\" id=\"47.4\" class=\"lt\" onclick=\"jumptoTime(47, this.id)\"> Randall</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:048.13\" id=\"48.2\" class=\"lt\" onclick=\"jumptoTime(48, this.id)\">.Thomas</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:048.53\" id=\"48.6\" class=\"lt\" onclick=\"jumptoTime(48, this.id)\"> at</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:048.85\" id=\"48.8\" class=\"lt\" onclick=\"jumptoTime(48, this.id)\"> gmail</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:049.30\" id=\"49.2\" class=\"lt\" onclick=\"jumptoTime(49, this.id)\">.com</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:050.05\" id=\"50.0\" class=\"lt\" onclick=\"jumptoTime(50, this.id)\"> may</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:050.27\" id=\"50.2\" class=\"lt\" onclick=\"jumptoTime(50, this.id)\"> have</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:050.53\" id=\"50.6\" class=\"lt\" onclick=\"jumptoTime(50, this.id)\"> your</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:050.70\" id=\"50.6\" class=\"lt\" onclick=\"jumptoTime(50, this.id)\"> shipping</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:051.03\" id=\"51.0\" class=\"lt\" onclick=\"jumptoTime(51, this.id)\"> address</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:00:051.92\" id=\"52.0\" class=\"lt\" onclick=\"jumptoTime(51, this.id)\"> 6800</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:00:053.24\" id=\"53.2\" class=\"lt\" onclick=\"jumptoTime(53, this.id)\"> Okay.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:00:054.32\" id=\"54.4\" class=\"lt\" onclick=\"jumptoTime(54, this.id)\"> Badass</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:054.76\" id=\"54.8\" class=\"lt\" onclick=\"jumptoTime(54, this.id)\"> Avenue,</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:056.20\" id=\"56.2\" class=\"lt\" onclick=\"jumptoTime(56, this.id)\"> Beaumont,</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:057.00\" id=\"57.0\" class=\"lt\" onclick=\"jumptoTime(57, this.id)\"> Texas.</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:058.20\" id=\"58.2\" class=\"lt\" onclick=\"jumptoTime(58, this.id)\"> Zip</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:058.42\" id=\"58.4\" class=\"lt\" onclick=\"jumptoTime(58, this.id)\"> code</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:058.68\" id=\"58.6\" class=\"lt\" onclick=\"jumptoTime(58, this.id)\"> is</a><!--\n",
"\t\t\t\t--><a href=\"#00:00:058.94\" id=\"59.0\" class=\"lt\" onclick=\"jumptoTime(58, this.id)\"> 77706.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:01:001.51\" id=\"61.6\" class=\"lt\" onclick=\"jumptoTime(61, this.id)\"> Gladys</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:002.05\" id=\"62.0\" class=\"lt\" onclick=\"jumptoTime(62, this.id)\"> Avenue,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:002.67\" id=\"62.6\" class=\"lt\" onclick=\"jumptoTime(62, this.id)\"> Beaumont,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:003.35\" id=\"63.4\" class=\"lt\" onclick=\"jumptoTime(63, this.id)\"> Texas,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:003.99\" id=\"64.0\" class=\"lt\" onclick=\"jumptoTime(63, this.id)\"> zip</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:004.19\" id=\"64.2\" class=\"lt\" onclick=\"jumptoTime(64, this.id)\"> code</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:004.47\" id=\"64.4\" class=\"lt\" onclick=\"jumptoTime(64, this.id)\"> 77706.</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:006.75\" id=\"66.8\" class=\"lt\" onclick=\"jumptoTime(66, this.id)\"> Thank</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:007.05\" id=\"67.0\" class=\"lt\" onclick=\"jumptoTime(67, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:007.17\" id=\"67.2\" class=\"lt\" onclick=\"jumptoTime(67, this.id)\"> for</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:007.27\" id=\"67.2\" class=\"lt\" onclick=\"jumptoTime(67, this.id)\"> the</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:007.41\" id=\"67.4\" class=\"lt\" onclick=\"jumptoTime(67, this.id)\"> information.</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:008.47\" id=\"68.4\" class=\"lt\" onclick=\"jumptoTime(68, this.id)\"> What</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:008.61\" id=\"68.6\" class=\"lt\" onclick=\"jumptoTime(68, this.id)\"> products</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:009.03\" id=\"69.0\" class=\"lt\" onclick=\"jumptoTime(69, this.id)\"> were</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:009.17\" id=\"69.2\" class=\"lt\" onclick=\"jumptoTime(69, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:009.27\" id=\"69.2\" class=\"lt\" onclick=\"jumptoTime(69, this.id)\"> interested</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:009.65\" id=\"69.6\" class=\"lt\" onclick=\"jumptoTime(69, this.id)\"> in</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:009.93\" id=\"70.0\" class=\"lt\" onclick=\"jumptoTime(69, this.id)\"> purchasing?</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:01:011.16\" id=\"71.2\" class=\"lt\" onclick=\"jumptoTime(71, this.id)\"> Red</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:011.42\" id=\"71.4\" class=\"lt\" onclick=\"jumptoTime(71, this.id)\"> roses,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:012.10\" id=\"72.2\" class=\"lt\" onclick=\"jumptoTime(72, this.id)\"> probably</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:012.42\" id=\"72.4\" class=\"lt\" onclick=\"jumptoTime(72, this.id)\"> a</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:012.58\" id=\"72.6\" class=\"lt\" onclick=\"jumptoTime(72, this.id)\"> dozen.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:01:013.96\" id=\"74.0\" class=\"lt\" onclick=\"jumptoTime(73, this.id)\"> One</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:014.20\" id=\"74.2\" class=\"lt\" onclick=\"jumptoTime(74, this.id)\"> dozen</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:014.52\" id=\"74.6\" class=\"lt\" onclick=\"jumptoTime(74, this.id)\"> of</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:014.72\" id=\"74.8\" class=\"lt\" onclick=\"jumptoTime(74, this.id)\"> red</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:014.90\" id=\"75.0\" class=\"lt\" onclick=\"jumptoTime(74, this.id)\"> roses,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:015.46\" id=\"75.4\" class=\"lt\" onclick=\"jumptoTime(75, this.id)\"> do</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:015.52\" id=\"75.6\" class=\"lt\" onclick=\"jumptoTime(75, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:015.64\" id=\"75.6\" class=\"lt\" onclick=\"jumptoTime(75, this.id)\"> want</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:015.84\" id=\"75.8\" class=\"lt\" onclick=\"jumptoTime(75, this.id)\"> long</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:016.14\" id=\"76.2\" class=\"lt\" onclick=\"jumptoTime(76, this.id)\"> stems?</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:01:016.68\" id=\"76.6\" class=\"lt\" onclick=\"jumptoTime(76, this.id)\"> Sure.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:01:017.67\" id=\"77.6\" class=\"lt\" onclick=\"jumptoTime(77, this.id)\"> Alright,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:018.33\" id=\"78.4\" class=\"lt\" onclick=\"jumptoTime(78, this.id)\"> Rano,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:018.94\" id=\"79.0\" class=\"lt\" onclick=\"jumptoTime(78, this.id)\"> let</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:019.16\" id=\"79.2\" class=\"lt\" onclick=\"jumptoTime(79, this.id)\"> me</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:019.25\" id=\"79.2\" class=\"lt\" onclick=\"jumptoTime(79, this.id)\"> process</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:019.61\" id=\"79.6\" class=\"lt\" onclick=\"jumptoTime(79, this.id)\"> the</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:019.80\" id=\"79.8\" class=\"lt\" onclick=\"jumptoTime(79, this.id)\"> order.</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:020.16\" id=\"80.2\" class=\"lt\" onclick=\"jumptoTime(80, this.id)\"> One</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:020.31\" id=\"80.4\" class=\"lt\" onclick=\"jumptoTime(80, this.id)\"> moment,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:020.75\" id=\"80.8\" class=\"lt\" onclick=\"jumptoTime(80, this.id)\"> please.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:01:022.47\" id=\"82.4\" class=\"lt\" onclick=\"jumptoTime(82, this.id)\"> Okay.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:01:025.10\" id=\"85.2\" class=\"lt\" onclick=\"jumptoTime(85, this.id)\"> Randall,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:025.62\" id=\"85.6\" class=\"lt\" onclick=\"jumptoTime(85, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:025.64\" id=\"85.6\" class=\"lt\" onclick=\"jumptoTime(85, this.id)\"> are</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:025.76\" id=\"85.8\" class=\"lt\" onclick=\"jumptoTime(85, this.id)\"> ordering</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:026.14\" id=\"86.2\" class=\"lt\" onclick=\"jumptoTime(86, this.id)\"> one</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:026.46\" id=\"86.4\" class=\"lt\" onclick=\"jumptoTime(86, this.id)\"> dozen</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:026.88\" id=\"86.8\" class=\"lt\" onclick=\"jumptoTime(86, this.id)\"> long</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:027.26\" id=\"87.2\" class=\"lt\" onclick=\"jumptoTime(87, this.id)\">-stand</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:027.60\" id=\"87.6\" class=\"lt\" onclick=\"jumptoTime(87, this.id)\"> red</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:027.96\" id=\"88.0\" class=\"lt\" onclick=\"jumptoTime(87, this.id)\"> roses.</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:028.62\" id=\"88.6\" class=\"lt\" onclick=\"jumptoTime(88, this.id)\"> The</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:028.70\" id=\"88.8\" class=\"lt\" onclick=\"jumptoTime(88, this.id)\"> total</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:028.94\" id=\"89.0\" class=\"lt\" onclick=\"jumptoTime(88, this.id)\"> amount</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:029.18\" id=\"89.2\" class=\"lt\" onclick=\"jumptoTime(89, this.id)\"> of</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:029.30\" id=\"89.2\" class=\"lt\" onclick=\"jumptoTime(89, this.id)\"> your</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:029.42\" id=\"89.4\" class=\"lt\" onclick=\"jumptoTime(89, this.id)\"> order</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:029.66\" id=\"89.6\" class=\"lt\" onclick=\"jumptoTime(89, this.id)\"> is</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:029.82\" id=\"89.8\" class=\"lt\" onclick=\"jumptoTime(89, this.id)\"> $40,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:030.78\" id=\"90.8\" class=\"lt\" onclick=\"jumptoTime(90, this.id)\"> and</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:031.14\" id=\"91.2\" class=\"lt\" onclick=\"jumptoTime(91, this.id)\"> it</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:031.28\" id=\"91.2\" class=\"lt\" onclick=\"jumptoTime(91, this.id)\"> will</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:031.40\" id=\"91.4\" class=\"lt\" onclick=\"jumptoTime(91, this.id)\"> be</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:031.58\" id=\"91.6\" class=\"lt\" onclick=\"jumptoTime(91, this.id)\"> shipped</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:031.86\" id=\"91.8\" class=\"lt\" onclick=\"jumptoTime(91, this.id)\"> to</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:032.10\" id=\"92.0\" class=\"lt\" onclick=\"jumptoTime(92, this.id)\"> your</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:032.26\" id=\"92.2\" class=\"lt\" onclick=\"jumptoTime(92, this.id)\"> address</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:032.58\" id=\"92.6\" class=\"lt\" onclick=\"jumptoTime(92, this.id)\"> within</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:032.86\" id=\"92.8\" class=\"lt\" onclick=\"jumptoTime(92, this.id)\"> 24</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:033.28\" id=\"93.2\" class=\"lt\" onclick=\"jumptoTime(93, this.id)\"> hours.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:01:034.26\" id=\"94.2\" class=\"lt\" onclick=\"jumptoTime(94, this.id)\"> I</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:034.48\" id=\"94.4\" class=\"lt\" onclick=\"jumptoTime(94, this.id)\"> was</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:034.58\" id=\"94.6\" class=\"lt\" onclick=\"jumptoTime(94, this.id)\"> thinking</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:034.84\" id=\"94.8\" class=\"lt\" onclick=\"jumptoTime(94, this.id)\"> of</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:035.00\" id=\"95.0\" class=\"lt\" onclick=\"jumptoTime(95, this.id)\"> delivering</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:035.30\" id=\"95.4\" class=\"lt\" onclick=\"jumptoTime(95, this.id)\"> my</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:035.52\" id=\"95.6\" class=\"lt\" onclick=\"jumptoTime(95, this.id)\"> roses</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:035.84\" id=\"95.8\" class=\"lt\" onclick=\"jumptoTime(95, this.id)\"> again.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:01:036.88\" id=\"96.8\" class=\"lt\" onclick=\"jumptoTime(96, this.id)\"> within</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:037.14\" id=\"97.2\" class=\"lt\" onclick=\"jumptoTime(97, this.id)\"> 24</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:037.60\" id=\"97.6\" class=\"lt\" onclick=\"jumptoTime(97, this.id)\"> hours.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:01:038.78\" id=\"98.8\" class=\"lt\" onclick=\"jumptoTime(98, this.id)\"> Okay,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:039.14\" id=\"99.2\" class=\"lt\" onclick=\"jumptoTime(99, this.id)\"> no</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:039.22\" id=\"99.2\" class=\"lt\" onclick=\"jumptoTime(99, this.id)\"> problem.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:01:040.20\" id=\"100.2\" class=\"lt\" onclick=\"jumptoTime(100, this.id)\"> Is</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:040.36\" id=\"100.4\" class=\"lt\" onclick=\"jumptoTime(100, this.id)\"> there</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:040.46\" id=\"100.4\" class=\"lt\" onclick=\"jumptoTime(100, this.id)\"> anything</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:040.74\" id=\"100.8\" class=\"lt\" onclick=\"jumptoTime(100, this.id)\"> else</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:041.04\" id=\"101.0\" class=\"lt\" onclick=\"jumptoTime(101, this.id)\"> I</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:041.14\" id=\"101.2\" class=\"lt\" onclick=\"jumptoTime(101, this.id)\"> can</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:041.28\" id=\"101.2\" class=\"lt\" onclick=\"jumptoTime(101, this.id)\"> help</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:041.50\" id=\"101.6\" class=\"lt\" onclick=\"jumptoTime(101, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:041.60\" id=\"101.6\" class=\"lt\" onclick=\"jumptoTime(101, this.id)\"> with?</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: #e1ffc7\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkgreen;font-weight: bold;\">Customer</span><br>\n",
"\t\t\t\t<a href=\"#00:01:042.70\" id=\"102.8\" class=\"lt\" onclick=\"jumptoTime(102, this.id)\"> That's</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:042.98\" id=\"103.0\" class=\"lt\" onclick=\"jumptoTime(102, this.id)\"> all</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:043.12\" id=\"103.2\" class=\"lt\" onclick=\"jumptoTime(103, this.id)\"> for</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:043.24\" id=\"103.2\" class=\"lt\" onclick=\"jumptoTime(103, this.id)\"> now,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:043.56\" id=\"103.6\" class=\"lt\" onclick=\"jumptoTime(103, this.id)\"> thanks.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"<div class=\"e\" style=\"background-color: white\">\n",
"<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\n",
"<span style=\"color:darkorange;font-weight: bold;\">Call Center</span><br>\n",
"\t\t\t\t<a href=\"#00:01:044.32\" id=\"104.4\" class=\"lt\" onclick=\"jumptoTime(104, this.id)\"> No</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:044.54\" id=\"104.6\" class=\"lt\" onclick=\"jumptoTime(104, this.id)\"> problem,</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:045.02\" id=\"105.0\" class=\"lt\" onclick=\"jumptoTime(105, this.id)\"> Randall.</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:045.42\" id=\"105.4\" class=\"lt\" onclick=\"jumptoTime(105, this.id)\"> Thank</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:045.58\" id=\"105.6\" class=\"lt\" onclick=\"jumptoTime(105, this.id)\"> you</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:045.68\" id=\"105.6\" class=\"lt\" onclick=\"jumptoTime(105, this.id)\"> for</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:045.80\" id=\"105.8\" class=\"lt\" onclick=\"jumptoTime(105, this.id)\"> calling</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:046.06\" id=\"106.0\" class=\"lt\" onclick=\"jumptoTime(106, this.id)\"> Martha's</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:046.58\" id=\"106.6\" class=\"lt\" onclick=\"jumptoTime(106, this.id)\"> Flourish.</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:046.98\" id=\"107.0\" class=\"lt\" onclick=\"jumptoTime(106, this.id)\"> Have</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:047.16\" id=\"107.2\" class=\"lt\" onclick=\"jumptoTime(107, this.id)\"> a</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:047.26\" id=\"107.2\" class=\"lt\" onclick=\"jumptoTime(107, this.id)\"> nice</a><!--\n",
"\t\t\t\t--><a href=\"#00:01:047.44\" id=\"107.4\" class=\"lt\" onclick=\"jumptoTime(107, this.id)\"> day.</a><!--\n",
"\t\t\t\t--></p>\n",
"</div>\n",
"\t</body>\n",
"</html>\n",
"\n"
]
}
],
"source": [
"#import webvtt\n",
"import json\n",
"from datetime import timedelta\n",
"\n",
"def timeStr(t):\n",
" return '{0:02d}:{1:02d}:{2:06.2f}'.format(round(t // 3600), \n",
" round(t % 3600 // 60), \n",
" t % 60)\n",
"\n",
"html = list(preS)\n",
"txt = list(\"\")\n",
"gidx = -1\n",
"for g in groups: \n",
" shift = re.findall('[0-9]+:[0-9]+:[0-9]+\\.[0-9]+', string=g[0])[0]\n",
" shift = millisec(shift) - spacermilli #the start time in the original video\n",
" shift=max(shift, 0)\n",
" \n",
" gidx += 1\n",
" \n",
" captions = json.load(open(str(gidx) + '.json'))['segments']\n",
"\n",
" if captions:\n",
" speaker = g[0].split()[-1]\n",
" boxclr = def_boxclr\n",
" spkrclr = def_spkrclr\n",
" if speaker in speakers:\n",
" speaker, boxclr, spkrclr = speakers[speaker] \n",
" \n",
" html.append(f'<div class=\"e\" style=\"background-color: {boxclr}\">\\n');\n",
" html.append('<p style=\"margin:0;padding: 5px 10px 10px 10px;word-wrap:normal;white-space:normal;\">\\n')\n",
" html.append(f'<span style=\"color:{spkrclr};font-weight: bold;\">{speaker}</span><br>\\n\\t\\t\\t\\t')\n",
" \n",
" for c in captions:\n",
" start = shift + c['start'] * 1000.0 \n",
" start = start / 1000.0 #time resolution ot youtube is Second. \n",
" end = (shift + c['end'] * 1000.0) / 1000.0 \n",
" txt.append(f'[{timeStr(start)} --> {timeStr(end)}] [{speaker}] {c[\"text\"]}\\n')\n",
"\n",
" for i, w in enumerate(c['words']):\n",
" if w == \"\":\n",
" continue\n",
" start = (shift + w['start']*1000.0) / 1000.0 \n",
" #end = (shift + w['end']) / 1000.0 #time resolution ot youtube is Second. \n",
" html.append(f'<a href=\"#{timeStr(start)}\" id=\"{\"{:.1f}\".format(round(start*5)/5)}\" class=\"lt\" onclick=\"jumptoTime({int(start)}, this.id)\">{w[\"word\"]}</a><!--\\n\\t\\t\\t\\t-->')\n",
" #html.append('\\n') \n",
" html.append('</p>\\n')\n",
" html.append(f'</div>\\n')\n",
"\n",
"html.append(postS)\n",
"\n",
"\n",
"with open(f\"capspeaker.txt\", \"w\", encoding='utf-8') as file:\n",
" s = \"\".join(txt)\n",
" file.write(s)\n",
" print('captions saved to capspeaker.txt:')\n",
" print(s+'\\n')\n",
"\n",
"with open(f\"capspeaker.html\", \"w\", encoding='utf-8') as file: #TODO: proper html embed tag when video/audio from file\n",
" s = \"\".join(html)\n",
" file.write(s)\n",
" print('captions saved to capspeaker.html:')\n",
" print(s+'\\n')"
]
}
],
"metadata": {
"accelerator": "GPU",
"colab": {
"machine_shape": "hm",
"provenance": []
},
"gpuClass": "standard",
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.3"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"0173b0fc70304a3aa5bdc2e390b8eab7": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"01c78ca91da0472db2c56442eb6bf3ac": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"030e3e6181f74fcf86f15783aa846faf": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"03e1daaf6086423d9017a4af01b87e3c": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_cbc2e2816b514899aa00dab172ef9775",
"placeholder": "",
"style": "IPY_MODEL_fb989ccef0454171b0affbb3b0ed1519",
"value": " 1.92k/? [00:00&lt;00:00, 131kB/s]"
}
},
"072bc12d63904de9a2f09539c0b0a4b4": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_7f0f982b1d514596b35a393c5ebd1544",
"placeholder": "",
"style": "IPY_MODEL_030e3e6181f74fcf86f15783aa846faf",
"value": " 500/500 [00:00&lt;00:00, 25.4kB/s]"
}
},
"073e5f22a1b745eabd117e5432196d2a": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"0aeec2aada234621ba269e27bf0087e3": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_96e3eda032cf4175bd5bde95690786e7",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_c973e4a3d73d46d7ab5fb67661f05505",
"value": 1
}
},
"0cae3e14e6104afdac42f102eeacd73b": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_a5b90b47178e4a779dfceae1f1405495",
"max": 1,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_25bf76052a3e41bcafc10281f771f044",
"value": 1
}
},
"0cfa4d6c99be4dc6b86f9b46ff6c1e78": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_898d0fb80047486dba6e84719d5e2a37",
"placeholder": "",
"style": "IPY_MODEL_a893a1d6eb9d4c988bf0cf92b9eeef96",
"value": " 5.53M/5.53M [00:00&lt;00:00, 35.8MB/s]"
}
},
"0e6f62263f9145058d14d64984815f2d": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"104acfe0f696434c96ba08ce69d01da1": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_dd0264ee53db4169a35e0f2da43dbb8e",
"max": 1921,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_3145f62cdc374b21adedea938ebc859f",
"value": 1921
}
},
"1208590c08134023838e8e886a611a77": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"12f9050dbae742e3bc3f43cc75bc52bc": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"1c5d0d0290a446b0950e95a8917faadc": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_8b0177713bb748828d462287e619ca96",
"max": 500,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_2e61cb0368604391a1c91a3d672ae29f",
"value": 500
}
},
"25bf76052a3e41bcafc10281f771f044": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"2866460dbec047ba8f4c5e81cc292711": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"2e61cb0368604391a1c91a3d672ae29f": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"3145f62cdc374b21adedea938ebc859f": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"34d8575762114e7d9d7bdf8c066593a5": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"35ea4cf25ff24b69aebe509a85c34423": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"3635de8b7655414d8dbedefdbd48fb7d": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_95bae617fdbd4c908bec622c8e74df8e",
"placeholder": "",
"style": "IPY_MODEL_363a8f886ab84887a1d71609cf7e9413",
"value": " 17.7M/17.7M [00:01&lt;00:00, 16.8MB/s]"
}
},
"363a8f886ab84887a1d71609cf7e9413": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"3ad4b30c0c6640fc921b782ff2a84545": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_6873d9df2958468aa924b7c3b0b130bd",
"IPY_MODEL_b9cf8d797795426aa7923c36f29b7299",
"IPY_MODEL_3635de8b7655414d8dbedefdbd48fb7d"
],
"layout": "IPY_MODEL_54de617a9dbc468a8f833aaa06464960"
}
},
"45d07b61c0124913869a6fb15c51a31b": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_073e5f22a1b745eabd117e5432196d2a",
"placeholder": "",
"style": "IPY_MODEL_48e4ccd21dfd4205a849cbed8089d00f",
"value": " 83.3M/83.3M [00:01&lt;00:00, 89.6MB/s]"
}
},
"48e4ccd21dfd4205a849cbed8089d00f": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"4a92ebfa58524bf39e4540499e78d147": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_5518f43264274fa3889d6203c121f371",
"IPY_MODEL_b5b5094042f0409cb8ad74268ba6aae0",
"IPY_MODEL_0cfa4d6c99be4dc6b86f9b46ff6c1e78"
],
"layout": "IPY_MODEL_be14af4415784c13872fcae41f6c6d47"
}
},
"52097a4204e642d3ad7f6e50fd4546e7": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"546ed9780904486493b0205e3499d369": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"54de617a9dbc468a8f833aaa06464960": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"5518f43264274fa3889d6203c121f371": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_35ea4cf25ff24b69aebe509a85c34423",
"placeholder": "",
"style": "IPY_MODEL_9dab404555984569bd4f32eb39f9b4c0",
"value": "Downloading classifier.ckpt: 100%"
}
},
"5635f5fc59164e4aa69e2f4dd7301ba0": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"5c13b264a4e942f29719ee21fa9e013f": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_648bc98d57fe4eac96febe4c7f995ab4",
"IPY_MODEL_0cae3e14e6104afdac42f102eeacd73b",
"IPY_MODEL_6c92726f8db14578922d1e0025f81703"
],
"layout": "IPY_MODEL_c095387effea469bb2c353ec7c669dad"
}
},
"60ef10f549044fafad82d0e592a1489b": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_98850786a145436b9bdfeff1bf2e156c",
"placeholder": "",
"style": "IPY_MODEL_dd231abf4cf94d208d886feb42a4b952",
"value": "Downloading (…)/2022.07/config.yaml: 100%"
}
},
"61ffadd175334ffa8cb4c958b8480133": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"648bc98d57fe4eac96febe4c7f995ab4": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_70ed33d0fca842fd99ab6b591d9c7163",
"placeholder": "",
"style": "IPY_MODEL_01c78ca91da0472db2c56442eb6bf3ac",
"value": "Downloading (…)in/label_encoder.txt: "
}
},
"675a4e80564044bcae99c2538f63a99b": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"6873d9df2958468aa924b7c3b0b130bd": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_12f9050dbae742e3bc3f43cc75bc52bc",
"placeholder": "",
"style": "IPY_MODEL_a69987750939419b82d4d7e4f6635ca8",
"value": "Downloading pytorch_model.bin: 100%"
}
},
"6b38b3c3c69d445684d7d98ce68358eb": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"6c92726f8db14578922d1e0025f81703": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_52097a4204e642d3ad7f6e50fd4546e7",
"placeholder": "",
"style": "IPY_MODEL_8e4110fefcae44d09a03b3757142ad5d",
"value": " 129k/? [00:00&lt;00:00, 6.65MB/s]"
}
},
"6da323d419e143ccbf8350845408931a": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_e3accfa88994452b99ca84e02004ad7d",
"placeholder": "",
"style": "IPY_MODEL_0e6f62263f9145058d14d64984815f2d",
"value": " 1.92k/1.92k [00:00&lt;00:00, 128kB/s]"
}
},
"6db043789b9344c1a57d4ffffa84b5d6": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"6fdc6045767f459eb13a71f1c9589c78": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"70ed33d0fca842fd99ab6b591d9c7163": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"772c7cc58dda47bb96c206a6c01cd37c": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"7f0f982b1d514596b35a393c5ebd1544": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8124c1ec4cb149aebb8f8134619e50e6": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"81fb5f28fbd84991aced3b675bda8538": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_cce1d515c3a148998a17136092ef9ace",
"IPY_MODEL_104acfe0f696434c96ba08ce69d01da1",
"IPY_MODEL_6da323d419e143ccbf8350845408931a"
],
"layout": "IPY_MODEL_b50ea57ac26b4633b1af3dd04d3e2b64"
}
},
"8767a2b17c22493092e68f8f1bf7d8aa": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"87b4741cc2174372ab2b3b31c45257ee": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_60ef10f549044fafad82d0e592a1489b",
"IPY_MODEL_e71b7d04a2644c5082c1e823de958b5a",
"IPY_MODEL_b91fde9cc52b4be5a5a2a9e3050c5d4d"
],
"layout": "IPY_MODEL_bf25e28626fc4bbb955d31c48deea204"
}
},
"898d0fb80047486dba6e84719d5e2a37": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8b0177713bb748828d462287e619ca96": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"8e4110fefcae44d09a03b3757142ad5d": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"949608b13ed84264a75d7a694a2200e5": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_34d8575762114e7d9d7bdf8c066593a5",
"placeholder": "",
"style": "IPY_MODEL_6fdc6045767f459eb13a71f1c9589c78",
"value": "Downloading (…)ain/hyperparams.yaml: "
}
},
"95bae617fdbd4c908bec622c8e74df8e": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"96e3eda032cf4175bd5bde95690786e7": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": "20px"
}
},
"98850786a145436b9bdfeff1bf2e156c": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"9dab404555984569bd4f32eb39f9b4c0": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"a0a5a49ca89e4e7c8176f51e9174a031": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_aa439d0201c24b009c5c5ffc0dc0aa3e",
"max": 83316686,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_6db043789b9344c1a57d4ffffa84b5d6",
"value": 83316686
}
},
"a3568db1b59e482cafa6498dac466987": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"a5b90b47178e4a779dfceae1f1405495": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": "20px"
}
},
"a69987750939419b82d4d7e4f6635ca8": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"a893a1d6eb9d4c988bf0cf92b9eeef96": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"aa439d0201c24b009c5c5ffc0dc0aa3e": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"aa94fe5c7b214174914ecf6de596b54d": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"b00a57bbc2984b25b080cf426fc9d93a": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_fe067ac0f4774e4b95e653861fb29420",
"IPY_MODEL_a0a5a49ca89e4e7c8176f51e9174a031",
"IPY_MODEL_45d07b61c0124913869a6fb15c51a31b"
],
"layout": "IPY_MODEL_546ed9780904486493b0205e3499d369"
}
},
"b4b04842f22d4334ab4287714b505e62": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"b50ea57ac26b4633b1af3dd04d3e2b64": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"b5b5094042f0409cb8ad74268ba6aae0": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_8767a2b17c22493092e68f8f1bf7d8aa",
"max": 5534328,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_fdfae47e9d564aefb43c0d57b65211cd",
"value": 5534328
}
},
"b91fde9cc52b4be5a5a2a9e3050c5d4d": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_5635f5fc59164e4aa69e2f4dd7301ba0",
"placeholder": "",
"style": "IPY_MODEL_0173b0fc70304a3aa5bdc2e390b8eab7",
"value": " 318/318 [00:00&lt;00:00, 21.6kB/s]"
}
},
"b9cf8d797795426aa7923c36f29b7299": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_8124c1ec4cb149aebb8f8134619e50e6",
"max": 17719103,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_61ffadd175334ffa8cb4c958b8480133",
"value": 17719103
}
},
"bd906e3ecf9b416cb25ff8d4e3e1a4ce": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"be14af4415784c13872fcae41f6c6d47": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"bf25e28626fc4bbb955d31c48deea204": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c095387effea469bb2c353ec7c669dad": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"c973e4a3d73d46d7ab5fb67661f05505": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"cbc2e2816b514899aa00dab172ef9775": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"cce1d515c3a148998a17136092ef9ace": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_aa94fe5c7b214174914ecf6de596b54d",
"placeholder": "",
"style": "IPY_MODEL_a3568db1b59e482cafa6498dac466987",
"value": "Downloading (…)an_var_norm_emb.ckpt: 100%"
}
},
"ceb9cabad998432ebd4541a41ad69e76": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_eeb45fe8a520470b89526c96f86e942a",
"IPY_MODEL_1c5d0d0290a446b0950e95a8917faadc",
"IPY_MODEL_072bc12d63904de9a2f09539c0b0a4b4"
],
"layout": "IPY_MODEL_b4b04842f22d4334ab4287714b505e62"
}
},
"dd0264ee53db4169a35e0f2da43dbb8e": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"dd231abf4cf94d208d886feb42a4b952": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"e3accfa88994452b99ca84e02004ad7d": {
"model_module": "@jupyter-widgets/base",
"model_module_version": "1.2.0",
"model_name": "LayoutModel",
"state": {
"_model_module": "@jupyter-widgets/base",
"_model_module_version": "1.2.0",
"_model_name": "LayoutModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "LayoutView",
"align_content": null,
"align_items": null,
"align_self": null,
"border": null,
"bottom": null,
"display": null,
"flex": null,
"flex_flow": null,
"grid_area": null,
"grid_auto_columns": null,
"grid_auto_flow": null,
"grid_auto_rows": null,
"grid_column": null,
"grid_gap": null,
"grid_row": null,
"grid_template_areas": null,
"grid_template_columns": null,
"grid_template_rows": null,
"height": null,
"justify_content": null,
"justify_items": null,
"left": null,
"margin": null,
"max_height": null,
"max_width": null,
"min_height": null,
"min_width": null,
"object_fit": null,
"object_position": null,
"order": null,
"overflow": null,
"overflow_x": null,
"overflow_y": null,
"padding": null,
"right": null,
"top": null,
"visibility": null,
"width": null
}
},
"e71b7d04a2644c5082c1e823de958b5a": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "FloatProgressModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "FloatProgressModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "ProgressView",
"bar_style": "success",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_772c7cc58dda47bb96c206a6c01cd37c",
"max": 318,
"min": 0,
"orientation": "horizontal",
"style": "IPY_MODEL_675a4e80564044bcae99c2538f63a99b",
"value": 318
}
},
"ed483488e6e342a7a6291ee50bd3fcb4": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HBoxModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HBoxModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HBoxView",
"box_style": "",
"children": [
"IPY_MODEL_949608b13ed84264a75d7a694a2200e5",
"IPY_MODEL_0aeec2aada234621ba269e27bf0087e3",
"IPY_MODEL_03e1daaf6086423d9017a4af01b87e3c"
],
"layout": "IPY_MODEL_6b38b3c3c69d445684d7d98ce68358eb"
}
},
"eeb45fe8a520470b89526c96f86e942a": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_2866460dbec047ba8f4c5e81cc292711",
"placeholder": "",
"style": "IPY_MODEL_1208590c08134023838e8e886a611a77",
"value": "Downloading (…)lve/main/config.yaml: 100%"
}
},
"f5af9e6f7ad64571b095ec99f0d2359e": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"fb989ccef0454171b0affbb3b0ed1519": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "DescriptionStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "DescriptionStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"description_width": ""
}
},
"fdfae47e9d564aefb43c0d57b65211cd": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "ProgressStyleModel",
"state": {
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "ProgressStyleModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/base",
"_view_module_version": "1.2.0",
"_view_name": "StyleView",
"bar_color": null,
"description_width": ""
}
},
"fe067ac0f4774e4b95e653861fb29420": {
"model_module": "@jupyter-widgets/controls",
"model_module_version": "1.5.0",
"model_name": "HTMLModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/controls",
"_model_module_version": "1.5.0",
"_model_name": "HTMLModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/controls",
"_view_module_version": "1.5.0",
"_view_name": "HTMLView",
"description": "",
"description_tooltip": null,
"layout": "IPY_MODEL_bd906e3ecf9b416cb25ff8d4e3e1a4ce",
"placeholder": "",
"style": "IPY_MODEL_f5af9e6f7ad64571b095ec99f0d2359e",
"value": "Downloading embedding_model.ckpt: 100%"
}
}
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}