Repository: openinterpreter/open-interpreter
Branch: main
Commit: 681f5ce5b84b
Files: 271
Total size: 10.3 MB
Directory structure:
gitextract_u72n0w4c/
├── .devcontainer/
│ ├── DockerFile
│ └── devcontainer.json
├── .github/
│ ├── ISSUE_TEMPLATE/
│ │ ├── bug_report.yml
│ │ ├── config.yml
│ │ └── feature_request.yml
│ ├── pull_request_template.md
│ └── workflows/
│ ├── potential-duplicates.yml
│ └── python-package.yml
├── .gitignore
├── .pre-commit-config.yaml
├── Dockerfile
├── LICENSE
├── README.md
├── docs/
│ ├── CONTRIBUTING.md
│ ├── NCU_MIGRATION_GUIDE.md
│ ├── README_DE.md
│ ├── README_ES.md
│ ├── README_IN.md
│ ├── README_JA.md
│ ├── README_UK.md
│ ├── README_VN.md
│ ├── README_ZH.md
│ ├── ROADMAP.md
│ ├── SAFE_MODE.md
│ ├── SECURITY.md
│ ├── assets/
│ │ └── .DS-Store
│ ├── code-execution/
│ │ ├── computer-api.mdx
│ │ ├── custom-languages.mdx
│ │ ├── settings.mdx
│ │ └── usage.mdx
│ ├── computer/
│ │ ├── custom-languages.mdx
│ │ ├── introduction.mdx
│ │ ├── language-model-usage.mdx
│ │ └── user-usage.mdx
│ ├── getting-started/
│ │ ├── introduction.mdx
│ │ └── setup.mdx
│ ├── guides/
│ │ ├── advanced-terminal-usage.mdx
│ │ ├── basic-usage.mdx
│ │ ├── demos.mdx
│ │ ├── multiple-instances.mdx
│ │ ├── os-mode.mdx
│ │ ├── profiles.mdx
│ │ ├── running-locally.mdx
│ │ └── streaming-response.mdx
│ ├── integrations/
│ │ ├── docker.mdx
│ │ └── e2b.mdx
│ ├── language-models/
│ │ ├── custom-models.mdx
│ │ ├── hosted-models/
│ │ │ ├── ai21.mdx
│ │ │ ├── anthropic.mdx
│ │ │ ├── anyscale.mdx
│ │ │ ├── aws-sagemaker.mdx
│ │ │ ├── azure.mdx
│ │ │ ├── baseten.mdx
│ │ │ ├── cloudflare.mdx
│ │ │ ├── cohere.mdx
│ │ │ ├── deepinfra.mdx
│ │ │ ├── gpt-4-setup.mdx
│ │ │ ├── huggingface.mdx
│ │ │ ├── mistral-api.mdx
│ │ │ ├── nlp-cloud.mdx
│ │ │ ├── openai.mdx
│ │ │ ├── openrouter.mdx
│ │ │ ├── palm.mdx
│ │ │ ├── perplexity.mdx
│ │ │ ├── petals.mdx
│ │ │ ├── replicate.mdx
│ │ │ ├── togetherai.mdx
│ │ │ ├── vertex-ai.mdx
│ │ │ └── vllm.mdx
│ │ ├── introduction.mdx
│ │ ├── local-models/
│ │ │ ├── best-practices.mdx
│ │ │ ├── custom-endpoint.mdx
│ │ │ ├── janai.mdx
│ │ │ ├── llamafile.mdx
│ │ │ ├── lm-studio.mdx
│ │ │ └── ollama.mdx
│ │ └── settings.mdx
│ ├── legal/
│ │ └── license.mdx
│ ├── mint.json
│ ├── protocols/
│ │ ├── i-protocol.mdx
│ │ └── lmc-messages.mdx
│ ├── safety/
│ │ ├── best-practices.mdx
│ │ ├── introduction.mdx
│ │ ├── isolation.mdx
│ │ └── safe-mode.mdx
│ ├── server/
│ │ └── usage.mdx
│ ├── settings/
│ │ ├── all-settings.mdx
│ │ ├── example-profiles.mdx
│ │ └── profiles.mdx
│ ├── style.css
│ ├── telemetry/
│ │ └── telemetry.mdx
│ ├── troubleshooting/
│ │ └── faq.mdx
│ └── usage/
│ ├── desktop/
│ │ ├── help.md
│ │ └── install.mdx
│ ├── examples.mdx
│ ├── python/
│ │ ├── arguments.mdx
│ │ ├── budget-manager.mdx
│ │ ├── conversation-history.mdx
│ │ ├── magic-commands.mdx
│ │ ├── multiple-instances.mdx
│ │ └── settings.mdx
│ └── terminal/
│ ├── arguments.mdx
│ ├── budget-manager.mdx
│ ├── magic-commands.mdx
│ ├── settings.mdx
│ └── vision.mdx
├── examples/
│ ├── Dockerfile
│ ├── JARVIS.ipynb
│ ├── Open_Interpreter_Demo.ipynb
│ ├── README.md
│ ├── custom_tool.ipynb
│ ├── interactive_quickstart.py
│ ├── jan_computer_control.ipynb
│ ├── local3.ipynb
│ ├── local_server.ipynb
│ ├── organize_photos.ipynb
│ ├── screenpipe.ipynb
│ └── talk_to_your_database.ipynb
├── installers/
│ ├── oi-linux-installer.sh
│ ├── oi-mac-installer.sh
│ ├── oi-windows-installer-conda.ps1
│ └── oi-windows-installer.ps1
├── interpreter/
│ ├── __init__.py
│ ├── computer_use/
│ │ ├── __init__.py
│ │ ├── loop.py
│ │ ├── tools/
│ │ │ ├── __init__.py
│ │ │ ├── base.py
│ │ │ ├── bash.py
│ │ │ ├── collection.py
│ │ │ ├── computer.py
│ │ │ ├── edit.py
│ │ │ └── run.py
│ │ └── unused_markdown.py
│ ├── core/
│ │ ├── __init__.py
│ │ ├── archived_server_1.py
│ │ ├── archived_server_2.py
│ │ ├── async_core.py
│ │ ├── computer/
│ │ │ ├── __init__.py
│ │ │ ├── ai/
│ │ │ │ ├── __init__.py
│ │ │ │ └── ai.py
│ │ │ ├── browser/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── browser.py
│ │ │ │ └── browser_next.py
│ │ │ ├── calendar/
│ │ │ │ ├── __init__.py
│ │ │ │ └── calendar.py
│ │ │ ├── clipboard/
│ │ │ │ ├── __init__.py
│ │ │ │ └── clipboard.py
│ │ │ ├── computer.py
│ │ │ ├── contacts/
│ │ │ │ ├── __init__.py
│ │ │ │ └── contacts.py
│ │ │ ├── display/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── display.py
│ │ │ │ └── point/
│ │ │ │ └── point.py
│ │ │ ├── docs/
│ │ │ │ ├── __init__.py
│ │ │ │ └── docs.py
│ │ │ ├── files/
│ │ │ │ ├── __init__.py
│ │ │ │ └── files.py
│ │ │ ├── keyboard/
│ │ │ │ ├── __init__.py
│ │ │ │ └── keyboard.py
│ │ │ ├── mail/
│ │ │ │ ├── __init__.py
│ │ │ │ └── mail.py
│ │ │ ├── mouse/
│ │ │ │ ├── __init__.py
│ │ │ │ └── mouse.py
│ │ │ ├── os/
│ │ │ │ ├── __init__.py
│ │ │ │ └── os.py
│ │ │ ├── skills/
│ │ │ │ └── skills.py
│ │ │ ├── sms/
│ │ │ │ ├── __init__.py
│ │ │ │ └── sms.py
│ │ │ ├── terminal/
│ │ │ │ ├── __init__.py
│ │ │ │ ├── base_language.py
│ │ │ │ ├── languages/
│ │ │ │ │ ├── __init__.py
│ │ │ │ │ ├── applescript.py
│ │ │ │ │ ├── html.py
│ │ │ │ │ ├── java.py
│ │ │ │ │ ├── javascript.py
│ │ │ │ │ ├── jupyter_language.py
│ │ │ │ │ ├── powershell.py
│ │ │ │ │ ├── python.py
│ │ │ │ │ ├── r.py
│ │ │ │ │ ├── react.py
│ │ │ │ │ ├── ruby.py
│ │ │ │ │ ├── shell.py
│ │ │ │ │ └── subprocess_language.py
│ │ │ │ └── terminal.py
│ │ │ ├── utils/
│ │ │ │ ├── computer_vision.py
│ │ │ │ ├── get_active_window.py
│ │ │ │ ├── html_to_png_base64.py
│ │ │ │ ├── recipient_utils.py
│ │ │ │ └── run_applescript.py
│ │ │ └── vision/
│ │ │ ├── __init__.py
│ │ │ └── vision.py
│ │ ├── core.py
│ │ ├── default_system_message.py
│ │ ├── llm/
│ │ │ ├── __init__.py
│ │ │ ├── llm.py
│ │ │ ├── run_function_calling_llm.py
│ │ │ ├── run_text_llm.py
│ │ │ ├── run_tool_calling_llm.py
│ │ │ └── utils/
│ │ │ ├── convert_to_openai_messages.py
│ │ │ ├── merge_deltas.py
│ │ │ └── parse_partial_json.py
│ │ ├── render_message.py
│ │ ├── respond.py
│ │ └── utils/
│ │ ├── __init__.py
│ │ ├── lazy_import.py
│ │ ├── scan_code.py
│ │ ├── system_debug_info.py
│ │ ├── telemetry.py
│ │ ├── temporary_file.py
│ │ └── truncate_output.py
│ └── terminal_interface/
│ ├── __init__.py
│ ├── components/
│ │ ├── base_block.py
│ │ ├── code_block.py
│ │ └── message_block.py
│ ├── contributing_conversations.py
│ ├── conversation_navigator.py
│ ├── local_setup.py
│ ├── magic_commands.py
│ ├── profiles/
│ │ ├── defaults/
│ │ │ ├── assistant.py
│ │ │ ├── aws-docs.py
│ │ │ ├── bedrock-anthropic.py
│ │ │ ├── cerebras.py
│ │ │ ├── codestral-few-shot.py
│ │ │ ├── codestral-os.py
│ │ │ ├── codestral-vision.py
│ │ │ ├── codestral.py
│ │ │ ├── default.yaml
│ │ │ ├── e2b.py
│ │ │ ├── fast.yaml
│ │ │ ├── gemma2.py
│ │ │ ├── groq.py
│ │ │ ├── llama3-os.py
│ │ │ ├── llama3-vision.py
│ │ │ ├── llama3.py
│ │ │ ├── llama31-database.py
│ │ │ ├── local-assistant.py
│ │ │ ├── local-os.py
│ │ │ ├── local.py
│ │ │ ├── obsidian.py
│ │ │ ├── os.py
│ │ │ ├── qwen.py
│ │ │ ├── screenpipe.py
│ │ │ ├── snowpark.yml
│ │ │ ├── template_profile.py
│ │ │ ├── the01.py
│ │ │ └── vision.yaml
│ │ ├── historical_profiles.py
│ │ └── profiles.py
│ ├── render_past_conversation.py
│ ├── start_terminal_interface.py
│ ├── terminal_interface.py
│ ├── utils/
│ │ ├── check_for_package.py
│ │ ├── check_for_update.py
│ │ ├── cli_input.py
│ │ ├── count_tokens.py
│ │ ├── display_markdown_message.py
│ │ ├── display_output.py
│ │ ├── export_to_markdown.py
│ │ ├── find_image_path.py
│ │ ├── get_conversations.py
│ │ ├── in_jupyter_notebook.py
│ │ ├── local_storage_path.py
│ │ └── oi_dir.py
│ └── validate_llm_settings.py
├── pyproject.toml
├── scripts/
│ └── wtf.py
└── tests/
├── config.test.yaml
├── core/
│ ├── computer/
│ │ ├── files/
│ │ │ └── test_files.py
│ │ └── test_computer.py
│ └── test_async_core.py
└── test_interpreter.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .devcontainer/DockerFile
================================================
FROM python:3.11
================================================
FILE: .devcontainer/devcontainer.json
================================================
{
"name": "Open Interpreter",
"dockerFile": "DockerFile",
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
"onCreateCommand": "pip install .",
"postAttachCommand": "interpreter -y"
// Configure tool-specific properties.
// "customizations": {},
}
================================================
FILE: .github/ISSUE_TEMPLATE/bug_report.yml
================================================
name: Bug report
description: Create a report to help us improve
labels:
- bug
body:
- type: markdown
attributes:
value: |
Your issue may have already been reported. Please check the following link for common issues and solutions.
[Commonly faced issues and their solutions](https://github.com/OpenInterpreter/open-interpreter/issues/164)
- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is.
validations:
required: true
- type: textarea
id: repro
attributes:
label: Reproduce
description: Steps to reproduce the behavior
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: expected
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true
- type: textarea
id: screenshots
attributes:
label: Screenshots
description: If applicable, add screenshots to help explain your problem.
- type: input
id: oiversion
attributes:
label: Open Interpreter version
description: Run `pip show open-interpreter`
placeholder: e.g. 0.1.1
validations:
required: true
- type: input
id: pythonversion
attributes:
label: Python version
description: Run `python -V`
placeholder: e.g. 3.11.5
validations:
required: true
- type: input
id: osversion
attributes:
label: Operating System name and version
description: The name and version of your OS.
placeholder: e.g. Windows 11 / macOS 13 / Ubuntu 22.10
validations:
required: true
- type: textarea
id: additional
attributes:
label: Additional context
description: Add any other context about the problem here.
================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: false
================================================
FILE: .github/ISSUE_TEMPLATE/feature_request.yml
================================================
name: Feature request
description: Suggest an idea for this project
labels:
- enhancement
body:
- type: textarea
id: problem
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is.
- type: textarea
id: description
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
- type: textarea
id: additional
attributes:
label: Additional context
description: Add any other context about the problem here.
================================================
FILE: .github/pull_request_template.md
================================================
### Describe the changes you have made:
### Reference any relevant issues (e.g. "Fixes #000"):
### Pre-Submission Checklist (optional but appreciated):
- [ ] I have included relevant documentation updates (stored in /docs)
- [ ] I have read `docs/CONTRIBUTING.md`
- [ ] I have read `docs/ROADMAP.md`
### OS Tests (optional but appreciated):
- [ ] Tested on Windows
- [ ] Tested on MacOS
- [ ] Tested on Linux
================================================
FILE: .github/workflows/potential-duplicates.yml
================================================
name: Potential Duplicates
on:
issues:
types: [opened, edited]
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: wow-actions/potential-duplicates@v1
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Issue title filter work with anymatch https://www.npmjs.com/package/anymatch.
# Any matched issue will stop detection immediately.
# You can specify multi filters in each line.
filter: ''
# Exclude keywords in title before detecting.
exclude: ''
# Label to set, when potential duplicates are detected.
label: potential-duplicate
# Get issues with state to compare. Supported state: 'all', 'closed', 'open'.
state: all
# If similarity is higher than this threshold([0,1]), issue will be marked as duplicate.
threshold: 0.6
# Reactions to be add to comment when potential duplicates are detected.
# Available reactions: "-1", "+1", "confused", "laugh", "heart", "hooray", "rocket", "eyes"
reactions: 'eyes, confused'
# Comment to post when potential duplicates are detected.
comment: >
Potential duplicates: {{#issues}}
- [#{{ number }}] {{ title }} ({{ accuracy }}%)
{{/issues}}
================================================
FILE: .github/workflows/python-package.yml
================================================
name: Build and Test
on:
push:
branches: ["main", "development"]
pull_request:
branches: ["main", "development"]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
python-version: ["3.10", "3.12"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install poetry
run: |
curl -sSL https://install.python-poetry.org | python3 -
- name: Install dependencies
run: |
# Ensure dependencies are installed without relying on a lock file.
poetry update
poetry install -E server
- name: Test with pytest
run: |
poetry run pytest -s -x -k test_
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
================================================
FILE: .gitignore
================================================
llama.log
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
!.vscode/*.code-snippets
# Local History for Visual Studio Code
.history/
# Built Visual Studio Code Extensions
*.vsix
# Ignore the .replit configuration file
.replit
# Ignore Nix directories
nix/
# Ignore the replit.nix configuration file
replit.nix
# Ignore misc directory
misc/
# Ignore litellm_uuid.txt
litellm_uuid.txt
# some more
.aider*
file.txt
numbers.txt
poetry.lock
================================================
FILE: .pre-commit-config.yaml
================================================
repos:
# Using this mirror lets us use mypyc-compiled black, which is 2x faster
- repo: https://github.com/psf/black-pre-commit-mirror
rev: 23.10.1
hooks:
- id: black
# It is recommended to specify the latest version of Python
# supported by your project here, or alternatively use
# pre-commit's default_language_version, see
# https://pre-commit.com/#top_level-default_language_version
language_version: python3.11
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
================================================
FILE: Dockerfile
================================================
###########################################################################################
# This Dockerfile runs an LMC-compatible websocket server at / on port 8000. #
# To learn more about LMC, visit https://docs.openinterpreter.com/protocols/lmc-messages. #
###########################################################################################
FROM python:3.11.8
# Set environment variables
# ENV OPENAI_API_KEY ...
ENV HOST 0.0.0.0
# ^ Sets the server host to 0.0.0.0, Required for the server to be accessible outside the container
# Copy required files into container
RUN mkdir -p interpreter scripts
COPY interpreter/ interpreter/
COPY scripts/ scripts/
COPY poetry.lock pyproject.toml README.md ./
# Expose port 8000
EXPOSE 8000
# Install server dependencies
RUN pip install ".[server]"
# Start the server
ENTRYPOINT ["interpreter", "--server"]
================================================
FILE: LICENSE
================================================
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc.
● Open Interpreter
Get early access to the desktop app | Documentation
Lassen Sie Sprachmodelle Code auf Ihrem Computer ausführen.
Eine Open-Source, lokal laufende Implementierung von OpenAIs Code-Interpreter.
Erhalten Sie frühen Zugang zur Desktop-Anwendung.
Obtenga acceso temprano a la aplicación de escritorio | Documentación
La Nueva Actualización del Computador presenta --os y una nueva API de Computadora. Lea más →
अपने कंप्यूटर पर कोड चलाने के लिए भाषा मॉडल को चलाएं।
ओपनएआई कोड इंटरप्रेटर का एक ओपन-सोर्स, स्थानीय चलने वाला अमल।
डेस्कटॉप एप्लिकेशन को पहले से ही उपयोग करने के लिए एरली एक्सेस प्राप्त करें।
自然言語で指示するだけでコードを書いて実行までしてくれる。
ローカルに実装したOpenAI Code Interpreterのオープンソース版。
デスクトップアプリへの早期アクセス | ドキュメント
Отримайте ранній доступ до десктопної програми | Документація
Нове комп'ютерне оновлення представило --os та новий Computer API. Читати далі →
chạy mô hình ngôn ngữ trí tuệ nhân tạo trên máy tính của bạn.
Mã nguồn mở và ứng dụng phát triển dựa trên code của OpenAI.
Quyền truy cập sớm dành cho máy tính cá nhân | Tài liệu đọc tham khảo
让语言模型在您的计算机上运行代码。
在本地实现的开源OpenAI的代码解释器。
登记以提前获取Open Interpreter(开放解释器)桌面应用程序 | 阅读新文档
**Open Interpreter** lets language models run code.
You can chat with Open Interpreter through a ChatGPT-like interface in your terminal by running `interpreter` after installing.
This provides a natural-language interface to your computer's general-purpose capabilities:
- Create and edit photos, videos, PDFs, etc.
- Control a Chrome browser to perform research
- Plot, clean, and analyze large datasets
- ...etc.
\n",
"\n",
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "8e4d22ad1dcc44ec882bb9c6663de431"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "ed7c54937ec94948915fbe589e04d312"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "1672ae981ae041ae8b26126e30f29882"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "iixIiFSsn4LZ"
},
"source": [
"Great! The model decided to run a **code block** then tell us its output."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "2VwbdspIofFC"
},
"source": [
"## Math"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "sf-CMTm2oizg"
},
"source": [
"For this example, we're going to open an interactive chat in our terminal with `interpreter.chat()`.\n",
"\n",
"💬 **The interactive chat behaves exactly like ChatGPT.** 💬"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "uytMTyy6qFMd"
},
"source": [
"Try this:\n",
"\n",
"1. Ask Open Interpreter to solve an equation like `10x + 14 = 12`\n",
"2. Watch it use a Python library called `sympy` to solve it.\n",
"3. Stop the cell to leave the interactive chat."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 336,
"referenced_widgets": [
"1326436b350b45ed82d6a1be8d9402ce",
"ef334d3eb6a043608312c67aa3c7e3b8",
"75a72b485eb0422a820209bef270a311",
"065b7774a5a34beebb77f7e6a1501617",
"50e4adc0bc80423e9549ba0ca3c1125d",
"9ad527758ac44f7ba5cf5501f0a2ccc1"
]
},
"id": "ZpwadxmIoiIR",
"outputId": "bea0ba64-593d-41dc-c805-bb3f047413ce"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Type 'exit' to leave the chat.\n",
"\n",
"> Can you solve this equation? 10x + 14 = 21 / 3\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1326436b350b45ed82d6a1be8d9402ce",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "75a72b485eb0422a820209bef270a311",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "50e4adc0bc80423e9549ba0ca3c1125d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"> exit\n"
]
}
],
"source": [
"interpreter.chat()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Y-TzGmZ2rVPd"
},
"source": [
"## Web Browsing"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "2QWXsSwarjav"
},
"source": [
"Let's ask Open Interpreter to browse the web.\n",
"\n",
"1. Start by opening an interactive chat again with `interpreter.chat()`.\n",
"2. Type a query like \"what are the last 10 BBC news headlines?\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000,
"referenced_widgets": [
"523049f89f904844ab674b9410ee61c4",
"73078cc9fc5741fcb130caa028914bf9",
"26d0efdbe3624615a7bf632af1e8c60b",
"cc23e29c55ac41fa9bfbb35230fb67e7",
"f45bcc741325488c834cb344c9b2b0fe",
"c97723ce541246e28c2ec4459cc3151f",
"0bb8a3df854e46129e51445df4f8192b",
"ff2383ba5a3943cf8ab4f0cedcb40c3f",
"8b67d19d967b4ec8a22e595c3aea1f79",
"4ecb19ab194440e7962991fe4c9332a7",
"5a9695b9f4f8410b8c3cc92819ad081c",
"cc1a30ae29f5499d8156470700faae6c"
]
},
"id": "2WlB4ArZlbOE",
"outputId": "e549febb-35f1-48e2-90ef-320beeec313a"
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Type 'exit' to leave the chat.\n",
"\n",
"> What are the last 10 BBC news headlines?\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "523049f89f904844ab674b9410ee61c4",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "26d0efdbe3624615a7bf632af1e8c60b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f45bcc741325488c834cb344c9b2b0fe",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0bb8a3df854e46129e51445df4f8192b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "8b67d19d967b4ec8a22e595c3aea1f79",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5a9695b9f4f8410b8c3cc92819ad081c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"> exit\n"
]
}
],
"source": [
"interpreter.chat()"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "Ace0nkv8s66H"
},
"source": [
"Here it likely ran two code blocks:\n",
"\n",
"1. The first code block installed `feedparser` from pip.\n",
"1. The second used `feedparser` to read the BBC's RSS feed.\n",
"\n",
"Notice that the first code block **was a shell command.** Open Interpreter uses Jupyter internally, so it can run shell commands *and* Python."
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "bLWX5tB0rzyW"
},
"source": [
"## Resetting the Chat"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "bZmlAKzjtWJZ"
},
"source": [
"In Python, the Open Interpreter instance remembers your conversation history.\n",
"\n",
"If you want it to forget previous messages, you can reset it:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "DQzDB8qetlYH"
},
"outputs": [],
"source": [
"interpreter.messages = []"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "6clx6Pyhtmzj"
},
"source": [
"Now it won't remember the previous examples.\n",
"\n",
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "dbb96798015249abbad237f9086ac8ff",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9080b44022b647908b0c8f8dabc51e5f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a7c6c1912ff3442e878fe2f19a7bab01",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "298d9dd581714eb68c5f8e179c92065c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Now we'll ask interpreter to redraw the video using Replicate.\n",
"\n",
"message = \"\"\"\n",
"\n",
"I want to edit a video so it's in 12 fps and each frame is redrawn with ControlNet\n",
"to give it a stop motion / hand-drawn animation feeling.\n",
"\n",
"Here's how you use ControlNet on a single frame, from Replicate's quick start:\n",
"\n",
"import replicate\n",
"output = replicate.run(\n",
" \"jagilley/controlnet-canny:aff48af9c68d162388d230a2ab003f68d2638d88307bdaf1c2f1ac95079c9613\",\n",
" input={\"image\": open(\"path/to/file\", \"rb\"), \"prompt\": \"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0f4453a4442c4304b22d673c9b1a72ab",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "85a2c311f8cd4fd484dd5a95079d9dcb",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "affa3daf1b964d0995f83ab890e1e214",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "42895ff661844f4b8e03699a3ac93267",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d045b96ac66249c6af3b39562216c469",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "00ba9165fc8c406e9ac0fffa01cac05d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "faa25b85f22545f09f98b5d43cbd21b1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"interpreter.messages = [] # Reset the chat\n",
"interpreter.chat(\"\"\"Can you make a folder called documents and put five .docx files in it\n",
"and write a sentence about machine learning in each of them?\"\"\") # Pass a message directly into chat"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "cM7Yf5pHgeDW"
},
"source": [
"## Edit all documents in a folder"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000,
"referenced_widgets": [
"e6247bda53784a498401796d47b5cd3c",
"40af2b00dea44c7a93604188fa913f49",
"49254282d5644edeb2f217b59b9bf28b",
"b3e874cde5924727b3c2cdb93de1e68a",
"ed07889e87744f3aa90e1a211b5b81ff",
"673dce80b4b54a7384a460b0075759fb",
"7244e69be33b441cb435377b5abee7af",
"c0a1d45a04b7406683954288d08915b1",
"e6e713a9e71d495baa5a435abcb27ee1",
"d849c6a21c8b41a8bbb0abc8a95997c5",
"7bc0945fc38c4f7c958bdafed2823093",
"dcfeecca01c345f58eebb9b6209cb5ad",
"1c0545391e074baf8a5fe4f7b892fdd1",
"57f2e054ead24f71a958cae8de41c2b7",
"bc0abb5adb504f1395bbff2e8a5404ef",
"18a380ea6a594f64b8381b1cd1bb2594",
"32f692de87e245e8be0d3d0ec83a2689",
"9201ae6c615b46ec8c97b198f56c38ed"
]
},
"id": "o1NJy2Y9RRqM",
"outputId": "6a012dd6-e97d-4fe2-8f8c-4e373fe82e64"
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e6247bda53784a498401796d47b5cd3c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "49254282d5644edeb2f217b59b9bf28b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ed07889e87744f3aa90e1a211b5b81ff",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7244e69be33b441cb435377b5abee7af",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e6e713a9e71d495baa5a435abcb27ee1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7bc0945fc38c4f7c958bdafed2823093",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1c0545391e074baf8a5fe4f7b892fdd1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "bc0abb5adb504f1395bbff2e8a5404ef",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "32f692de87e245e8be0d3d0ec83a2689",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"interpreter.messages = []\n",
"interpreter.chat(\"\"\"Go through all the .docx files in my 'documents' folder\n",
"and replace every occurrence of 'Machine Learning' with 'AI'.\"\"\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 397,
"referenced_widgets": [
"ed507d688c4747158749a94ce44b26b9",
"8e94b43d08f848159b7c621693e26878",
"575438c672314d12b722af00426a8971",
"2e56b90a86e94cb5b51cf56b86837410",
"b5508ace4d4844b68a2fc0f23e320db9",
"2acee6da53c748b194bd4445bdba02a4"
]
},
"id": "JLgWXbb_ShkE",
"outputId": "f0eedc07-894d-4fe6-a92d-516065141270"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ed507d688c4747158749a94ce44b26b9",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "575438c672314d12b722af00426a8971",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b5508ace4d4844b68a2fc0f23e320db9",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# If you don't run interpreter.messages = [], it will remember your conversation.\n",
"interpreter.chat(\"I wanted to replace the files, so please delete the old ones and rename the new ones\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "YlDX4rl8x1EF"
},
"source": [
"## Slow + Reverb a YouTube Link"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000,
"referenced_widgets": [
"5b414a1b78f44530a2e4d127641b88d7",
"1c0e5743735d4490a8f6a010c77aeb40",
"b94baeecf44949ee9e76b2c080f0b3db",
"3164bb1a7475448e9f5bcaaadd74c63d",
"f86e25f5432b4589b9045ba52ebed7ae",
"99b83169a2c5408dbfa7b835db2d7171",
"4192c99e48fa40eeba50ac981cfd500b",
"0ef2a15fe9594494b7957e9dab6166b0",
"45e937a0dcaf405b8865cceb68551be4",
"6731e56abeba4af69d33942800665902",
"d0aafd6be71f4f548e2ef6df1fb0dde1",
"b21732a379674ae7860fca91e4741739",
"b460785b83194ce8a69121c358c2a5a8",
"c7e4f15aa81a48d9a390beb2ebb24cd3",
"cf53e6745eb14d44a6ce84d8f1efb3e9",
"9d35e8077b634453a9da6c9bdf55c104",
"c31a702d90604293b9494824157c5493",
"77e0222fd2c54dbca7932d57e517601a",
"2dc18ff0d5a64d04a13c602ed889b486",
"b3a3183812fa46d7af4dcade094153d1",
"1b5741879e894f93b66e7f0572892db9",
"fb34c40c88f7423a891c85730730d011",
"82e71737f0d941d1a57fb9882c1a303f",
"61c835b06ac043c0a06cecf241d7fa48",
"aa6c553f705d413fb4908e0d97aa017d",
"8df28d357a604e64b6d7353891fbdaa3",
"e0ca1b4596b44f4285dcd52000aa62c0",
"1356d617a0c74b9fb9dc4f94d78f62aa",
"4f016d1a2474432eb5a601735e6437e2",
"98c4cba0cfb043b7a75b9a80e7661e46",
"267f3fe5e392407d88b0be2f178ba149",
"6f7b2b5688184ea5aa32b7eba22546e6",
"f036842ca1f14c80943388ea7eba105c",
"e38fcb7d81394b1c8c1356f9d272511e",
"a59185faa5bb4ef3ba9810b94096d85e",
"2e658de9a31945bb8221cee533efdc15",
"caec7c9c20f848d0b94b4dd0db73892c",
"0d24fe34dd454245ab16fd84734a063d",
"f491c55d72df4b589454a8861197376b",
"3bba172d1af2465181679c8b336704a7",
"8497cd04499f48eb9a305e6c3db8b38d",
"e64b5e68e0e84553a9e303ba55d389d0",
"163a7b62b46f463b991bba3140df45f4",
"2ced3555ea7a4e358c5ee24ad61affb5",
"77d06811ac04459ba507adec1b053905",
"f25805a2402f4a7ba505fb75554bdbed",
"bfffa91fc96f4f5b9ca25b29025938c6",
"d007873a1ec540b9b73cba17251362b0",
"5635e4c8e7734b3b95693f789c9239ba",
"f944a4b42ef14ae889efef3f5369e173",
"feb8283edfbb49b989a8d29c98701bf0",
"0e33aaf3c5dd44dda84ebc379dd78417"
]
},
"id": "Tun9x2jzx33d",
"outputId": "dbe7e631-14c9-4ccb-8dbc-c47da8f361a4"
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5b414a1b78f44530a2e4d127641b88d7",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b94baeecf44949ee9e76b2c080f0b3db",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f86e25f5432b4589b9045ba52ebed7ae",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4192c99e48fa40eeba50ac981cfd500b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "45e937a0dcaf405b8865cceb68551be4",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d0aafd6be71f4f548e2ef6df1fb0dde1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b460785b83194ce8a69121c358c2a5a8",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "cf53e6745eb14d44a6ce84d8f1efb3e9",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "c31a702d90604293b9494824157c5493",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2dc18ff0d5a64d04a13c602ed889b486",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1b5741879e894f93b66e7f0572892db9",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "82e71737f0d941d1a57fb9882c1a303f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "aa6c553f705d413fb4908e0d97aa017d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e0ca1b4596b44f4285dcd52000aa62c0",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4f016d1a2474432eb5a601735e6437e2",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "267f3fe5e392407d88b0be2f178ba149",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f036842ca1f14c80943388ea7eba105c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a59185faa5bb4ef3ba9810b94096d85e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "caec7c9c20f848d0b94b4dd0db73892c",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f491c55d72df4b589454a8861197376b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "8497cd04499f48eb9a305e6c3db8b38d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "163a7b62b46f463b991bba3140df45f4",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "77d06811ac04459ba507adec1b053905",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "bfffa91fc96f4f5b9ca25b29025938c6",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "5635e4c8e7734b3b95693f789c9239ba",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "feb8283edfbb49b989a8d29c98701bf0",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: api.openai.com. Connection pool size: 10\n"
]
}
],
"source": [
"message = \"Can you slow + reverb this song? https://www.youtube.com/watch?v=8GW6sLrK40k\"\n",
"\n",
"interpreter.messages = []\n",
"interpreter.chat(message)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 75
},
"id": "3_uywJFkISTi",
"outputId": "14fdb933-bcea-4b34-cb63-e05ebbe895a6"
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
" "
],
"text/plain": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b1ed6a8960964d01937082e84b55cf3a",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e96fdcfcde144e78b7977830628e77f9",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"message = \"\"\"\n",
"\n",
"Hello! I'd like your help making some artwork for the Open Interpreter project.\n",
"\n",
"It's going to be pixel art, ~160 wide and 14 pixels tall. Black background.\n",
"\n",
"I'd like to see rectangles on every other row. These should be anywhere from\n",
"~6 to 36 pixels in width. They should be placed randomly around the image, never touching eachother\n",
"(the space between them should be ~16-64 pixels). They can go off screen / butt up against the edges.\n",
"\n",
"Half of these rectangles should be white, half should be a powerful purple color: R138 G43 B226\n",
"\n",
"Once you've created it, please scale it up with nearest-neighbor 10x.\n",
"\n",
"Please make ~10 options I can review, like banner_1.png, banner_2.png, etc.\n",
"\n",
"\"\"\"\n",
"\n",
"interpreter.messages = []\n",
"interpreter.chat(message)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "OTTkCcIshgmB"
},
"source": [
"## Add subtitles to videos"
]
},
{
"cell_type": "markdown",
"source": [
"`replicate` also has a speech-to-text service that generates subtitle files (.srt).\n",
"\n",
"Let's ask Open Interpreter to use some code [copied from replicate's quickstart](https://replicate.com/m1guelpf/whisper-subtitles/api) to add hardcoded subtitles to a video:"
],
"metadata": {
"id": "NKA7CWtSfrUf"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000,
"referenced_widgets": [
"56f46ba6d7254804843b932c97007f85",
"2b36d066449447c1817a4a5f945aada3",
"44646c403c814456a6a4665c3236a79d",
"5bb4cd46aed946578d102122a0944a71",
"c72c1bac807b40d297fdba74958df4de",
"fe21edae84cc4778a3ddc2fcaedfbc3d",
"6aae7d9824224170be7f43c8c423c488",
"1c79566727f944fcbe35f3d793f110e3",
"155ee92669cc4e1180a1568bfffb8720",
"7da8ca4865a647d6ac46a64af17fd02d",
"8b00506f94854fcc971d08b1577a531a",
"6d14d7db445b4f829275aea79bd0dbd1",
"2882213b1cce4520b8e0ee44be5f1924",
"1038b781d07d4e8e8df69bff5b2df9ad",
"d77d9d8269874d54b6762f634e916206",
"9d1e55aa8c544a3aa780fa2230b82c21",
"c89ae989cd4549e58606b7d2cd95ece4",
"aae61f21148843148e082f1349b130ae"
]
},
"id": "BTB3zD5QnJd8",
"outputId": "e14e476c-4128-4dc8-eb2b-3b0a24093aad"
},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "56f46ba6d7254804843b932c97007f85",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "44646c403c814456a6a4665c3236a79d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "c72c1bac807b40d297fdba74958df4de",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6aae7d9824224170be7f43c8c423c488",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "155ee92669cc4e1180a1568bfffb8720",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "8b00506f94854fcc971d08b1577a531a",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2882213b1cce4520b8e0ee44be5f1924",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d77d9d8269874d54b6762f634e916206",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "c89ae989cd4549e58606b7d2cd95ece4",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"message = \"\"\"\n",
"Hello! I just logged into Replicate on this machine. You have my permission to run any code.\n",
"\n",
"Could you use their speech-to-text service to hardcode subtitles to the bottom of billyking.mp4 and make billy_subbed.mp4?\n",
"\"\"\"\n",
"\n",
"# Again, let's give Open Interpreter an example of how to use the service.\n",
"message += \"\"\"\n",
"Here's some code that Replicate provides for how to use their service:\n",
"\n",
"import replicate\n",
"output = replicate.run(\n",
" \"m1guelpf/whisper-subtitles:7f686e243a96c7f6f0f481bcef24d688a1369ed3983cea348d1f43b879615766\",\n",
" input={\"audio_path\": open(\"path/to/file\", \"rb\")} # Can also be a video path\n",
")\n",
"print(output)\n",
"\n",
"\"\"\"\n",
"\n",
"# Now let's reset and run Open Interpreter.\n",
"interpreter.messages = []\n",
"interpreter.chat(message)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "t9v9bo4x2Z3f"
},
"source": [
"You can [watch the output video here.](https://youtube.com/shorts/F6gOzP691po?feature=share)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "KrgUKfZDLTEa"
},
"source": [
"## YouTube video -> TikTok Clip"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 1000,
"referenced_widgets": [
"dfd7d092f15c4b33b4d9b4c299a56577",
"46f16ac02db04d13bdf9461b2e268ad3",
"894485c6aa7a4560b1625b0667c4b0ad",
"c2678de51ec648b78d4965a3b898ffef",
"1ba7ab9f477040ccb236598ef1085084",
"58c456a67739434b87b368aefc561eff",
"ba8772dae7fd44e4937b74a810235984",
"4ea12542e3134a719e8ca95bf443d710",
"7e39eac50d9b4e6e83818eccc7003bab",
"c1d7c09472ef40fa94bc348a0ce07711",
"70e01c3e03814cf2891e77d0f27f5e0a",
"5401202e0cbc4b7d93601ffceee34823",
"acfb473b29e44673a1fff74002d1a9fb",
"c04640e4839d455b9faf31eb0f6cc24a",
"e34e60e6f4a748fb856638e13dcea9ee",
"ea5366ee0804463b8ef07de383494750",
"e6b9ad18bbf94231be36619c23829365",
"1379bc8127c34125a9edcaa6ff80cb29",
"633eb737a8a540618283944da6587395",
"0422283e06104822a0b17e36537887ba",
"9c4a0269b2f545fd91690a0e05916486",
"54ba24de07fd495da0709275580522c4",
"5c29036bf1394564ac06e60a277c2f4b",
"13288eb48c78450bb9c29905f1cfe5cc",
"0a2bad1e724c412d9400b8ec3757d5fe",
"71be2ada61ca4eeca6c9c3169bf5a981",
"05159ee8a8ce4d1f842636561b767c1e",
"d41a011efd5148b998b27e7ecb43d6d6",
"f89766aa83954606822ac810550089a4",
"c092298defd44aea990d9b4e7368fb39",
"f9f0fbe9b4e8458daff8f0b208afe06d",
"4a0fea39019242139a82c33d7513ccb7",
"e94d50d8f12d4e97a9e4a147e1717a44",
"903ff249dcad4e2bbb19f036ee19d2cb",
"f4a860ee64cd4d1dbddcf49bccafb1d2",
"2484cf82892e4459972b079943d9fe4d",
"7f88ac26e8cb4dce8d372d38501bdec2",
"646e8aa419f3420cbc453d285634a114",
"2d1cd08ae5be4df8bef9f9ebc9347349",
"a954618bf6d344c285f74578e496dc0c",
"a5da8f42711545d09911118485e8e83e",
"303c046d8d1e44c8b20e21678d26ee71",
"71346df88e4c4123b952c6606eb2acf0",
"cf0ee63e4bab46acacb822a12586db47",
"5a1dc9c1a1d642a1a9ea4e60c18ce53d",
"fd6e706a8ee04707a3423071a6415341",
"eae96616b13a46bfae7a02eb59259c74",
"37efe298ef1d499993852f8dfba85757",
"613b2d7898184c9f91302f0137a1bf0a",
"a96323047b04490aa28cb68056a3242d",
"ca48e8fcc96b4e0d985c7a3096aa04bb",
"8775c6e74caa4e2e85935960e6d9bf1a",
"8b359f3ad34840ebbf9e40348d7fcc44",
"1d5dd9f4d7cd41ab98e463f7fe8dc5d3",
"e8c4baed02d34a21a3e7de3a69b3a158",
"9ec4005929104fd9aa041b7460b5298f",
"f0115b2d6740493484333cccfcbcf41c",
"a60d203e2b3b466da2f420c1396b90b2",
"26fea9a4ea31438c8bbe14445910c8e5",
"6887887f49b14c249cb892a9c936070b",
"806ab28204a440b58ba5fde861e13d48",
"a68ae6eec13d47d182388c12e8874457",
"77f449758de3412abd0d78d059d43ef1",
"edf044df54ef451781627f91bac2a9c3",
"e468488a3ec14569adfd1bcdaefd9a35",
"cf2aaac773e442b0bc8fbbc152dd0b23",
"b4827858c2fe4cc28f9fc38fef5040c3",
"86328979d39d4e689f787d27e0989adc",
"b6a181f821044dcc875efcbc2fed3747",
"c9e6274288f640af92d3224b0393390a",
"2cf83094efd74450a44684621cec09ba",
"9c56ce6494ae4d13a9c652e93d08d34f",
"5b13f6f7553f4ef69b4deb45734b3906",
"62b5f3bf807f4e17a0fee6e73b19b50f",
"4d37ead524de46239d479f3d5660af3f",
"fd62af45f4c74a9a93a93ed62415f62f",
"5ca82a2033fb4b0c93ba168d64f6ef9e",
"6c4cadeb9ad74ad5984cb26042f1b36a"
]
},
"id": "RxbP1THRwCcp",
"outputId": "a4ded3e7-0bfd-472d-befb-0e0841df38a8"
},
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "dfd7d092f15c4b33b4d9b4c299a56577"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "894485c6aa7a4560b1625b0667c4b0ad"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "1ba7ab9f477040ccb236598ef1085084"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "ba8772dae7fd44e4937b74a810235984"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "7e39eac50d9b4e6e83818eccc7003bab"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "70e01c3e03814cf2891e77d0f27f5e0a"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "acfb473b29e44673a1fff74002d1a9fb"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "e34e60e6f4a748fb856638e13dcea9ee"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "e6b9ad18bbf94231be36619c23829365"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "633eb737a8a540618283944da6587395"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "9c4a0269b2f545fd91690a0e05916486"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "5c29036bf1394564ac06e60a277c2f4b"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "0a2bad1e724c412d9400b8ec3757d5fe"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "05159ee8a8ce4d1f842636561b767c1e"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "f89766aa83954606822ac810550089a4"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "f9f0fbe9b4e8458daff8f0b208afe06d"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "e94d50d8f12d4e97a9e4a147e1717a44"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "f4a860ee64cd4d1dbddcf49bccafb1d2"
}
},
"metadata": {}
},
{
"output_type": "stream",
"name": "stderr",
"text": [
"WARNING:py.warnings:/usr/local/lib/python3.10/dist-packages/moviepy/video/io/ffmpeg_reader.py:123: UserWarning: Warning: in file clip.mkv, 2764800 bytes wanted but 0 bytes read,at frame 819/820, at time 27.33/27.33 sec. Using the last valid frame instead.\n",
" warnings.warn(\"Warning: in file %s, \"%(self.filename)+\n",
"\n"
]
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "7f88ac26e8cb4dce8d372d38501bdec2"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "2d1cd08ae5be4df8bef9f9ebc9347349"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "a5da8f42711545d09911118485e8e83e"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "71346df88e4c4123b952c6606eb2acf0"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "5a1dc9c1a1d642a1a9ea4e60c18ce53d"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "eae96616b13a46bfae7a02eb59259c74"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n",
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "613b2d7898184c9f91302f0137a1bf0a"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "ca48e8fcc96b4e0d985c7a3096aa04bb"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "8b359f3ad34840ebbf9e40348d7fcc44"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "e8c4baed02d34a21a3e7de3a69b3a158"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "f0115b2d6740493484333cccfcbcf41c"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n",
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "26fea9a4ea31438c8bbe14445910c8e5"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "806ab28204a440b58ba5fde861e13d48"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n",
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "77f449758de3412abd0d78d059d43ef1"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "e468488a3ec14569adfd1bcdaefd9a35"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n",
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "b4827858c2fe4cc28f9fc38fef5040c3"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "b6a181f821044dcc875efcbc2fed3747"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "2cf83094efd74450a44684621cec09ba"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "5b13f6f7553f4ef69b4deb45734b3906"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "4d37ead524de46239d479f3d5660af3f"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "5ca82a2033fb4b0c93ba168d64f6ef9e"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
}
],
"source": [
"message = \"\"\"\n",
"\n",
"I'd like your help in making a TikTok clip of this: https://www.youtube.com/watch?v=KgHkAwaW_lk\n",
"\n",
"Please cut the clip from this -- from 0:15 to 0:38 -- and crop it to portrait (exactly 9:16-- this will be tricky)\n",
"around the face in the frame. Just follow the face horizontally -- the final video should be as tall as the original.\n",
"\n",
"You'll need to smoothly/softly follow the one face in the frame so please smoothly average out the motion\n",
"between confident face detections. Then put the audio back in. Thanks!\n",
"\n",
"\"\"\"\n",
"\n",
"interpreter.messages = []\n",
"interpreter.chat(message)"
]
},
{
"cell_type": "markdown",
"source": [
"Nice! It's saved as `cropped_clip_with_audio.mkv`.\n",
"\n",
"One problem -- if we want to send it to our phone and upload it to TikTok or YT Shorts, we'll need it to be an `.mp4` file.\n",
"\n",
"So, let's just ask for that:"
],
"metadata": {
"id": "uOyXpFqf3_oJ"
}
},
{
"cell_type": "code",
"source": [
"# The interpreter remembers our conversation unless we explicitly .reset() it.\n",
"interpreter.chat(\"Looks great! Can you convert it to an mp4?\")"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 562,
"referenced_widgets": [
"647b95ec7a5b40979432289c033ccd79",
"85e5e774473d4d629a91899373d2602b",
"82db7edca0184c31a689eb8ad4785611",
"5988deb63066470bb3225344289929e9",
"4bb6ea2b3ce6407cb1b85c32ad828415",
"09287fc3783049898cdb624d0cc4bf81"
]
},
"id": "84C89ntP4lxm",
"outputId": "ec6ffbf0-9f29-4c0a-dfaf-b8d3b7e27b08"
},
"execution_count": null,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"\n",
"\n"
],
"text/html": [
"\n",
"\n",
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "647b95ec7a5b40979432289c033ccd79"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "82db7edca0184c31a689eb8ad4785611"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"Output()"
],
"application/vnd.jupyter.widget-view+json": {
"version_major": 2,
"version_minor": 0,
"model_id": "4bb6ea2b3ce6407cb1b85c32ad828415"
}
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": [],
"text/html": [
"\n"
]
},
"metadata": {}
}
]
},
{
"cell_type": "markdown",
"source": [
"Amazing. Now we can display the final result in Google Colab, too:"
],
"metadata": {
"id": "1U_yIkHt4yrH"
}
},
{
"cell_type": "code",
"source": [
"# Final output:"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 732
},
"id": "13UWfW1K3nl4",
"outputId": "6c84fa20-f3f3-4056-bfea-88aad4195163"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ef7637cf473b48a59806e2a66042cba1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "961f446973c6459cadc262fca5193d9d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "eb83234ed4724410aec6bde226f104a1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "886daf8914584873b21fb95604cfa84f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n"
],
"text/plain": [
"\n",
"\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "38bd644aee574f47b65793c655bcc9c9",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1ab1dc792ecf498fb44978beb9fad234",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2ce496485d074f51a900bcf1435f6080",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1f97758eecde4cc7beb4439fdda4e8ea",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ad1cdb2076be4851b5d3a9af551e2e1e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "48b7cb834ffe4597b7589228a8b7d11d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n"
],
"text/plain": []
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"message = \"\"\"\n",
"Hi, I want to make a video that's comprised of 12 frames. The 12 frames should be of the image\n",
"victoria.png run through controlnet with different materials as prompts.\n",
"\n",
"I'm logged into replicate on this machine. Here's how to use replicate's controlnet:\n",
"\n",
"output = replicate.run(\n",
" \"jagilley/controlnet-canny:aff48af9c68d162388d230a2ab003f68d2638d88307bdaf1c2f1ac95079c9613\",\n",
" input={\"image\": open(\"path/to/file\", \"rb\"), \"prompt\": \"metal\"}\n",
")\n",
"print(output)\n",
"\n",
"Can you run victoria.png through this 12 times with different materials each time like \"metal\", \"embroidery\", and \"crayon\"?\n",
"Then stitch together the 12 pictures into a 1 second video clip. Thank you!\n",
"\"\"\"\n",
"\n",
"interpreter.messages = []\n",
"interpreter.chat(message)"
]
},
{
"cell_type": "code",
"source": [
"# Watch the final output:"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 321
},
"id": "QIBeCFA25E_h",
"outputId": "6dae1485-b6b7-4653-aea1-54185fad37d2"
},
"execution_count": null,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"\n from docx import Document \n \n # Creating 5 documents with sentences about Machine Learning. \n doc_texts = [ \n 'Machine learning is a method of data analysis that automates analytical model building.', \n 'It is a branch of artificial intelligence based on the idea that systems can learn from data.', \n 'Machine learning is an application of artificial intelligence (AI) that provides systems the ability to au \n 'Machine learning focuses on the development of computer programs that can access data and use it learn for \n 'The process of learning begins with observations or data, such as examples, direct experience, or instruct \n ] \n \n def create_doc(path, text): \n doc = Document() \n doc.add_paragraph(text) \n doc.save(path) \n \n # Creating and saving the documents. \n for i in range(5): \n create_doc(f'documents/doc{i+1}.docx', doc_texts[i]) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdocx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mDocument\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Creating 5 documents with sentences about Machine Learning.\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdoc_texts\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mMachine learning is a method of data analysis that automates analytical model building.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mIt is a branch of artificial intelligence based on the idea that systems can learn from data.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mMachine learning is an application of artificial intelligence (AI) that provides systems the ability to au\u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mMachine learning focuses on the development of computer programs that can access data and use it learn for\u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mThe process of learning begins with observations or data, such as examples, direct experience, or instruct\u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mcreate_doc\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpath\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtext\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdoc\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mDocument\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdoc\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34madd_paragraph\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtext\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdoc\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msave\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpath\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Creating and saving the documents.\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrange\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcreate_doc\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mdocuments/doc\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.docx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdoc_texts\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "065b7774a5a34beebb77f7e6a1501617": { "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 } }, "0b001f96904d4c91bf26ad72420e9cca": { "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 } }, "0bb8a3df854e46129e51445df4f8192b": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_ff2383ba5a3943cf8ab4f0cedcb40c3f", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import feedparser \n \n feed = feedparser.parse('http://feeds.bbci.co.uk/news/rss.xml') \n [entry.title for entry in feed.entries[:10]] \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfeedparser\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfeed\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfeedparser\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mparse\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mhttp://feeds.bbci.co.uk/news/rss.xml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mentry\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtitle\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mentry\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfeed\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mentries\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m10\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "0cbcc3ce78ac4df28d0326e591a2418e": { "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 } }, "0cd08b7a5f5a4d8c9cd61e5df2a43dc3": { "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 } }, "0d24fe34dd454245ab16fd84734a063d": { "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 } }, "0e33aaf3c5dd44dda84ebc379dd78417": { "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 } }, "0ef2a15fe9594494b7957e9dab6166b0": { "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 } }, "0f4453a4442c4304b22d673c9b1a72ab": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_4ed501ea235a4e77a2d7f4e9ef49eb23", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import os \n os.mkdir('documents') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmkdir\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mdocuments\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "0fc2ff891df145cd802b1b0f1c369adb": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_a6ddbeb9b5ef4ea58858eabac8fde3c6", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n This is a multi-step task. Here's the plan: \n \n 1 Install necessary packages: yt-dlp for downloading the YouTube video, moviepy for video editing, and \n replicate for using ControlNet. \n 2 Download the video from YouTube. \n 3 Extract the audio from the video to add it back later. \n 4 Cut the video to the specified time frame (0:10 to 0:17). \n 5 Reduce the video to 12 frames per second. \n 6 For each frame in the video, use ControlNet to redraw it with a random prompt that evokes a stop motion / \n hand-drawn animation. \n 7 Combine the redrawn frames into a new video. \n 8 Add the original audio back to the new video. \n \n Let's start with the first step, which is installing the necessary packages. \n \n\n", "text/plain": " \n This is a multi-step task. Here's the plan: \n \n \u001b[1;33m 1 \u001b[0mInstall necessary packages: \u001b[1;36;40myt-dlp\u001b[0m for downloading the YouTube video, \u001b[1;36;40mmoviepy\u001b[0m for video editing, and \n \u001b[1;33m \u001b[0m\u001b[1;36;40mreplicate\u001b[0m for using ControlNet. \n \u001b[1;33m 2 \u001b[0mDownload the video from YouTube. \n \u001b[1;33m 3 \u001b[0mExtract the audio from the video to add it back later. \n \u001b[1;33m 4 \u001b[0mCut the video to the specified time frame (0:10 to 0:17). \n \u001b[1;33m 5 \u001b[0mReduce the video to 12 frames per second. \n \u001b[1;33m 6 \u001b[0mFor each frame in the video, use ControlNet to redraw it with a random prompt that evokes a stop motion / \n \u001b[1;33m \u001b[0mhand-drawn animation. \n \u001b[1;33m 7 \u001b[0mCombine the redrawn frames into a new video. \n \u001b[1;33m 8 \u001b[0mAdd the original audio back to the new video. \n \n Let's start with the first step, which is installing the necessary packages. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "1038b781d07d4e8e8df69bff5b2df9ad": { "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 } }, "1276e768ba0143ac98e1a1369dedd755": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_0cd08b7a5f5a4d8c9cd61e5df2a43dc3", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import replicate \n \n material_prompts = ['metal', 'embroidery', 'crayon'] \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplicate\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmaterial_prompts\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mmetal\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34membroidery\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mcrayon\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "1326436b350b45ed82d6a1be8d9402ce": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_ef334d3eb6a043608312c67aa3c7e3b8", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import sympy as sp \n \n x = sp.symbols('x') \n equation = 10*x + 14 - 21/3 \n solution = sp.solve(equation, x) \n solution \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msympy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msp\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msymbols\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mequation\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m10\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m14\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m21\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m3\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msolution\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msolve\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mequation\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msolution\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "1356d617a0c74b9fb9dc4f94d78f62aa": { "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 } }, "151cf723f20d41c392149082e4b987c6": { "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 } }, "155ee92669cc4e1180a1568bfffb8720": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_7da8ca4865a647d6ac46a64af17fd02d", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n {'language': 'english', 'subtitles': \"WEBVTT\\n00:00.000 --> 00:02.000\\n Well I'm a stoner man\\n00:04.000 --> \n 00:07.000\\n That's right I took in man\\n00:08.560 --> 00:10.560\\n Put a joint in my hand\\n00:12.240 --> \n 00:14.240\\n And lose control\\n00:16.840 --> 00:18.840\\n Well, I'm a lunatic man\\n00:21.440 --> 00:23.440\\n I \n got right crazy man\\n00:25.560 --> 00:28.720\\n Then take you long if you're out\\n00:28.720 --> 00:30.720\\n I'm \n out of game trouble\\n00:35.720 --> 00:37.720\\n I could\\n00:37.720 --> 00:39.720\\n No\\n00:39.720 --> 00:41.720\\n \n Oh\\n00:41.720 --> 00:43.720\\n No\\n\", 'text': \" Well I'm a stoner man That's right I took in man Put a joint in \n my hand And lose control Well, I'm a lunatic man I got right crazy man Then take you long if you're out I'm out \n of game trouble I could No Oh No\"} \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m{'language': 'english', 'subtitles': \"WEBVTT\\n00:00.000 --> 00:02.000\\n Well I'm a stoner man\\n00:04.000 --> \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m00:07.000\\n That's right I took in man\\n00:08.560 --> 00:10.560\\n Put a joint in my hand\\n00:12.240 --> \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m00:14.240\\n And lose control\\n00:16.840 --> 00:18.840\\n Well, I'm a lunatic man\\n00:21.440 --> 00:23.440\\n I \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mgot right crazy man\\n00:25.560 --> 00:28.720\\n Then take you long if you're out\\n00:28.720 --> 00:30.720\\n I'm \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mout of game trouble\\n00:35.720 --> 00:37.720\\n I could\\n00:37.720 --> 00:39.720\\n No\\n00:39.720 --> 00:41.720\\n\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOh\\n00:41.720 --> 00:43.720\\n No\\n\", 'text': \" Well I'm a stoner man That's right I took in man Put a joint in \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mmy hand And lose control Well, I'm a lunatic man I got right crazy man Then take you long if you're out I'm out\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mof game trouble I could No Oh No\"}\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "163a7b62b46f463b991bba3140df45f4": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2ced3555ea7a4e358c5ee24ad61affb5", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install pydub \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpydub\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "18a380ea6a594f64b8381b1cd1bb2594": { "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 } }, "1ab1dc792ecf498fb44978beb9fad234": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_6bd4412598a24f4b82c9fd8918a3e0ae", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Traceback (most recent call last): \n Cell In[45], line 3 \n print(clip.write_videofile('video.mp4', codec='mpeg4')) \n File <decorator-gen-73>:2 in write_videofile \n File /usr/local/lib/python3.10/dist-packages/moviepy/decorators.py:54 in requires_duration \n return f(clip, *a, **k) \n File <decorator-gen-72>:2 in write_videofile \n File /usr/local/lib/python3.10/dist-packages/moviepy/decorators.py:130 in use_clip_fps_by_default \n new_a = [fun(arg) if (name=='fps') else arg \n File /usr/local/lib/python3.10/dist-packages/moviepy/decorators.py:130 in <listcomp> \n new_a = [fun(arg) if (name=='fps') else arg \n File /usr/local/lib/python3.10/dist-packages/moviepy/decorators.py:117 in fun \n raise AttributeError(\"No 'fps' (frames per second) attribute specified\" \n AttributeError: No 'fps' (frames per second) attribute specified for function write_videofile and the clip has \n no 'fps' attribute. Either provide e.g. fps=24 in the arguments of the function, or define the clip's fps with \n `clip.fps=24` \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[45], line 3\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m print(clip.write_videofile('video.mp4', codec='mpeg4'))\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File
\n import pedalboard \n print(dir(pedalboard)) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpedalboard\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdir\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "1c0545391e074baf8a5fe4f7b892fdd1": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_57f2e054ead24f71a958cae8de41c2b7", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n from docx import Document \n \n # Open and read each document, replacing 'Machine Learning' with 'AI' \n for filename in files: \n print(f'Processing {filename}') \n \n # Open the document \n doc = Document(os.path.join('documents', filename)) \n \n # Loop through each paragraph in the document \n for paragraph in doc.paragraphs: \n # Replace all occurrences of 'Machine Learning' (any case) with 'AI' \n paragraph.text = paragraph.text.replace('Machine Learning', 'AI').replace('machine learning', 'AI').rep \n \n # Save the modified document to a new file \n doc.save(os.path.join('documents', f'new_{filename}')) \n print(f'Finished processing {filename}') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdocx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mDocument\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Open and read each document, replacing 'Machine Learning' with 'AI'\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfiles\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mProcessing \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Open the document\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdoc\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mDocument\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpath\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mjoin\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mdocuments\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Loop through each paragraph in the document\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mparagraph\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdoc\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mparagraphs\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Replace all occurrences of 'Machine Learning' (any case) with 'AI'\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mparagraph\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtext\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mparagraph\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtext\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplace\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mMachine Learning\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mAI\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplace\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mmachine learning\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mAI\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrep\u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the modified document to a new file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdoc\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msave\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpath\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mjoin\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mdocuments\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mnew_\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mFinished processing \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "1c0e5743735d4490a8f6a010c77aeb40": { "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 } }, "1c79566727f944fcbe35f3d793f110e3": { "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 } }, "1f97758eecde4cc7beb4439fdda4e8ea": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_4b67d55493c84fc6bdb48f1317374124", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n clip.fps = 12 \n clip.write_videofile('video.mp4', codec='mpeg4') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfps\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m12\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mvideo.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcodec\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mmpeg4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "2044f647ec5b4bb6a3a363f40bfc45b1": { "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 } }, "267f3fe5e392407d88b0be2f178ba149": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_6f7b2b5688184ea5aa32b7eba22546e6", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n print(Pedalboard.__doc__) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m__doc__\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "26d0efdbe3624615a7bf632af1e8c60b": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_cc23e29c55ac41fa9bfbb35230fb67e7", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install feedparser \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfeedparser\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "2882213b1cce4520b8e0ee44be5f1924": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_1038b781d07d4e8e8df69bff5b2df9ad", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n from moviepy.editor import VideoFileClip, TextClip, CompositeVideoClip \n \n # Load the video \n video = VideoFileClip(\"billyking.mp4\") \n \n subtitles_dict = { \n '00:00.000 --> 00:02.000': \"Well I'm a stoner man\", \n '00:04.000 --> 00:07.000': \"That's right I took in man\", \n '00:08.560 --> 00:10.560': 'Put a joint in my hand', \n '00:12.240 --> 00:14.240': 'And lose control', \n '00:16.840 --> 00:18.840': \"Well, I'm a lunatic man\", \n '00:21.440 --> 00:23.440': \"I got right crazy man\", \n '00:25.560 --> 00:28.720': \"Then take you long if you're out\", \n '00:28.720 --> 00:30.720': \"I'm out of game trouble\", \n '00:35.720 --> 00:37.720': 'I could', \n '00:37.720 --> 00:39.720': 'No', \n '00:39.720 --> 00:41.720': 'Oh', \n '00:41.720 --> 00:43.720': 'No', \n } \n \n # Create the text clips for each subtitle and add them to the video \n video_clips = [video] \n for timestamp, subtitle in subtitles_dict.items(): \n start, end = timestamp.split(' --> ') \n start_time = sum(float(x) * 60 ** i for i,x in enumerate(reversed(start.split(':')))) \n end_time = sum(float(x) * 60 ** i for i,x in enumerate(reversed(end.split(':')))) \n txt_clip = TextClip(txt=subtitle, fontsize=24, color='white') \n txt_clip = txt_clip.set_start(start_time).set_duration(end_time - start_time).set_position(('bottom')) \n video_clips.append(txt_clip) \n \n final = CompositeVideoClip(video_clips) \n final.write_videofile('billy_subbed.mp4') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34meditor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mVideoFileClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mTextClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mCompositeVideoClip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Load the video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mVideoFileClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mbillyking.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msubtitles_dict\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m{\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:00.000 --> 00:02.000\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mWell I\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm a stoner man\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:04.000 --> 00:07.000\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mThat\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms right I took in man\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:08.560 --> 00:10.560\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mPut a joint in my hand\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:12.240 --> 00:14.240\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mAnd lose control\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:16.840 --> 00:18.840\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mWell, I\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm a lunatic man\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:21.440 --> 00:23.440\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mI got right crazy man\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:25.560 --> 00:28.720\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mThen take you long if you\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mre out\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:28.720 --> 00:30.720\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mI\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm out of game trouble\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:35.720 --> 00:37.720\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mI could\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:37.720 --> 00:39.720\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mNo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:39.720 --> 00:41.720\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mOh\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m00:41.720 --> 00:43.720\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mNo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m}\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create the text clips for each subtitle and add them to the video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo_clips\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtimestamp\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msubtitle\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msubtitles_dict\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mitems\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtimestamp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msplit\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m --> \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msum\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfloat\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m60\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menumerate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreversed\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msplit\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m:\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mend_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msum\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfloat\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m60\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menumerate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreversed\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mend\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msplit\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m:\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtxt_clip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mTextClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtxt\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msubtitle\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfontsize\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m24\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcolor\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mwhite\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtxt_clip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtxt_clip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mset_start\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mset_duration\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mend_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mset_position\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mbottom\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo_clips\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtxt_clip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfinal\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mCompositeVideoClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo_clips\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfinal\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mbilly_subbed.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "298d9dd581714eb68c5f8e179c92065c": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_dbee4b5e838b4cd6bf8da3949c563daa", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I have completed the task. The final video has been saved as final_video.mp4. It has been edited to have a \n frame rate of 12 fps, and each frame has been redrawn with ControlNet using random prompts that evoke a stop \n motion / hand-drawn animation feeling. The original sound has been added back to the video. \n \n\n",
"text/plain": " \n I have completed the task. The final video has been saved as \u001b[1;36;40mfinal_video.mp4\u001b[0m. It has been edited to have a \n frame rate of 12 fps, and each frame has been redrawn with ControlNet using random prompts that evoke a stop \n motion / hand-drawn animation feeling. The original sound has been added back to the video. \n \n"
},
"metadata": {},
"output_type": "display_data"
}
]
}
},
"2acee6da53c748b194bd4445bdba02a4": {
"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
}
},
"2b36d066449447c1817a4a5f945aada3": {
"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
}
},
"2ce496485d074f51a900bcf1435f6080": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_aeb40687d81a48e19f173059cc9f7100",
"msg_id": "",
"outputs": [
{
"data": {
"text/html": " \n It seems like the error occurred because the frames per second (fps) information was missing while writing the \n video file. I am going to run the code again but this time with fps=12 added. This means there will be 12 \n frames image shown in one second which is what we want. Let's try that. \n \n\n",
"text/plain": " \n It seems like the error occurred because the frames per second (fps) information was missing while writing the \n video file. I am going to run the code again but this time with \u001b[1;36;40mfps=12\u001b[0m added. This means there will be 12 \n frames image shown in one second which is what we want. Let's try that. \n \n"
},
"metadata": {},
"output_type": "display_data"
}
]
}
},
"2ced3555ea7a4e358c5ee24ad61affb5": {
"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
}
},
"2d23c9f050f745cdaadd6806811fe0ff": {
"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
}
},
"2dc18ff0d5a64d04a13c602ed889b486": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_b3a3183812fa46d7af4dcade094153d1",
"msg_id": "",
"outputs": [
{
"data": {
"text/html": "\n It seems like there was an error because the Stretch class could not be imported from the pedalboard module. \n This could be because the Stretch class does not exist in the pedalboard module. \n \n Let's verify the available classes and functions in the pedalboard module. \n \n\n", "text/plain": " \n It seems like there was an error because the \u001b[1;36;40mStretch\u001b[0m class could not be imported from the \u001b[1;36;40mpedalboard\u001b[0m module. \n This could be because the \u001b[1;36;40mStretch\u001b[0m class does not exist in the \u001b[1;36;40mpedalboard\u001b[0m module. \n \n Let's verify the available classes and functions in the \u001b[1;36;40mpedalboard\u001b[0m module. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "2e56b90a86e94cb5b51cf56b86837410": { "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 } }, "2e658de9a31945bb8221cee533efdc15": { "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 } }, "2e9f43e734694e76829a9ed2a61439be": { "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 } }, "3164bb1a7475448e9f5bcaaadd74c63d": { "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 } }, "32f692de87e245e8be0d3d0ec83a2689": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9201ae6c615b46ec8c97b198f56c38ed", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I have finished processing all the .docx files in your 'documents' folder. Here's what I did: \n \n 1 I went through each document in the 'documents' folder. \n 2 Opened each document and replaced all occurrences of 'Machine Learning' (ain any form of capitalization) \n with 'AI'. \n 3 Saved the modified documents with a 'new_' prefix in their original location. \n \n You should see the updated files in your 'documents' folder named as 'new_doc1.docx', 'new_doc2.docx', etc. \n Feel free to check them and let me know if everything looks good! \n \n\n", "text/plain": " \n I have finished processing all the .docx files in your 'documents' folder. Here's what I did: \n \n \u001b[1;33m 1 \u001b[0mI went through each document in the 'documents' folder. \n \u001b[1;33m 2 \u001b[0mOpened each document and replaced all occurrences of 'Machine Learning' (ain any form of capitalization) \n \u001b[1;33m \u001b[0mwith 'AI'. \n \u001b[1;33m 3 \u001b[0mSaved the modified documents with a 'new_' prefix in their original location. \n \n You should see the updated files in your 'documents' folder named as 'new_doc1.docx', 'new_doc2.docx', etc. \n Feel free to check them and let me know if everything looks good! \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "38bd644aee574f47b65793c655bcc9c9": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_5e77c72502414e0ba7c79c1cc8324b95", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n from moviepy.editor import ImageSequenceClip \n \n # Create a video using the generated frames \n clip = ImageSequenceClip(images, durations=[1/12]*len(images)) \n clip.write_videofile('video.mp4', codec='mpeg4') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34meditor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageSequenceClip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a video using the generated frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageSequenceClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimages\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdurations\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m12\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimages\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mvideo.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcodec\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mmpeg4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "3bba172d1af2465181679c8b336704a7": { "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 } }, "40af2b00dea44c7a93604188fa913f49": { "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 } }, "41707e7b17314b17a249388903e0ce71": { "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 } }, "4192c99e48fa40eeba50ac981cfd500b": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_0ef2a15fe9594494b7957e9dab6166b0", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !yt-dlp -f 'bestaudio' -o 'original_song.%(ext)s' 'https://www.youtube.com/watch?v=8GW6sLrK40k' \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34myt\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdlp\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mf\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mbestaudio\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_song.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m%(ext)s\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mhttps://www.youtube.com/watch?v=8GW6sLrK40k\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "42895ff661844f4b8e03699a3ac93267": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_fc51add87d6744bc8fb46911b671eac5", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install python-docx \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpython\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdocx\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "43008ef3259f4bc0aa7662907abe1c03": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_dfae26728db147cb98311156e758816b", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import yt_dlp \n \n url = 'https://www.youtube.com/watch?v=VF-FGf_ZZiI' \n \n # Download the video \n yt_dlp.YoutubeDL({'outtmpl': 'original_video.mp4'}).download([url]) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34myt_dlp\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34murl\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mhttps://www.youtube.com/watch?v=VF-FGf_ZZiI\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Download the video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34myt_dlp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mYoutubeDL\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m{\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mouttmpl\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_video.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m}\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdownload\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34murl\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "44646c403c814456a6a4665c3236a79d": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_5bb4cd46aed946578d102122a0944a71", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install replicate moviepy pysrt \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplicate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpysrt\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "456f954392e84f46b7f68b50101bd62e": { "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 } }, "45d35e811af74d4b9798eb2efa6fbe19": { "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 } }, "45e937a0dcaf405b8865cceb68551be4": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_6731e56abeba4af69d33942800665902", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Extracting URL: https://www.youtube.com/watch?v=8GW6sLrK40k \n 8GW6sLrK40k: Downloading webpage \n 8GW6sLrK40k: Downloading ios player API JSON \n 8GW6sLrK40k: Downloading android player API JSON \n 8GW6sLrK40k: Downloading m3u8 information \n 8GW6sLrK40k: Downloading 1 format(s): 251 \n Destination: original_song.webm \n 0.0% of 3.49MiB at 426.25KiB/s ETA 00:08 0.1% of 3.49MiB at 882.45KiB/s ETA 00:04 0.2% of \n 3.49MiB at 1.69MiB/s ETA 00:02 0.4% of 3.49MiB at 3.13MiB/s ETA 00:01 0.9% of 3.49MiB at \n 2.66MiB/s ETA 00:01 1.8% of 3.49MiB at 3.07MiB/s ETA 00:01 3.6% of 3.49MiB at 4.12MiB/s ETA \n 00:00 7.1% of 3.49MiB at 5.58MiB/s ETA 00:00 14.3% of 3.49MiB at 9.78MiB/s ETA 00:00 28.6% of \n 3.49MiB at 15.31MiB/s ETA 00:00 57.2% of 3.49MiB at 24.85MiB/s ETA 00:00 100.0% of 3.49MiB at \n 35.39MiB/s ETA 00:00 100% of 3.49MiB in 00:00:00 at 22.41MiB/s \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Extracting URL: https://www.youtube.com/watch?v=8GW6sLrK40k\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 8GW6sLrK40k: Downloading webpage\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 8GW6sLrK40k: Downloading ios player API JSON\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 8GW6sLrK40k: Downloading android player API JSON\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 8GW6sLrK40k: Downloading m3u8 information\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 8GW6sLrK40k: Downloading 1 format(s): 251\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Destination: original_song.webm\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.0% of 3.49MiB at 426.25KiB/s ETA 00:08\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.1% of 3.49MiB at 882.45KiB/s ETA 00:04\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.2% of \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m3.49MiB at 1.69MiB/s ETA 00:02\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.4% of 3.49MiB at 3.13MiB/s ETA 00:01\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.9% of 3.49MiB at \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m2.66MiB/s ETA 00:01\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 1.8% of 3.49MiB at 3.07MiB/s ETA 00:01\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 3.6% of 3.49MiB at 4.12MiB/s ETA \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 7.1% of 3.49MiB at 5.58MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 14.3% of 3.49MiB at 9.78MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 28.6% of \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m3.49MiB at 15.31MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 57.2% of 3.49MiB at 24.85MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.0% of 3.49MiB at \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m35.39MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100% of 3.49MiB in 00:00:00 at 22.41MiB/s\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "46c63dde8afb4b87b56913bc55b59ade": { "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 } }, "48b7cb834ffe4597b7589228a8b7d11d": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_46c63dde8afb4b87b56913bc55b59ade", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I have successfully created a 12-frame video, 'video.mp4', using different material prompts for the image \n 'victoria.png'. Each frame was generated using the controlnet model via replicate and the material prompts \n 'metal', 'embroidery', and 'crayon'. The frames were stitched together into a 1-second video clip. Please check \n the on your computer for the generated video file 'video.mp4'. \n \n\n", "text/plain": " \n I have successfully created a 12-frame video, 'video.mp4', using different material prompts for the image \n 'victoria.png'. Each frame was generated using the controlnet model via replicate and the material prompts \n 'metal', 'embroidery', and 'crayon'. The frames were stitched together into a 1-second video clip. Please check \n the on your computer for the generated video file 'video.mp4'. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "49254282d5644edeb2f217b59b9bf28b": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_b3e874cde5924727b3c2cdb93de1e68a", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import os \n \n # List all files \n files = os.listdir('documents') \n \n # Filter out only .docx files \n files = [file for file in files if file.endswith('.docx')] \n \n files \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# List all files\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfiles\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlistdir\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mdocuments\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Filter out only .docx files\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfiles\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfiles\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfile\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mendswith\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.docx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfiles\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "4a16bcbbc01e40dfb0b835c4af36cc54": { "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 } }, "4b67d55493c84fc6bdb48f1317374124": { "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 } }, "4ecb19ab194440e7962991fe4c9332a7": { "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 } }, "4ed501ea235a4e77a2d7f4e9ef49eb23": { "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 } }, "4f016d1a2474432eb5a601735e6437e2": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_98c4cba0cfb043b7a75b9a80e7661e46", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Traceback (most recent call last): \n Cell In[9], line 2 \n board = Pedalboard([PitchShift(semitones=-5), Reverb(room_size=0.5, \n TypeError: Pedalboard.__init__() got an unexpected keyword argument 'sample_rate' \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[9], line 2\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m board = Pedalboard([PitchShift(semitones=-5), Reverb(room_size=0.5,\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTypeError: Pedalboard.__init__() got an unexpected keyword argument 'sample_rate'\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "4f2343ab60004171a8768a8339e82c0e": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_a46c38d5d2864821ba81ad63259670db", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n output_urls = [] \n for prompt in material_prompts: \n for _ in range(4): \n output = replicate.run( \n 'jagilley/controlnet-canny:aff48af9c68d162388d230a2ab003f68d2638d88307bdaf1c2f1ac95079c9613', \n input={'image': open('victoria.png', 'rb'), 'prompt': prompt} \n ) \n output_urls.append(output[1]) \n output_urls \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput_urls\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprompt\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmaterial_prompts\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m_\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrange\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m4\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplicate\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrun\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mjagilley/controlnet-canny:aff48af9c68d162388d230a2ab003f68d2638d88307bdaf1c2f1ac95079c9613\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minput\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m{\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mimage\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mopen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mvictoria.png\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mrb\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mprompt\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprompt\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m}\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput_urls\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput_urls\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "50c94edabfc146229a8a576445093731": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_6031e59c120a48b98b4597dcb10a2d9a", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n ['https://replicate.delivery/pbxt/zrqhegeMmzmWu06Tq2Rq4Df0Mh0eBMVwfPT7OjzJB1NIkSCKC/output_1.png', \n 'https://replicate.delivery/pbxt/pZfDRfLvrhge6oZRxzHihoPcm0VEg8DprAzlYctVdgkMpkgiA/output_1.png', \n 'https://replicate.delivery/pbxt/cSM7xxMjC67INlxGYf655U3lYpgzxbxWoh2GgZ3J5INVKJoIA/output_1.png', \n 'https://replicate.delivery/pbxt/f2PilmS7o0SyA6CpYIJ8SHES9lQjstnggWaGcvvcXUyXKJoIA/output_1.png', \n 'https://replicate.delivery/pbxt/3LqcWxCYn6rfFyH9LqjDMJV9RCc8Cnt13eCGHnVYuRM4USQRA/output_1.png', \n 'https://replicate.delivery/pbxt/3ZtaSRvsA6p6INT1JEqvQwPPdipZOoZzgwpDcKLIf1keUSQRA/output_1.png', \n 'https://replicate.delivery/pbxt/i9eesm9VJvstfpT8USw3oSiWprHbWJf6UUg0f7URK4kIoSCKC/output_1.png', \n 'https://replicate.delivery/pbxt/TXTCbLIEdWKzFF1rv7Nk7db0bZYSZjJdmfPBl129eO9GVSQRA/output_1.png', \n 'https://replicate.delivery/pbxt/6mTEtWiXPhpDFN5902KGv9woakleMcxvVPfAKAujtYSKVSQRA/output_1.png', \n 'https://replicate.delivery/pbxt/65lDz1ZrvSZrLZ80HlmV6BW5ISc7NKX6bYep7VQnAMrnKJoIA/output_1.png', \n 'https://replicate.delivery/pbxt/BjsWyNDNxT6cI10wcfdBmgL3shIHZwBKzzgTNdzK3mfUVSQRA/output_1.png', \n 'https://replicate.delivery/pbxt/cgO83iENeWVlWqi415kiwGo7WMuRNkrG0HeluNrmCVUYVSQRA/output_1.png'] \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m['https://replicate.delivery/pbxt/zrqhegeMmzmWu06Tq2Rq4Df0Mh0eBMVwfPT7OjzJB1NIkSCKC/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/pZfDRfLvrhge6oZRxzHihoPcm0VEg8DprAzlYctVdgkMpkgiA/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/cSM7xxMjC67INlxGYf655U3lYpgzxbxWoh2GgZ3J5INVKJoIA/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/f2PilmS7o0SyA6CpYIJ8SHES9lQjstnggWaGcvvcXUyXKJoIA/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/3LqcWxCYn6rfFyH9LqjDMJV9RCc8Cnt13eCGHnVYuRM4USQRA/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/3ZtaSRvsA6p6INT1JEqvQwPPdipZOoZzgwpDcKLIf1keUSQRA/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/i9eesm9VJvstfpT8USw3oSiWprHbWJf6UUg0f7URK4kIoSCKC/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/TXTCbLIEdWKzFF1rv7Nk7db0bZYSZjJdmfPBl129eO9GVSQRA/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/6mTEtWiXPhpDFN5902KGv9woakleMcxvVPfAKAujtYSKVSQRA/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/65lDz1ZrvSZrLZ80HlmV6BW5ISc7NKX6bYep7VQnAMrnKJoIA/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/BjsWyNDNxT6cI10wcfdBmgL3shIHZwBKzzgTNdzK3mfUVSQRA/output_1.png', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'https://replicate.delivery/pbxt/cgO83iENeWVlWqi415kiwGo7WMuRNkrG0HeluNrmCVUYVSQRA/output_1.png']\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "50e4adc0bc80423e9549ba0ca3c1125d": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9ad527758ac44f7ba5cf5501f0a2ccc1", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n The solution to the equation 10x + 14 = 21 / 3 is x = -0.7. \n \n\n", "text/plain": " \n The solution to the equation \u001b[1;36;40m10x + 14 = 21 / 3\u001b[0m is \u001b[1;36;40mx = -0.7\u001b[0m. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "523049f89f904844ab674b9410ee61c4": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_73078cc9fc5741fcb130caa028914bf9", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n To get latest news headlines from BBC, we can use web scraping libraries in python like BeautifulSoup. However, \n the usage of such tools may violate terms of service of the website. Alternatively, we can use the BBC RSS feed \n to get the latest news. \n \n Let's try this using the feedparser library in Python. I will install this library if isn't already installed. \n After this, I'll get the last 10 BBC news headlines using their RSS feed. \n \n\n",
"text/plain": " \n To get latest news headlines from BBC, we can use web scraping libraries in python like BeautifulSoup. However, \n the usage of such tools may violate terms of service of the website. Alternatively, we can use the BBC RSS feed \n to get the latest news. \n \n Let's try this using the \u001b[1;36;40mfeedparser\u001b[0m library in Python. I will install this library if isn't already installed. \n After this, I'll get the last 10 BBC news headlines using their RSS feed. \n \n"
},
"metadata": {},
"output_type": "display_data"
}
]
}
},
"5313074cfc7b4a70a8031e99640353fc": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_76227155ec874b2bbdd633477275162d",
"msg_id": "",
"outputs": [
{
"data": {
"text/html": "\n It seems like the video was downloaded as a .webm file instead of a .mp4 file. I'll adjust the code to use the \n correct filename. \n \n\n", "text/plain": " \n It seems like the video was downloaded as a \u001b[1;36;40m.webm\u001b[0m file instead of a \u001b[1;36;40m.mp4\u001b[0m file. I'll adjust the code to use the \n correct filename. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "540e7806e7c145d3a26fceb5c0ef8aa1": { "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 } }, "554e5912797c4fa88f6e557ca6367711": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_723d3e051e9649a392ae0a54e4399a73", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n https://replicate.delivery/pbxt/IavszBht716pMhxufdF8Ch7cv0Pun1eTQarLmQVxkbAPUSQRA/output_1.png \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mhttps://replicate.delivery/pbxt/IavszBht716pMhxufdF8Ch7cv0Pun1eTQarLmQVxkbAPUSQRA/output_1.png\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "5635e4c8e7734b3b95693f789c9239ba": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_f944a4b42ef14ae889efef3f5369e173", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n\n", "text/plain": "\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "56f46ba6d7254804843b932c97007f85": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2b36d066449447c1817a4a5f945aada3", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Great, let's start by using the provided Replicate code to convert the audio of billyking.mp4 to text. Then, \n I'll use moviepy to add these as subtitles to your video. I'll need the replicate, moviepy, and possibly the \n pysrt Python packages to do this. \n \n I will first install the needed packages. After that, we will proceed to running the Replicate code and \n processing the output. \n \n\n", "text/plain": " \n Great, let's start by using the provided Replicate code to convert the audio of \u001b[1;36;40mbillyking.mp4\u001b[0m to text. Then, \n I'll use moviepy to add these as subtitles to your video. I'll need the \u001b[1;36;40mreplicate\u001b[0m, \u001b[1;36;40mmoviepy\u001b[0m, and possibly the \n \u001b[1;36;40mpysrt\u001b[0m Python packages to do this. \n \n I will first install the needed packages. After that, we will proceed to running the Replicate code and \n processing the output. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "575438c672314d12b722af00426a8971": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2e56b90a86e94cb5b51cf56b86837410", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n All files have been updated. \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mAll files have been updated.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "57f2e054ead24f71a958cae8de41c2b7": { "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 } }, "58ce723038e04fd2810f4985e864544a": { "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 } }, "5a9695b9f4f8410b8c3cc92819ad081c": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_cc1a30ae29f5499d8156470700faae6c", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n The last 10 news headlines from BBC are: \n \n 1 'Disposable vapes: Councils call for total ban by 2024' \n 2 'SAG strike: Actors join writers on Hollywood picket lines' \n 3 'Bournemouth beach deaths: No police action to be taken' \n 4 'Summer holidays: Will there be more travel chaos this year?' \n 5 'Just Stop Oil protesters interrupt the Proms' \n 6 'Stare at smokers to stop them, Hong Kong health chief urges public' \n 7 'Europe heatwave: More record temperatures expected' \n 8 \"Extra energy bill scheme was 'staggering failure', says MP\" \n 9 \"Shekhar Kapur: Hollywood's diversity push is guilt driven\" \n 10 'NI officers told not to wear police uniforms at Pride' \n \n\n", "text/plain": " \n The last 10 news headlines from BBC are: \n \n \u001b[1;33m 1 \u001b[0m'Disposable vapes: Councils call for total ban by 2024' \n \u001b[1;33m 2 \u001b[0m'SAG strike: Actors join writers on Hollywood picket lines' \n \u001b[1;33m 3 \u001b[0m'Bournemouth beach deaths: No police action to be taken' \n \u001b[1;33m 4 \u001b[0m'Summer holidays: Will there be more travel chaos this year?' \n \u001b[1;33m 5 \u001b[0m'Just Stop Oil protesters interrupt the Proms' \n \u001b[1;33m 6 \u001b[0m'Stare at smokers to stop them, Hong Kong health chief urges public' \n \u001b[1;33m 7 \u001b[0m'Europe heatwave: More record temperatures expected' \n \u001b[1;33m 8 \u001b[0m\"Extra energy bill scheme was 'staggering failure', says MP\" \n \u001b[1;33m 9 \u001b[0m\"Shekhar Kapur: Hollywood's diversity push is guilt driven\" \n \u001b[1;33m 10 \u001b[0m'NI officers told not to wear police uniforms at Pride' \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "5a9e09aff4cd4665912a50bc8ad5fe93": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_dde784ca98904ba49ba23dda2100076a", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n The first image transformation with the 'metal' prompt was successful. The output image URL is \n 'https://replicate.delivery/pbxt/IavszBht716pMhxufdF8Ch7cv0Pun1eTQarLmQVxkbAPUSQRA/output_1.png'. \n \n Next, I'll use the material prompts 'embroidery' and 'crayon' to transform the image. Each of these \n transformations will then be performed four times to attain 12 frames. Let's start by transforming the image \n with each of the prompts. \n \n\n", "text/plain": " \n The first image transformation with the 'metal' prompt was successful. The output image URL is \n 'https://replicate.delivery/pbxt/IavszBht716pMhxufdF8Ch7cv0Pun1eTQarLmQVxkbAPUSQRA/output_1.png'. \n \n Next, I'll use the material prompts 'embroidery' and 'crayon' to transform the image. Each of these \n transformations will then be performed four times to attain 12 frames. Let's start by transforming the image \n with each of the prompts. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "5b414a1b78f44530a2e4d127641b88d7": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_1c0e5743735d4490a8f6a010c77aeb40", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Sure, I can do that. We will use the yt-dlp library to download the audio from the YouTube video, and then the \n pedalboard library to apply the slow and reverb effects. Let's start by downloading the audio. \n \n\n", "text/plain": " \n Sure, I can do that. We will use the \u001b[1;36;40myt-dlp\u001b[0m library to download the audio from the YouTube video, and then the \n \u001b[1;36;40mpedalboard\u001b[0m library to apply the slow and reverb effects. Let's start by downloading the audio. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "5bb4cd46aed946578d102122a0944a71": { "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 } }, "5e5a5fd06a6d46e3b85e9587d50adfdb": { "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 } }, "5e77c72502414e0ba7c79c1cc8324b95": { "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 } }, "6031e59c120a48b98b4597dcb10a2d9a": { "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 } }, "61c835b06ac043c0a06cecf241d7fa48": { "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 } }, "626af5cf397440b2baec64ed98ea5c3f": { "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 } }, "6731e56abeba4af69d33942800665902": { "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 } }, "673dce80b4b54a7384a460b0075759fb": { "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 } }, "6aae7d9824224170be7f43c8c423c488": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_1c79566727f944fcbe35f3d793f110e3", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import replicate \n \n output = replicate.run( \n \"m1guelpf/whisper-subtitles:7f686e243a96c7f6f0f481bcef24d688a1369ed3983cea348d1f43b879615766\", \n input={\"audio_path\": open(\"billyking.mp4\", \"rb\")} \n ) \n output \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplicate\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplicate\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrun\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm1guelpf/whisper-subtitles:7f686e243a96c7f6f0f481bcef24d688a1369ed3983cea348d1f43b879615766\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minput\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m{\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34maudio_path\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mopen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mbillyking.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mrb\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m}\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "6bd4412598a24f4b82c9fd8918a3e0ae": { "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 } }, "6c4817e94e354e6998e9665f6a509d38": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_78f2b7f6451d4315964aea44ac02db78", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Requirement already satisfied: opencv-python-headless in /usr/local/lib/python3.10/dist-packages (4.8.0.74) \n Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (2.27.1) \n Requirement already satisfied: numpy>=1.21.2 in /usr/local/lib/python3.10/dist-packages (from \n opencv-python-headless) (1.22.4) \n Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests) \n (1.26.16) \n Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests) \n (2023.5.7) \n Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \n requests) (2.0.12) \n Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests) (3.4) \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: opencv-python-headless in /usr/local/lib/python3.10/dist-packages (4.8.0.74)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (2.27.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: numpy>=1.21.2 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mopencv-python-headless) (1.22.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(1.26.16)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(2023.5.7)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests) (2.0.12)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests) (3.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "6d14d7db445b4f829275aea79bd0dbd1": { "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 } }, "6f7b2b5688184ea5aa32b7eba22546e6": { "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 } }, "723d3e051e9649a392ae0a54e4399a73": { "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 } }, "7244e69be33b441cb435377b5abee7af": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c0a1d45a04b7406683954288d08915b1", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n The .docx files in your 'documents' folder are: \n \n • doc1.docx \n • doc2.docx \n • doc3.docx \n • doc4.docx \n • doc5.docx \n \n Now, I'm going to install a Python package called python-docx that allows us to operate on Microsoft Word \n (.docx) files. After the installation, I will read each .docx file and perform the replacement operation. Let's \n proceed with the installation! \n \n\n", "text/plain": " \n The .docx files in your 'documents' folder are: \n \n \u001b[1;33m • \u001b[0mdoc1.docx \n \u001b[1;33m • \u001b[0mdoc2.docx \n \u001b[1;33m • \u001b[0mdoc3.docx \n \u001b[1;33m • \u001b[0mdoc4.docx \n \u001b[1;33m • \u001b[0mdoc5.docx \n \n Now, I'm going to install a Python package called \u001b[1;36;40mpython-docx\u001b[0m that allows us to operate on Microsoft Word \n (.docx) files. After the installation, I will read each .docx file and perform the replacement operation. Let's \n proceed with the installation! \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "73078cc9fc5741fcb130caa028914bf9": { "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 } }, "7388e925607147d0903d6b59642d21c1": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_7978261c27704717bf0f5df5231c3dee", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Traceback (most recent call last): \n Cell In[3], line 2 \n video = VideoFileClip('original_video.mp4') \n File /usr/local/lib/python3.10/dist-packages/moviepy/video/io/VideoFileClip.py:88 in __init__ \n self.reader = FFMPEG_VideoReader(filename, pix_fmt=pix_fmt, \n File /usr/local/lib/python3.10/dist-packages/moviepy/video/io/ffmpeg_reader.py:35 in __init__ \n infos = ffmpeg_parse_infos(filename, print_infos, check_duration, \n File /usr/local/lib/python3.10/dist-packages/moviepy/video/io/ffmpeg_reader.py:270 in ffmpeg_parse_infos \n raise IOError((\"MoviePy error: the file %s could not be found!\\n\" \n OSError: MoviePy error: the file original_video.mp4 could not be found! \n Please check that you entered the correct path. \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[3], line 2\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m video = VideoFileClip('original_video.mp4')\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File /usr/local/lib/python3.10/dist-packages/moviepy/video/io/VideoFileClip.py:88 in __init__\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m self.reader = FFMPEG_VideoReader(filename, pix_fmt=pix_fmt,\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File /usr/local/lib/python3.10/dist-packages/moviepy/video/io/ffmpeg_reader.py:35 in __init__\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m infos = ffmpeg_parse_infos(filename, print_infos, check_duration,\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File /usr/local/lib/python3.10/dist-packages/moviepy/video/io/ffmpeg_reader.py:270 in ffmpeg_parse_infos\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m raise IOError((\"MoviePy error: the file %s could not be found!\\n\"\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOSError: MoviePy error: the file original_video.mp4 could not be found!\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mPlease check that you entered the correct path.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "73bf63b8705645d7b893f91cdc1716fa": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_540e7806e7c145d3a26fceb5c0ef8aa1", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Certainly, we can do this task in a few steps: \n \n 1 Run the controlnet model on victoria.png with each material prompt. \n 2 Download the resulting images. \n 3 Stitch together these images into a video. \n \n Before we start, there are some things we need to clarify: \n \n • We need to know the full list of material prompts. You've mentioned \"metal\", \"embroidery\", and \"crayon\". We \n need 9 more. \n • The frame rate of the video. With 12 images in 1 second, it's assumed that we will have a frame rate of 12 \n frames per second (fps). \n \n Let's go ahead with 3 materials you provided for now and we will add more later. We'll set the frame rate to 12 \n fps. \n \n To proceed, I will first need to: \n \n 1 Import the package replicate which should be installed on your system. \n 2 Create a list of material prompts. \n 3 Run the controlnet model with each material prompt and store the URLs of the output images. \n \n Let's start with importing replicate and preparing the material prompts. \n \n (Note that you won't see the code execution output in this platform due to our backend design. However, you'll \n still get any output relevant to our task.) \n \n\n", "text/plain": " \n Certainly, we can do this task in a few steps: \n \n \u001b[1;33m 1 \u001b[0mRun the \u001b[1;36;40mcontrolnet\u001b[0m model on \u001b[1;36;40mvictoria.png\u001b[0m with each material prompt. \n \u001b[1;33m 2 \u001b[0mDownload the resulting images. \n \u001b[1;33m 3 \u001b[0mStitch together these images into a video. \n \n Before we start, there are some things we need to clarify: \n \n \u001b[1;33m • \u001b[0mWe need to know the full list of material prompts. You've mentioned \"metal\", \"embroidery\", and \"crayon\". We \n \u001b[1;33m \u001b[0mneed 9 more. \n \u001b[1;33m • \u001b[0mThe frame rate of the video. With 12 images in 1 second, it's assumed that we will have a frame rate of 12 \n \u001b[1;33m \u001b[0mframes per second (fps). \n \n Let's go ahead with 3 materials you provided for now and we will add more later. We'll set the frame rate to 12 \n fps. \n \n To proceed, I will first need to: \n \n \u001b[1;33m 1 \u001b[0mImport the package \u001b[1;36;40mreplicate\u001b[0m which should be installed on your system. \n \u001b[1;33m 2 \u001b[0mCreate a list of material prompts. \n \u001b[1;33m 3 \u001b[0mRun the \u001b[1;36;40mcontrolnet\u001b[0m model with each material prompt and store the URLs of the output images. \n \n Let's start with importing \u001b[1;36;40mreplicate\u001b[0m and preparing the material prompts. \n \n (Note that you won't see the code execution output in this platform due to our backend design. However, you'll \n still get any output relevant to our task.) \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "74a068f07b49454bba51058b0c1772ae": { "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 } }, "75a72b485eb0422a820209bef270a311": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_065b7774a5a34beebb77f7e6a1501617", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n [-0.700000000000000] \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[-0.700000000000000]\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "76227155ec874b2bbdd633477275162d": { "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 } }, "7735b6aa07bb48e198f2e79bb8483006": { "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 } }, "77d06811ac04459ba507adec1b053905": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_f25805a2402f4a7ba505fb75554bdbed", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Requirement already satisfied: pydub in /usr/local/lib/python3.10/dist-packages (0.25.1) \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pydub in /usr/local/lib/python3.10/dist-packages (0.25.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "77e0222fd2c54dbca7932d57e517601a": { "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 } }, "78f2b7f6451d4315964aea44ac02db78": { "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 } }, "7924e96ff4484d9888b85bf7f7630cdc": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_ee9b39134cf84f089d4868aae1851900", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I've set up the three material prompts that you mentioned - 'metal', 'embroidery', and 'crayon'. \n \n To ensure the video clip contains 12 equally-spaced frames from these three materials, we'll run the \n replication four times for each of the material prompts. \n \n Let's create these images first by running victoria.png through replicate's controlnet with different material \n prompts. I'll store these images locally so we can later combine them into a video. \n \n For this task, I need to write a loop that will iterate over each material, generate the image using \n replicate's controlnet and save the generated image locally. Let's do it step by step. First, let's try it with \n one material to ensure that the image generation process is working correctly. Here we go... \n \n\n", "text/plain": " \n I've set up the three material prompts that you mentioned - 'metal', 'embroidery', and 'crayon'. \n \n To ensure the video clip contains 12 equally-spaced frames from these three materials, we'll run the \n replication four times for each of the material prompts. \n \n Let's create these images first by running victoria.png through replicate's controlnet with different material \n prompts. I'll store these images locally so we can later combine them into a video. \n \n For this task, I need to write a loop that will iterate over each material, generate the image using \n replicate's controlnet and save the generated image locally. Let's do it step by step. First, let's try it with \n one material to ensure that the image generation process is working correctly. Here we go... \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "7978261c27704717bf0f5df5231c3dee": { "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 } }, "7bc0945fc38c4f7c958bdafed2823093": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_dcfeecca01c345f58eebb9b6209cb5ad", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Requirement already satisfied: python-docx in /usr/local/lib/python3.10/dist-packages (0.8.11) \n Requirement already satisfied: lxml>=2.3.2 in /usr/local/lib/python3.10/dist-packages (from python-docx) \n (4.9.3) \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: python-docx in /usr/local/lib/python3.10/dist-packages (0.8.11)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: lxml>=2.3.2 in /usr/local/lib/python3.10/dist-packages (from python-docx) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.9.3)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "7da8ca4865a647d6ac46a64af17fd02d": { "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 } }, "7eed9d874bf846a7b5e545b9c98d417d": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_5e5a5fd06a6d46e3b85e9587d50adfdb", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import os \n import numpy as np \n from PIL import Image \n \n # Create a directory to store the frames \n os.makedirs('frames', exist_ok=True) \n \n # Extract frames from the video \n for i, frame in enumerate(video.iter_frames()): \n # Convert the frame to an image \n image = Image.fromarray(np.uint8(frame)) \n \n # Save the image \n image.save(f'frames/frame_{i}.png') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnumpy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPIL\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImage\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a directory to store the frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmakedirs\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mframes\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mexist_ok\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mTrue\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Extract frames from the video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menumerate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34miter_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Convert the frame to an image\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimage\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImage\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfromarray\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34muint8\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the image\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimage\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msave\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mframes/frame_\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.png\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "800d0a52c55346119c920db787b7f229": { "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 } }, "82e71737f0d941d1a57fb9882c1a303f": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_61c835b06ac043c0a06cecf241d7fa48", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n ['AudioProcessorParameter', 'Bitcrush', 'Chain', 'Chorus', 'Clipping', 'Compressor', 'Convolution', 'Delay', \n 'Distortion', 'ExternalPlugin', 'GSMFullRateCompressor', 'Gain', 'HighShelfFilter', 'HighpassFilter', \n 'IIRFilter', 'Invert', 'LadderFilter', 'Limiter', 'LowShelfFilter', 'LowpassFilter', 'MP3Compressor', 'Mix', \n 'NoiseGate', 'PeakFilter', 'Pedalboard', 'Phaser', 'PitchShift', 'Plugin', 'PluginContainer', 'Resample', \n 'Reverb', 'VST3Plugin', '_AVAILABLE_PLUGIN_CLASSES', '__builtins__', '__cached__', '__doc__', '__file__', \n '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_klass', '_pedalboard', 'io', \n 'load_plugin', 'numpy', 'process', 'utils', 'version'] \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m['AudioProcessorParameter', 'Bitcrush', 'Chain', 'Chorus', 'Clipping', 'Compressor', 'Convolution', 'Delay', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'Distortion', 'ExternalPlugin', 'GSMFullRateCompressor', 'Gain', 'HighShelfFilter', 'HighpassFilter', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'IIRFilter', 'Invert', 'LadderFilter', 'Limiter', 'LowShelfFilter', 'LowpassFilter', 'MP3Compressor', 'Mix', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'NoiseGate', 'PeakFilter', 'Pedalboard', 'Phaser', 'PitchShift', 'Plugin', 'PluginContainer', 'Resample', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'Reverb', 'VST3Plugin', '_AVAILABLE_PLUGIN_CLASSES', '__builtins__', '__cached__', '__doc__', '__file__', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', '_klass', '_pedalboard', 'io', \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'load_plugin', 'numpy', 'process', 'utils', 'version']\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "83897e5d417c4801b9033373ab047563": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_a2766ca73ab9400d87bbaa96008ebb3b", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n from moviepy.video.io.VideoFileClip import VideoFileClip \n \n # Load the video \n video = VideoFileClip('original_video.mp4') \n \n # Extract the segment from 0:10 to 0:17 \n video = video.subclip(10, 17) \n \n # Reduce the frame rate to 12 fps \n video = video.set_duration(7).set_fps(12) \n \n # Save the modified video \n video.write_videofile('modified_video.mp4', codec='libx264') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mVideoFileClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mVideoFileClip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Load the video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mVideoFileClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_video.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Extract the segment from 0:10 to 0:17\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msubclip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m10\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m17\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Reduce the frame rate to 12 fps\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mset_duration\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m7\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mset_fps\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m12\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the modified video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mmodified_video.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcodec\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mlibx264\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "8497cd04499f48eb9a305e6c3db8b38d": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_e64b5e68e0e84553a9e303ba55d389d0", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Traceback (most recent call last): \n Cell In[9], line 3 \n audio, sample_rate = sf.read('original_song.webm') \n File /usr/local/lib/python3.10/dist-packages/soundfile.py:285 in read \n with SoundFile(file, 'r', samplerate, channels, \n File /usr/local/lib/python3.10/dist-packages/soundfile.py:658 in __init__ \n self._file = self._open(file, mode_int, closefd) \n File /usr/local/lib/python3.10/dist-packages/soundfile.py:1216 in _open \n raise LibsndfileError(err, prefix=\"Error opening {0!r}: \".format(self.name)) \n LibsndfileError: Error opening 'original_song.webm': Format not recognised. \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[9], line 3\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m audio, sample_rate = sf.read('original_song.webm')\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File /usr/local/lib/python3.10/dist-packages/soundfile.py:285 in read\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m with SoundFile(file, 'r', samplerate, channels,\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File /usr/local/lib/python3.10/dist-packages/soundfile.py:658 in __init__\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m self._file = self._open(file, mode_int, closefd)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File /usr/local/lib/python3.10/dist-packages/soundfile.py:1216 in _open\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m raise LibsndfileError(err, prefix=\"Error opening {0!r}: \".format(self.name))\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mLibsndfileError: Error opening 'original_song.webm': Format not recognised.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "85a2c311f8cd4fd484dd5a95079d9dcb": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_bd5ea7bd835a483095abe490c447dd32", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "87f4047550f14103ac55a7ee2736f3ef": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_e6feb1cf757b44bba8fbdecd9b185178", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n The video has been successfully downloaded and saved as \"original_video.mp4\". \n \n Next, I'll extract the segment from 0:10 to 0:17 and reduce its frame rate to 12 fps. \n \n Let's proceed with this plan: \n \n 1 Load the video using MoviePy. \n 2 Extract the segment from 0:10 to 0:17. \n 3 Reduce the frame rate to 12 fps. \n 4 Save the modified video. \n \n\n", "text/plain": " \n The video has been successfully downloaded and saved as \"original_video.mp4\". \n \n Next, I'll extract the segment from 0:10 to 0:17 and reduce its frame rate to 12 fps. \n \n Let's proceed with this plan: \n \n \u001b[1;33m 1 \u001b[0mLoad the video using MoviePy. \n \u001b[1;33m 2 \u001b[0mExtract the segment from 0:10 to 0:17. \n \u001b[1;33m 3 \u001b[0mReduce the frame rate to 12 fps. \n \u001b[1;33m 4 \u001b[0mSave the modified video. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "886daf8914584873b21fb95604cfa84f": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_456f954392e84f46b7f68b50101bd62e", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Requirement already satisfied: moviepy in /usr/local/lib/python3.10/dist-packages (1.0.3) \n Requirement already satisfied: decorator<5.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (4.4.2) \n Requirement already satisfied: tqdm<5.0,>=4.11.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (4.65.0) \n Requirement already satisfied: requests<3.0,>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (2.27.1) \n Requirement already satisfied: proglog<=1.0.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (0.1.10) \n Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from moviepy) (1.22.4) \n Requirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (2.25.1) \n Requirement already satisfied: imageio-ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (0.4.8) \n Requirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from \n imageio<3.0,>=2.5->moviepy) (8.4.0) \n Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (1.26.16) \n Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (2023.5.7) \n Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (2.0.12) \n Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (3.4) \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: moviepy in /usr/local/lib/python3.10/dist-packages (1.0.3)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: decorator<5.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.4.2)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: tqdm<5.0,>=4.11.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.65.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: requests<3.0,>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(2.27.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: proglog<=1.0.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(0.1.10)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from moviepy) (1.22.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(2.25.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: imageio-ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(0.4.8)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mimageio<3.0,>=2.5->moviepy) (8.4.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (1.26.16)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (2023.5.7)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (2.0.12)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (3.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "8b00506f94854fcc971d08b1577a531a": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_6d14d7db445b4f829275aea79bd0dbd1", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n According to the output received from Replicate's speech-to-text service, the subtitles generated are in the \n WEBVTT format. Note that the file format consists of timestamped text data representing spoken dialogue. Looks \n like the presented text is: \n \n \n WEBVTT \n 00:00.000 --> 00:02.000 \n Well I'm a stoner man \n 00:04.000 --> 00:07.000 \n That's right I took in man \n 00:08.560 --> 00:10.560 \n Put a joint in my hand \n 00:12.240 --> 00:14.240 \n And lose control \n 00:16.840 --> 00:18.840 \n Well, I'm a lunatic man \n 00:21.440 --> 00:23.440 \n I got right crazy man \n 00:25.560 --> 00:28.720 \n Then take you long if you're out \n 00:28.720 --> 00:30.720 \n I'm out of game trouble \n 00:35.720 --> 00:37.720 \n I could \n 00:37.720 --> 00:39.720 \n No \n 00:39.720 --> 00:41.720 \n Oh \n 00:41.720 --> 00:43.720 \n No \n \n \n Though we have the subtitles now, we need to impose these onto the video using MoviePy and save it as \n \"billy_subbed.mp4\". Let's proceed with that. If the final video doesn't look right, it might be due to the \n inaccuracies in the timestamps or in the transcription. Let's give it a try, though. \n \n\n", "text/plain": " \n According to the output received from Replicate's speech-to-text service, the subtitles generated are in the \n WEBVTT format. Note that the file format consists of timestamped text data representing spoken dialogue. Looks \n like the presented text is: \n \n \u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mWEBVTT\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:00.000 --> 00:02.000\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m Well I'm a stoner man\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:04.000 --> 00:07.000\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m That's right I took in man\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:08.560 --> 00:10.560\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m Put a joint in my hand\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:12.240 --> 00:14.240\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m And lose control\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:16.840 --> 00:18.840\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m Well, I'm a lunatic man\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:21.440 --> 00:23.440\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m I got right crazy man\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:25.560 --> 00:28.720\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m Then take you long if you're out\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:28.720 --> 00:30.720\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m I'm out of game trouble\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:35.720 --> 00:37.720\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m I could\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:37.720 --> 00:39.720\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m No\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:39.720 --> 00:41.720\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m Oh\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m00:41.720 --> 00:43.720\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m No\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \n \u001b[48;2;39;40;34m \u001b[0m \n \n Though we have the subtitles now, we need to impose these onto the video using MoviePy and save it as \n \"billy_subbed.mp4\". Let's proceed with that. If the final video doesn't look right, it might be due to the \n inaccuracies in the timestamps or in the transcription. Let's give it a try, though. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "8b67d19d967b4ec8a22e595c3aea1f79": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_4ecb19ab194440e7962991fe4c9332a7", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n ['Disposable vapes: Councils call for total ban by 2024', 'SAG strike: Actors join writers on Hollywood picket \n lines', 'Bournemouth beach deaths: No police action to be taken', 'Summer holidays: Will there be more travel \n chaos this year?', 'Just Stop Oil protesters interrupt the Proms', 'Stare at smokers to stop them, Hong Kong \n health chief urges public', 'Europe heatwave: More record temperatures expected', \"Extra energy bill scheme was \n 'staggering failure', says MP\", \"Shekhar Kapur: Hollywood's diversity push is guilt driven\", 'NI officers told \n not to wear police uniforms at Pride'] \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m['Disposable vapes: Councils call for total ban by 2024', 'SAG strike: Actors join writers on Hollywood picket \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mlines', 'Bournemouth beach deaths: No police action to be taken', 'Summer holidays: Will there be more travel \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mchaos this year?', 'Just Stop Oil protesters interrupt the Proms', 'Stare at smokers to stop them, Hong Kong \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mhealth chief urges public', 'Europe heatwave: More record temperatures expected', \"Extra energy bill scheme was\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m'staggering failure', says MP\", \"Shekhar Kapur: Hollywood's diversity push is guilt driven\", 'NI officers told \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnot to wear police uniforms at Pride']\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "8df28d357a604e64b6d7353891fbdaa3": { "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 } }, "8e94b43d08f848159b7c621693e26878": { "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 } }, "9080b44022b647908b0c8f8dabc51e5f": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c18416a315554529bbf7f4f4543ecaa3", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n from moviepy.editor import ImageSequenceClip \n \n # Create a list of the redrawn frames \n frames = [f'redrawn_frames/frame_{i}.png' for i in range(len(os.listdir('redrawn_frames')))] \n \n # Create a clip from the redrawn frames \n clip = ImageSequenceClip(frames, fps=12) \n \n # Add the original audio to the clip \n clip = clip.set_audio(video.audio) \n \n # Save the final video \n clip.write_videofile('final_video.mp4', codec='libx264') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34meditor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageSequenceClip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a list of the redrawn frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframes\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mredrawn_frames/frame_\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.png\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrange\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlistdir\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mredrawn_frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a clip from the redrawn frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageSequenceClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframes\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfps\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m12\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Add the original audio to the clip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mset_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the final video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mfinal_video.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcodec\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mlibx264\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "9201ae6c615b46ec8c97b198f56c38ed": { "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 } }, "93d564a6d8c842f29e3fcb5e8b8d2a18": { "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 } }, "942032ef5a7b46a0866adf65a07ca9b6": { "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 } }, "961f446973c6459cadc262fca5193d9d": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_58ce723038e04fd2810f4985e864544a", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n 12 \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m12\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "98c4cba0cfb043b7a75b9a80e7661e46": { "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 } }, "99b83169a2c5408dbfa7b835db2d7171": { "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 } }, "9ad527758ac44f7ba5cf5501f0a2ccc1": { "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 } }, "9d1e55aa8c544a3aa780fa2230b82c21": { "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 } }, "9d35e8077b634453a9da6c9bdf55c104": { "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 } }, "a10d5975091b4b8fb99544dea8de13d0": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_bbf6af49c88c4c5d909b61ad8b67b5fa", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I have successfully created 12 images using ControlNet with different material prompts, we now have their URLs. \n The next step is to download these images and then merge them into a single video. \n \n In order to accomplish this, we will first need to install the opencv-python library for manipulating our \n images and creating our video, as well as the requests library for downloading our images from the internet. \n Let's do that. \n \n\n", "text/plain": " \n I have successfully created 12 images using ControlNet with different material prompts, we now have their URLs. \n The next step is to download these images and then merge them into a single video. \n \n In order to accomplish this, we will first need to install the \u001b[1;36;40mopencv-python\u001b[0m library for manipulating our \n images and creating our video, as well as the \u001b[1;36;40mrequests\u001b[0m library for downloading our images from the internet. \n Let's do that. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "a21bd572aad1457890fd77e77ae60cde": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_800d0a52c55346119c920db787b7f229", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Output truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`. \n \n 0:00:01 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 61.2 MB/s eta 0:00:00 \n Requirement already satisfied: decorator<5.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (4.4.2) \n Requirement already satisfied: tqdm<5.0,>=4.11.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (4.65.0) \n Requirement already satisfied: requests<3.0,>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (2.27.1) \n Requirement already satisfied: proglog<=1.0.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (0.1.10) \n Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from moviepy) (1.22.4) \n Requirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (2.25.1) \n Requirement already satisfied: imageio-ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (0.4.8) \n Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from replicate) (23.1) \n Requirement already satisfied: pydantic<2,>1 in /usr/local/lib/python3.10/dist-packages (from replicate) \n (1.10.11) \n Requirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from \n imageio<3.0,>=2.5->moviepy) (8.4.0) \n Requirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.10/dist-packages (from \n pydantic<2,>1->replicate) (4.7.1) \n Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (1.26.16) \n Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (2.0.12) \n Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (3.4) \n Installing collected packages: brotli, websockets, pycryptodomex, mutagen, yt-dlp \n Successfully installed brotli-1.0.9 mutagen-1.46.0 pycryptodomex-3.18.0 websockets-11.0.3 yt-dlp-2023.7.6 \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m0:00:01 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 61.2 MB/s eta 0:00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: decorator<5.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.4.2)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: tqdm<5.0,>=4.11.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.65.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: requests<3.0,>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(2.27.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: proglog<=1.0.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(0.1.10)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from moviepy) (1.22.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(2.25.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: imageio-ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(0.4.8)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from replicate) (23.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pydantic<2,>1 in /usr/local/lib/python3.10/dist-packages (from replicate) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(1.10.11)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mimageio<3.0,>=2.5->moviepy) (8.4.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mpydantic<2,>1->replicate) (4.7.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (1.26.16)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (2.0.12)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (3.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mInstalling collected packages: brotli, websockets, pycryptodomex, mutagen, yt-dlp\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mSuccessfully installed brotli-1.0.9 mutagen-1.46.0 pycryptodomex-3.18.0 websockets-11.0.3 yt-dlp-2023.7.6\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "a2766ca73ab9400d87bbaa96008ebb3b": { "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 } }, "a46c38d5d2864821ba81ad63259670db": { "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 } }, "a59185faa5bb4ef3ba9810b94096d85e": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2e658de9a31945bb8221cee533efdc15", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n from pedalboard import Pedalboard, Reverb, PitchShift \n \n # Create a Pedalboard instance \n board = Pedalboard([ \n PitchShift(semitones=-5), # Lower the pitch \n Reverb(room_size=0.5, dry_level=0.5, wet_level=0.5) # Add reverb \n ]) \n \n # Process the audio \n processed_audio = board.process(audio, sample_rate=sample_rate) \n \n # Save the processed audio to a new file \n sf.write('processed_song.wav', processed_audio, sample_rate) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mReverb\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPitchShift\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a Pedalboard instance\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPitchShift\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msemitones\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Lower the pitch\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mReverb\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mroom_size\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdry_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwet_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Add reverb\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process the audio\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocess\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the processed audio to a new file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mprocessed_song.wav\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "a6ddbeb9b5ef4ea58858eabac8fde3c6": { "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 } }, "a7c6c1912ff3442e878fe2f19a7bab01": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2044f647ec5b4bb6a3a363f40bfc45b1", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Output truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`. \n \n | 29/84 [00:01<00:02, 22.13it/s, now=None]t: 38%|###8 | 32/84 [00:01<00:02, 23.60it/s, now=None]t: \n 42%|####1 | 35/84 [00:01<00:02, 23.60it/s, now=None]t: 45%|####5 | 38/84 [00:01<00:02, 22.13it/s, \n now=None]t: 49%|####8 | 41/84 [00:01<00:02, 21.33it/s, now=None]t: 52%|#####2 | 44/84 [00:01<00:01, \n 20.25it/s, now=None]t: 56%|#####5 | 47/84 [00:02<00:02, 16.81it/s, now=None]t: 58%|#####8 | 49/84 \n [00:02<00:02, 15.82it/s, now=None]t: 61%|###### | 51/84 [00:02<00:02, 14.81it/s, now=None]t: 63%|######3 \n | 53/84 [00:02<00:02, 13.42it/s, now=None]t: 65%|######5 | 55/84 [00:02<00:02, 13.78it/s, now=None]t: \n 68%|######7 | 57/84 [00:03<00:01, 13.98it/s, now=None]t: 70%|####### | 59/84 [00:03<00:01, 14.07it/s, \n now=None]t: 73%|#######2 | 61/84 [00:03<00:01, 12.65it/s, now=None]t: 75%|#######5 | 63/84 [00:03<00:02, \n 9.41it/s, now=None]t: 77%|#######7 | 65/84 [00:03<00:02, 8.45it/s, now=None]t: 79%|#######8 | 66/84 \n [00:04<00:02, 8.19it/s, now=None]t: 80%|#######9 | 67/84 [00:04<00:02, 8.23it/s, now=None]t: 81%|######## \n | 68/84 [00:04<00:02, 7.99it/s, now=None]t: 83%|########3 | 70/84 [00:04<00:01, 9.22it/s, now=None]t: \n 85%|########4 | 71/84 [00:04<00:01, 8.74it/s, now=None]t: 87%|########6 | 73/84 [00:04<00:01, 9.11it/s, \n now=None]t: 89%|########9 | 75/84 [00:05<00:01, 8.92it/s, now=None]t: 90%|######### | 76/84 [00:05<00:00, \n 8.64it/s, now=None]t: 92%|#########1| 77/84 [00:05<00:00, 8.09it/s, now=None]t: 93%|#########2| 78/84 \n [00:05<00:00, 7.87it/s, now=None]t: 94%|#########4| 79/84 [00:05<00:00, 8.23it/s, now=None]t: \n 95%|#########5| 80/84 [00:05<00:00, 8.24it/s, now=None]t: 96%|#########6| 81/84 [00:05<00:00, 8.61it/s, \n now=None]t: 98%|#########7| 82/84 [00:05<00:00, 8.65it/s, now=None]t: 100%|##########| 84/84 [00:06<00:00, \n 8.56it/s, now=None] Moviepy - Done ! \n Moviepy - video ready final_video.mp4 \n None \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m | 29/84 [00:01<00:02, 22.13it/s, now=None]t: 38%|###8 | 32/84 [00:01<00:02, 23.60it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m42%|####1 | 35/84 [00:01<00:02, 23.60it/s, now=None]t: 45%|####5 | 38/84 [00:01<00:02, 22.13it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 49%|####8 | 41/84 [00:01<00:02, 21.33it/s, now=None]t: 52%|#####2 | 44/84 [00:01<00:01, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m20.25it/s, now=None]t: 56%|#####5 | 47/84 [00:02<00:02, 16.81it/s, now=None]t: 58%|#####8 | 49/84 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:02<00:02, 15.82it/s, now=None]t: 61%|###### | 51/84 [00:02<00:02, 14.81it/s, now=None]t: 63%|######3 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m| 53/84 [00:02<00:02, 13.42it/s, now=None]t: 65%|######5 | 55/84 [00:02<00:02, 13.78it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m68%|######7 | 57/84 [00:03<00:01, 13.98it/s, now=None]t: 70%|####### | 59/84 [00:03<00:01, 14.07it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 73%|#######2 | 61/84 [00:03<00:01, 12.65it/s, now=None]t: 75%|#######5 | 63/84 [00:03<00:02, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m9.41it/s, now=None]t: 77%|#######7 | 65/84 [00:03<00:02, 8.45it/s, now=None]t: 79%|#######8 | 66/84 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:04<00:02, 8.19it/s, now=None]t: 80%|#######9 | 67/84 [00:04<00:02, 8.23it/s, now=None]t: 81%|######## \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m| 68/84 [00:04<00:02, 7.99it/s, now=None]t: 83%|########3 | 70/84 [00:04<00:01, 9.22it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m85%|########4 | 71/84 [00:04<00:01, 8.74it/s, now=None]t: 87%|########6 | 73/84 [00:04<00:01, 9.11it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 89%|########9 | 75/84 [00:05<00:01, 8.92it/s, now=None]t: 90%|######### | 76/84 [00:05<00:00, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m8.64it/s, now=None]t: 92%|#########1| 77/84 [00:05<00:00, 8.09it/s, now=None]t: 93%|#########2| 78/84 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:05<00:00, 7.87it/s, now=None]t: 94%|#########4| 79/84 [00:05<00:00, 8.23it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m95%|#########5| 80/84 [00:05<00:00, 8.24it/s, now=None]t: 96%|#########6| 81/84 [00:05<00:00, 8.61it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 98%|#########7| 82/84 [00:05<00:00, 8.65it/s, now=None]t: 100%|##########| 84/84 [00:06<00:00, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m8.56it/s, now=None] Moviepy - Done !\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - video ready final_video.mp4\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mNone\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "a8733b66c6594a9b82309adeda08104f": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_d6a7ae990c474869934f5862a89dd274", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n output = replicate.run( \n 'jagilley/controlnet-canny:aff48af9c68d162388d230a2ab003f68d2638d88307bdaf1c2f1ac95079c9613', \n input={'image': open('victoria.png', 'rb'), 'prompt': 'metal'} \n ) \n output_second = output[1] \n output_second \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplicate\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrun\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mjagilley/controlnet-canny:aff48af9c68d162388d230a2ab003f68d2638d88307bdaf1c2f1ac95079c9613\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minput\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m{\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mimage\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mopen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mvictoria.png\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mrb\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mprompt\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mmetal\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m}\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput_second\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput_second\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "aa6c553f705d413fb4908e0d97aa017d": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_8df28d357a604e64b6d7353891fbdaa3", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n It appears that the Stretch class is not available in the pedalboard module. However, there is a PitchShift \n class which might be used to achieve a similar effect. Let's try using that instead. \n \n\n", "text/plain": " \n It appears that the \u001b[1;36;40mStretch\u001b[0m class is not available in the \u001b[1;36;40mpedalboard\u001b[0m module. However, there is a \u001b[1;36;40mPitchShift\u001b[0m \n class which might be used to achieve a similar effect. Let's try using that instead. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "aae61f21148843148e082f1349b130ae": { "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 } }, "ad1cdb2076be4851b5d3a9af551e2e1e": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_0cbcc3ce78ac4df28d0326e591a2418e", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Moviepy - Building video video.mp4. \n Moviepy - Writing video video.mp4 \n \n \n t: 0%| | 0/12 [00:00<?, ?it/s, now=None] \n Moviepy - Done ! \n Moviepy - video ready video.mp4 \n None \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - Building video video.mp4.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - Writing video video.mp4\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mt: 0%| | 0/12 [00:00, ?it/s, now=None]\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Moviepy - Done !\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - video ready video.mp4\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mNone\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "aeb40687d81a48e19f173059cc9f7100": { "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 } }, "afddf4997e1a4d009f278b34486a71aa": { "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 } }, "affa3daf1b964d0995f83ab890e1e214": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_45d35e811af74d4b9798eb2efa6fbe19", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n It appears that the folder named 'documents' was created successfully. Now, let's create the document files \n with sentences about machine learning. For this, I'm going to use the python-docx package. I'll install it now. \n Let's do this step-by-step for clarity. \n \n First, I'll install the package. \n \n\n", "text/plain": " \n It appears that the folder named 'documents' was created successfully. Now, let's create the document files \n with sentences about machine learning. For this, I'm going to use the python-docx package. I'll install it now. \n Let's do this step-by-step for clarity. \n \n First, I'll install the package. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b1ed6a8960964d01937082e84b55cf3a": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2d23c9f050f745cdaadd6806811fe0ff", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n from PIL import Image, ImageDraw \n import random \n \n # Define the image dimensions and colors \n width, height = 160, 14 \n black = (0, 0, 0) \n white = (255, 255, 255) \n purple = (138, 43, 226) \n \n # Function to create a single banner \n def create_banner(filename): \n # Create a new image with a black background \n img = Image.new('RGB', (width, height), black) \n draw = ImageDraw.Draw(img) \n \n # Loop over every other row \n for y in range(0, height, 2): \n x = 0 \n # Randomly decide whether to start with a rectangle or a space \n start_with_rectangle = random.choice([True, False]) \n while x < width: \n if start_with_rectangle: \n # Draw a rectangle \n rectangle_width = random.randint(6, 36) \n color = random.choice([white, purple]) \n draw.rectangle([(x, y), (x + rectangle_width, y)], fill=color) \n x += rectangle_width \n else: \n # Leave a space \n space_width = random.randint(16, 64) \n x += space_width \n # Flip the flag for the next iteration \n start_with_rectangle = not start_with_rectangle \n \n # Scale up the image \n img = img.resize((width * 10, height * 10), Image.NEAREST) \n \n # Save the image \n img.save(filename) \n \n # Create 10 banners \n for i in range(1, 11): \n create_banner(f'banner_{i}.png') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPIL\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImage\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageDraw\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrandom\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Define the image dimensions and colors\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheight\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m160\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m14\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mblack\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwhite\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m255\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m255\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m255\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpurple\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m138\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m43\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m226\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Function to create a single banner\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mcreate_banner\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a new image with a black background\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImage\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mRGB\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheight\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mblack\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdraw\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageDraw\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mDraw\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Loop over every other row\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34my\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrange\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheight\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m2\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Randomly decide whether to start with a rectangle or a space\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_with_rectangle\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrandom\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mchoice\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mTrue\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mFalse\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mwhile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m<\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_with_rectangle\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Draw a rectangle\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrectangle_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrandom\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrandint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m6\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m36\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcolor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrandom\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mchoice\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwhite\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpurple\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdraw\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrectangle\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34my\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrectangle_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34my\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfill\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcolor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrectangle_width\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34melse\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Leave a space\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mspace_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrandom\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrandint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m16\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m64\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mspace_width\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Flip the flag for the next iteration\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_with_rectangle\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mnot\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_with_rectangle\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Scale up the image\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimg\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mresize\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m10\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheight\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m10\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImage\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mNEAREST\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the image\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimg\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msave\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create 10 banners\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrange\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m11\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcreate_banner\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mbanner_\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.png\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b21732a379674ae7860fca91e4741739": { "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 } }, "b37d96a06ec148fab77a1a5121bfc74b": { "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 } }, "b3a3183812fa46d7af4dcade094153d1": { "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 } }, "b3e874cde5924727b3c2cdb93de1e68a": { "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 } }, "b460785b83194ce8a69121c358c2a5a8": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c7e4f15aa81a48d9a390beb2ebb24cd3", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Requirement already satisfied: pedalboard in /usr/local/lib/python3.10/dist-packages (0.7.5) \n Requirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from pedalboard) (1.22.4) \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pedalboard in /usr/local/lib/python3.10/dist-packages (0.7.5)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: numpy in /usr/local/lib/python3.10/dist-packages (from pedalboard) (1.22.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b5508ace4d4844b68a2fc0f23e320db9": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2acee6da53c748b194bd4445bdba02a4", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I have deleted the old files and renamed the new ones with the same names as the original files. You should now \n see only the updated files in your 'documents' folder. All references to 'Machine Learning' have been replaced \n with 'AI' in these files. Feel free to check them and let me know if you have any other requests! \n \n\n", "text/plain": " \n I have deleted the old files and renamed the new ones with the same names as the original files. You should now \n see only the updated files in your 'documents' folder. All references to 'Machine Learning' have been replaced \n with 'AI' in these files. Feel free to check them and let me know if you have any other requests! \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b821ba1c3698465092f5d390725fd535": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_93d564a6d8c842f29e3fcb5e8b8d2a18", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n ['.config', 'original_video.mp4.webm', 'sample_data'] \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m['.config', 'original_video.mp4.webm', 'sample_data']\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "b94baeecf44949ee9e76b2c080f0b3db": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_3164bb1a7475448e9f5bcaaadd74c63d", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install yt-dlp \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34myt\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdlp\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "bbf6af49c88c4c5d909b61ad8b67b5fa": { "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 } }, "bc0abb5adb504f1395bbff2e8a5404ef": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_18a380ea6a594f64b8381b1cd1bb2594", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Processing doc2.docx \n Finished processing doc2.docx \n Processing doc4.docx \n Finished processing doc4.docx \n Processing doc5.docx \n Finished processing doc5.docx \n Processing doc1.docx \n Finished processing doc1.docx \n Processing doc3.docx \n Finished processing doc3.docx \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessing doc2.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mFinished processing doc2.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessing doc4.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mFinished processing doc4.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessing doc5.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mFinished processing doc5.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessing doc1.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mFinished processing doc1.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessing doc3.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mFinished processing doc3.docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "bd5ea7bd835a483095abe490c447dd32": { "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 } }, "bfffa91fc96f4f5b9ca25b29025938c6": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_d007873a1ec540b9b73cba17251362b0", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n from pydub import AudioSegment \n \n # Convert webm file to wav \n song = AudioSegment.from_file('original_song.webm') \n song.export('original_song.wav', format='wav') \n \n # Load the audio file \n audio, sample_rate = sf.read('original_song.wav') \n \n # Create a Pedalboard instance \n board = Pedalboard([ \n PitchShift(semitones=-5), # Lower the pitch \n Reverb(room_size=0.5, dry_level=0.5, wet_level=0.5) # Add reverb \n ]) \n \n # Process the audio \n processed_audio = board.process(audio, sample_rate=sample_rate) \n \n # Save the processed audio to a new file \n sf.write('processed_song.wav', processed_audio, sample_rate) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpydub\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mAudioSegment\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Convert webm file to wav\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msong\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mAudioSegment\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfrom_file\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_song.webm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msong\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mexport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_song.wav\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mformat\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mwav\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Load the audio file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mread\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_song.wav\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a Pedalboard instance\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPitchShift\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msemitones\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Lower the pitch\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mReverb\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mroom_size\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdry_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwet_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Add reverb\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process the audio\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocess\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the processed audio to a new file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mprocessed_song.wav\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "c0a1d45a04b7406683954288d08915b1": { "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 } }, "c18416a315554529bbf7f4f4543ecaa3": { "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 } }, "c22ab4bfa43a460088c58b6679d60360": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2e9f43e734694e76829a9ed2a61439be", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n The video has been successfully downloaded and modified to have a frame rate of 12 fps for the segment from \n 0:10 to 0:17. The next step is to redraw each frame using ControlNet with random prompts that evoke a stop \n motion / hand-drawn animation feeling. \n \n Let's start by extracting all frames from the modified video. Then we will process each frame with ControlNet. \n \n\n", "text/plain": " \n The video has been successfully downloaded and modified to have a frame rate of 12 fps for the segment from \n 0:10 to 0:17. The next step is to redraw each frame using ControlNet with random prompts that evoke a stop \n motion / hand-drawn animation feeling. \n \n Let's start by extracting all frames from the modified video. Then we will process each frame with ControlNet. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "c31a702d90604293b9494824157c5493": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_77e0222fd2c54dbca7932d57e517601a", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Traceback (most recent call last): \n Cell In[9], line 2 \n from pedalboard import Pedalboard, Reverb, Stretch \n ImportError: cannot import name 'Stretch' from 'pedalboard' \n (/usr/local/lib/python3.10/dist-packages/pedalboard/__init__.py) \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[9], line 2\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m from pedalboard import Pedalboard, Reverb, Stretch\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mImportError: cannot import name 'Stretch' from 'pedalboard' \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(/usr/local/lib/python3.10/dist-packages/pedalboard/__init__.py)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "c39c77408c5e4ab99f127a1306f27554": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_ece854c5547443d78f1e8c0d8960ad47", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Great, the necessary packages have been installed. Now, let's proceed with the following steps: \n \n 1 Download the video from the provided YouTube link. \n 2 Extract the audio from the video for later use. \n 3 Cut the video to the desired time range (0:10 to 0:17). \n 4 Reduce the frame rate of the video to 12 fps. \n 5 Save each frame of the video as an image. \n 6 Use ControlNet to redraw each image with a random prompt. \n 7 Combine the redrawn images into a new video. \n 8 Add the original audio back to the new video. \n \n Let's start with step 1: Downloading the video. \n \n\n", "text/plain": " \n Great, the necessary packages have been installed. Now, let's proceed with the following steps: \n \n \u001b[1;33m 1 \u001b[0mDownload the video from the provided YouTube link. \n \u001b[1;33m 2 \u001b[0mExtract the audio from the video for later use. \n \u001b[1;33m 3 \u001b[0mCut the video to the desired time range (0:10 to 0:17). \n \u001b[1;33m 4 \u001b[0mReduce the frame rate of the video to 12 fps. \n \u001b[1;33m 5 \u001b[0mSave each frame of the video as an image. \n \u001b[1;33m 6 \u001b[0mUse ControlNet to redraw each image with a random prompt. \n \u001b[1;33m 7 \u001b[0mCombine the redrawn images into a new video. \n \u001b[1;33m 8 \u001b[0mAdd the original audio back to the new video. \n \n Let's start with step 1: Downloading the video. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "c72c1bac807b40d297fdba74958df4de": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_fe21edae84cc4778a3ddc2fcaedfbc3d", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Requirement already satisfied: replicate in /usr/local/lib/python3.10/dist-packages (0.8.4) \n Requirement already satisfied: moviepy in /usr/local/lib/python3.10/dist-packages (1.0.3) \n Requirement already satisfied: pysrt in /usr/local/lib/python3.10/dist-packages (1.1.2) \n Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from replicate) (23.1) \n Requirement already satisfied: pydantic<2,>1 in /usr/local/lib/python3.10/dist-packages (from replicate) \n (1.10.11) \n Requirement already satisfied: requests>2 in /usr/local/lib/python3.10/dist-packages (from replicate) (2.27.1) \n Requirement already satisfied: decorator<5.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (4.4.2) \n Requirement already satisfied: tqdm<5.0,>=4.11.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (4.65.0) \n Requirement already satisfied: proglog<=1.0.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (0.1.10) \n Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from moviepy) (1.22.4) \n Requirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (2.25.1) \n Requirement already satisfied: imageio-ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (0.4.8) \n Requirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (from pysrt) (4.0.0) \n Requirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from \n imageio<3.0,>=2.5->moviepy) (8.4.0) \n Requirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.10/dist-packages (from \n pydantic<2,>1->replicate) (4.7.1) \n Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from \n requests>2->replicate) (1.26.16) \n Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from \n requests>2->replicate) (2023.5.7) \n Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \n requests>2->replicate) (2.0.12) \n Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from \n requests>2->replicate) (3.4) \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: replicate in /usr/local/lib/python3.10/dist-packages (0.8.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: moviepy in /usr/local/lib/python3.10/dist-packages (1.0.3)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pysrt in /usr/local/lib/python3.10/dist-packages (1.1.2)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from replicate) (23.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pydantic<2,>1 in /usr/local/lib/python3.10/dist-packages (from replicate) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(1.10.11)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: requests>2 in /usr/local/lib/python3.10/dist-packages (from replicate) (2.27.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: decorator<5.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.4.2)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: tqdm<5.0,>=4.11.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.65.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: proglog<=1.0.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(0.1.10)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.10/dist-packages (from moviepy) (1.22.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(2.25.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: imageio-ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(0.4.8)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: chardet in /usr/local/lib/python3.10/dist-packages (from pysrt) (4.0.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mimageio<3.0,>=2.5->moviepy) (8.4.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: typing-extensions>=4.2.0 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mpydantic<2,>1->replicate) (4.7.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests>2->replicate) (1.26.16)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests>2->replicate) (2023.5.7)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests>2->replicate) (2.0.12)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests>2->replicate) (3.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "c7e4f15aa81a48d9a390beb2ebb24cd3": { "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 } }, "c89ae989cd4549e58606b7d2cd95ece4": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_aae61f21148843148e082f1349b130ae", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I have successfully hardcoded the subtitles into the video and created a new file named billy_subbed.mp4. Now, \n you should be able to play the video with the subtitles displayed at the bottom. Let me know if there is \n anything else I can help you with. \n \n\n",
"text/plain": " \n I have successfully hardcoded the subtitles into the video and created a new file named \u001b[1;36;40mbilly_subbed.mp4\u001b[0m. Now, \n you should be able to play the video with the subtitles displayed at the bottom. Let me know if there is \n anything else I can help you with. \n \n"
},
"metadata": {},
"output_type": "display_data"
}
]
}
},
"c97723ce541246e28c2ec4459cc3151f": {
"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
}
},
"caec7c9c20f848d0b94b4dd0db73892c": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_0d24fe34dd454245ab16fd84734a063d",
"msg_id": "",
"outputs": [
{
"data": {
"text/html": "\n Traceback (most recent call last): \n Cell In[9], line 4 \n processed_audio = board.process(audio, sample_rate=sample_rate) \n NameError: name 'audio' is not defined \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[9], line 4\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m processed_audio = board.process(audio, sample_rate=sample_rate)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mNameError: name 'audio' is not defined\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "cc1a30ae29f5499d8156470700faae6c": { "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 } }, "cc23e29c55ac41fa9bfbb35230fb67e7": { "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 } }, "cf53e6745eb14d44a6ce84d8f1efb3e9": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9d35e8077b634453a9da6c9bdf55c104", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import soundfile as sf \n from pedalboard import Pedalboard, Reverb, Stretch \n \n # Load the audio file \n audio, sample_rate = sf.read('original_song.webm') \n \n # Create a Pedalboard instance \n board = Pedalboard([ \n Stretch(factor=0.8), # Slow down by 20% \n Reverb(room_size=0.5, dry_level=0.5, wet_level=0.5) # Add reverb \n ], sample_rate=sample_rate) \n \n # Process the audio \n processed_audio = board(audio) \n \n # Save the processed audio to a new file \n sf.write('processed_song.wav', processed_audio, sample_rate) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msoundfile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mReverb\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mStretch\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Load the audio file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mread\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_song.webm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a Pedalboard instance\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mStretch\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfactor\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.8\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Slow down by 20%\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mReverb\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mroom_size\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdry_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwet_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Add reverb\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process the audio\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the processed audio to a new file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mprocessed_song.wav\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "d007873a1ec540b9b73cba17251362b0": { "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 } }, "d045b96ac66249c6af3b39562216c469": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_e32b943cf46c49b49a53275b33b06072", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Collecting python-docx \n Downloading python-docx-0.8.11.tar.gz (5.6 MB) \n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/5.6 MB ? eta -:--:-- \n ━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/5.6 MB 50.5 MB/s eta 0:00:01 \n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━ 4.2/5.6 MB 69.5 MB/s eta 0:00:01 \n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 5.6/5.6 MB 67.5 MB/s eta 0:00:01 \n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.6/5.6 MB 46.8 MB/s eta 0:00:00 \n Preparing metadata (setup.py) ... done \n Requirement already satisfied: lxml>=2.3.2 in /usr/local/lib/python3.10/dist-packages (from python-docx) \n (4.9.3) \n Building wheels for collected packages: python-docx \n Building wheel for python-docx (setup.py) ... done \n Created wheel for python-docx: filename=python_docx-0.8.11-py3-none-any.whl size=184491 \n sha256=6df55c1b8dfc526237f9d47c2bee330c560a1087b2525c78bb00a4a383104b5d \n Stored in directory: /root/.cache/pip/wheels/80/27/06/837436d4c3bd989b957a91679966f207bfd71d358d63a8194d \n Successfully built python-docx \n Installing collected packages: python-docx \n Successfully installed python-docx-0.8.11 \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCollecting python-docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Downloading python-docx-0.8.11.tar.gz (5.6 MB)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/5.6 MB ? eta -:--:-- \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m━━━━━━━━━━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/5.6 MB 50.5 MB/s eta 0:00:01 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━ 4.2/5.6 MB 69.5 MB/s eta 0:00:01 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 5.6/5.6 MB 67.5 MB/s eta 0:00:01 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.6/5.6 MB 46.8 MB/s eta 0:00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Preparing metadata (setup.py) ... done\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: lxml>=2.3.2 in /usr/local/lib/python3.10/dist-packages (from python-docx) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.9.3)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mBuilding wheels for collected packages: python-docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Building wheel for python-docx (setup.py) ... done\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Created wheel for python-docx: filename=python_docx-0.8.11-py3-none-any.whl size=184491 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55msha256=6df55c1b8dfc526237f9d47c2bee330c560a1087b2525c78bb00a4a383104b5d\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Stored in directory: /root/.cache/pip/wheels/80/27/06/837436d4c3bd989b957a91679966f207bfd71d358d63a8194d\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mSuccessfully built python-docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mInstalling collected packages: python-docx\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mSuccessfully installed python-docx-0.8.11\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "d0aafd6be71f4f548e2ef6df1fb0dde1": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_b21732a379674ae7860fca91e4741739", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install pedalboard \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpedalboard\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "d6a7ae990c474869934f5862a89dd274": { "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 } }, "d70ab8f629f446c19c41c3293b905d83": { "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 } }, "d77d9d8269874d54b6762f634e916206": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9d1e55aa8c544a3aa780fa2230b82c21", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Output truncated. Showing the last 7000 characters: \n \n 8 | 1288/1463 [02:39<00:16, 10.66it/s, now=None]t: 88%|########8 | 1290/1463 [02:39<00:18, 9.20it/s, \n now=None]t: 88%|########8 | 1292/1463 [02:40<00:16, 10.52it/s, now=None]t: 88%|########8 | 1294/1463 \n [02:40<00:18, 9.10it/s, now=None]t: 89%|########8 | 1296/1463 [02:40<00:16, 10.19it/s, now=None]t: \n 89%|########8 | 1298/1463 [02:40<00:15, 10.70it/s, now=None]t: 89%|########8 | 1300/1463 [02:40<00:17, \n 9.37it/s, now=None]t: 89%|########8 | 1302/1463 [02:41<00:15, 10.43it/s, now=None]t: 89%|########9 | \n 1304/1463 [02:41<00:16, 9.66it/s, now=None]t: 89%|########9 | 1306/1463 [02:41<00:15, 10.43it/s, now=None]t: \n 89%|########9 | 1308/1463 [02:41<00:16, 9.48it/s, now=None]t: 90%|########9 | 1310/1463 [02:41<00:15, \n 9.96it/s, now=None]t: 90%|########9 | 1312/1463 [02:42<00:15, 9.68it/s, now=None]t: 90%|########9 | \n 1315/1463 [02:42<00:13, 10.98it/s, now=None]t: 90%|######### | 1317/1463 [02:42<00:12, 11.56it/s, now=None]t: \n 90%|######### | 1319/1463 [02:42<00:15, 9.50it/s, now=None]t: 90%|######### | 1321/1463 [02:43<00:15, \n 9.40it/s, now=None]t: 90%|######### | 1322/1463 [02:43<00:14, 9.42it/s, now=None]t: 90%|######### | \n 1324/1463 [02:43<00:15, 9.11it/s, now=None]t: 91%|######### | 1325/1463 [02:43<00:14, 9.25it/s, now=None]t: \n 91%|######### | 1327/1463 [02:43<00:12, 11.31it/s, now=None]t: 91%|######### | 1329/1463 [02:43<00:14, \n 9.57it/s, now=None]t: 91%|######### | 1331/1463 [02:44<00:15, 8.62it/s, now=None]t: 91%|#########1| \n 1333/1463 [02:44<00:12, 10.34it/s, now=None]t: 91%|#########1| 1335/1463 [02:44<00:13, 9.21it/s, now=None]t: \n 91%|#########1| 1337/1463 [02:44<00:12, 10.30it/s, now=None]t: 92%|#########1| 1339/1463 [02:44<00:13, \n 9.06it/s, now=None]t: 92%|#########1| 1341/1463 [02:45<00:12, 10.11it/s, now=None]t: 92%|#########1| \n 1343/1463 [02:45<00:13, 9.08it/s, now=None]t: 92%|#########1| 1345/1463 [02:45<00:12, 9.61it/s, now=None]t: \n 92%|#########2| 1347/1463 [02:45<00:10, 11.20it/s, now=None]t: 92%|#########2| 1349/1463 [02:45<00:11, \n 9.58it/s, now=None]t: 92%|#########2| 1351/1463 [02:46<00:11, 9.57it/s, now=None]t: 92%|#########2| \n 1353/1463 [02:46<00:10, 10.70it/s, now=None]t: 93%|#########2| 1355/1463 [02:46<00:10, 10.17it/s, now=None]t: \n 93%|#########2| 1357/1463 [02:46<00:10, 10.28it/s, now=None]t: 93%|#########2| 1359/1463 [02:46<00:09, \n 10.94it/s, now=None]t: 93%|#########3| 1361/1463 [02:47<00:12, 8.09it/s, now=None]t: 93%|#########3| \n 1363/1463 [02:47<00:11, 8.84it/s, now=None]t: 93%|#########3| 1365/1463 [02:47<00:12, 7.58it/s, now=None]t: \n 93%|#########3| 1367/1463 [02:48<00:14, 6.47it/s, now=None]t: 94%|#########3| 1369/1463 [02:48<00:12, \n 7.48it/s, now=None]t: 94%|#########3| 1370/1463 [02:48<00:12, 7.29it/s, now=None]t: 94%|#########3| \n 1371/1463 [02:48<00:15, 5.85it/s, now=None]t: 94%|#########3| 1372/1463 [02:48<00:14, 6.33it/s, now=None]t: \n 94%|#########3| 1373/1463 [02:49<00:14, 6.11it/s, now=None]t: 94%|#########3| 1374/1463 [02:49<00:14, \n 6.17it/s, now=None]t: 94%|#########3| 1375/1463 [02:49<00:15, 5.59it/s, now=None]t: 94%|#########4| \n 1376/1463 [02:49<00:13, 6.28it/s, now=None]t: 94%|#########4| 1377/1463 [02:49<00:12, 6.97it/s, now=None]t: \n 94%|#########4| 1378/1463 [02:49<00:14, 6.04it/s, now=None]t: 94%|#########4| 1379/1463 [02:50<00:16, \n 5.17it/s, now=None]t: 94%|#########4| 1380/1463 [02:50<00:15, 5.41it/s, now=None]t: 94%|#########4| \n 1382/1463 [02:50<00:11, 7.30it/s, now=None]t: 95%|#########4| 1383/1463 [02:50<00:13, 5.78it/s, now=None]t: \n 95%|#########4| 1384/1463 [02:50<00:13, 5.78it/s, now=None]t: 95%|#########4| 1386/1463 [02:51<00:12, \n 6.03it/s, now=None]t: 95%|#########4| 1387/1463 [02:51<00:11, 6.52it/s, now=None]t: 95%|#########4| \n 1388/1463 [02:51<00:10, 7.11it/s, now=None]t: 95%|#########4| 1389/1463 [02:51<00:10, 7.06it/s, now=None]t: \n 95%|#########5| 1390/1463 [02:51<00:13, 5.49it/s, now=None]t: 95%|#########5| 1391/1463 [02:52<00:12, \n 5.90it/s, now=None]t: 95%|#########5| 1393/1463 [02:52<00:08, 8.30it/s, now=None]t: 95%|#########5| \n 1394/1463 [02:52<00:15, 4.56it/s, now=None]t: 95%|#########5| 1396/1463 [02:52<00:11, 5.99it/s, now=None]t: \n 95%|#########5| 1397/1463 [02:53<00:11, 5.53it/s, now=None]t: 96%|#########5| 1398/1463 [02:53<00:11, \n 5.87it/s, now=None]t: 96%|#########5| 1400/1463 [02:53<00:11, 5.35it/s, now=None]t: 96%|#########5| \n 1401/1463 [02:53<00:10, 5.92it/s, now=None]t: 96%|#########5| 1403/1463 [02:54<00:10, 5.85it/s, now=None]t: \n 96%|#########6| 1405/1463 [02:54<00:07, 7.74it/s, now=None]t: 96%|#########6| 1407/1463 [02:54<00:09, \n 6.09it/s, now=None]t: 96%|#########6| 1409/1463 [02:54<00:07, 6.86it/s, now=None]t: 96%|#########6| \n 1410/1463 [02:55<00:09, 5.53it/s, now=None]t: 97%|#########6| 1412/1463 [02:55<00:07, 6.96it/s, now=None]t: \n 97%|#########6| 1413/1463 [02:55<00:07, 6.90it/s, now=None]t: 97%|#########6| 1414/1463 [02:55<00:09, \n 5.34it/s, now=None]t: 97%|#########6| 1416/1463 [02:56<00:08, 5.72it/s, now=None]t: 97%|#########6| \n 1417/1463 [02:56<00:07, 6.29it/s, now=None]t: 97%|#########6| 1419/1463 [02:56<00:05, 7.89it/s, now=None]t: \n 97%|#########7| 1420/1463 [02:56<00:07, 6.11it/s, now=None]t: 97%|#########7| 1422/1463 [02:57<00:06, \n 6.33it/s, now=None]t: 97%|#########7| 1423/1463 [02:57<00:05, 6.70it/s, now=None]t: 97%|#########7| \n 1424/1463 [02:57<00:05, 7.00it/s, now=None]t: 97%|#########7| 1425/1463 [02:57<00:05, 7.39it/s, now=None]t: \n 97%|#########7| 1426/1463 [02:57<00:06, 6.13it/s, now=None]t: 98%|#########7| 1428/1463 [02:57<00:04, \n 7.72it/s, now=None]t: 98%|#########7| 1429/1463 [02:57<00:04, 7.34it/s, now=None]t: 98%|#########7| \n 1430/1463 [02:58<00:05, 5.94it/s, now=None]t: 98%|#########7| 1432/1463 [02:58<00:04, 7.63it/s, now=None]t: \n 98%|#########7| 1433/1463 [02:58<00:03, 7.50it/s, now=None]t: 98%|#########8| 1434/1463 [02:58<00:04, \n 6.56it/s, now=None]t: 98%|#########8| 1436/1463 [02:58<00:03, 7.82it/s, now=None]t: 98%|#########8| \n 1438/1463 [02:59<00:02, 9.68it/s, now=None]t: 98%|#########8| 1440/1463 [02:59<00:02, 8.59it/s, now=None]t: \n 99%|#########8| 1442/1463 [02:59<00:02, 10.36it/s, now=None]t: 99%|#########8| 1444/1463 [02:59<00:02, \n 9.01it/s, now=None]t: 99%|#########8| 1446/1463 [02:59<00:01, 9.91it/s, now=None]t: 99%|#########8| \n 1448/1463 [03:00<00:01, 9.94it/s, now=None]t: 99%|#########9| 1450/1463 [03:00<00:01, 10.22it/s, now=None]t: \n 99%|#########9| 1452/1463 [03:00<00:01, 10.75it/s, now=None]t: 99%|#########9| 1454/1463 [03:00<00:00, \n 10.87it/s, now=None]t: 100%|#########9| 1456/1463 [03:00<00:00, 10.56it/s, now=None]t: 100%|#########9| \n 1458/1463 [03:00<00:00, 11.16it/s, now=None]t: 100%|#########9| 1460/1463 [03:01<00:00, 10.43it/s, now=None]t: \n 100%|#########9| 1462/1463 [03:01<00:00, 11.59it/s, now=None] \n Moviepy - Done ! \n Moviepy - video ready billy_subbed.mp4 \n None \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 7000 characters:\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m8 | 1288/1463 [02:39<00:16, 10.66it/s, now=None]t: 88%|########8 | 1290/1463 [02:39<00:18, 9.20it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 88%|########8 | 1292/1463 [02:40<00:16, 10.52it/s, now=None]t: 88%|########8 | 1294/1463 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[02:40<00:18, 9.10it/s, now=None]t: 89%|########8 | 1296/1463 [02:40<00:16, 10.19it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m89%|########8 | 1298/1463 [02:40<00:15, 10.70it/s, now=None]t: 89%|########8 | 1300/1463 [02:40<00:17, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m9.37it/s, now=None]t: 89%|########8 | 1302/1463 [02:41<00:15, 10.43it/s, now=None]t: 89%|########9 | \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1304/1463 [02:41<00:16, 9.66it/s, now=None]t: 89%|########9 | 1306/1463 [02:41<00:15, 10.43it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m89%|########9 | 1308/1463 [02:41<00:16, 9.48it/s, now=None]t: 90%|########9 | 1310/1463 [02:41<00:15, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m9.96it/s, now=None]t: 90%|########9 | 1312/1463 [02:42<00:15, 9.68it/s, now=None]t: 90%|########9 | \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1315/1463 [02:42<00:13, 10.98it/s, now=None]t: 90%|######### | 1317/1463 [02:42<00:12, 11.56it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m90%|######### | 1319/1463 [02:42<00:15, 9.50it/s, now=None]t: 90%|######### | 1321/1463 [02:43<00:15, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m9.40it/s, now=None]t: 90%|######### | 1322/1463 [02:43<00:14, 9.42it/s, now=None]t: 90%|######### | \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1324/1463 [02:43<00:15, 9.11it/s, now=None]t: 91%|######### | 1325/1463 [02:43<00:14, 9.25it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m91%|######### | 1327/1463 [02:43<00:12, 11.31it/s, now=None]t: 91%|######### | 1329/1463 [02:43<00:14, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m9.57it/s, now=None]t: 91%|######### | 1331/1463 [02:44<00:15, 8.62it/s, now=None]t: 91%|#########1| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1333/1463 [02:44<00:12, 10.34it/s, now=None]t: 91%|#########1| 1335/1463 [02:44<00:13, 9.21it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m91%|#########1| 1337/1463 [02:44<00:12, 10.30it/s, now=None]t: 92%|#########1| 1339/1463 [02:44<00:13, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m9.06it/s, now=None]t: 92%|#########1| 1341/1463 [02:45<00:12, 10.11it/s, now=None]t: 92%|#########1| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1343/1463 [02:45<00:13, 9.08it/s, now=None]t: 92%|#########1| 1345/1463 [02:45<00:12, 9.61it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m92%|#########2| 1347/1463 [02:45<00:10, 11.20it/s, now=None]t: 92%|#########2| 1349/1463 [02:45<00:11, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m9.58it/s, now=None]t: 92%|#########2| 1351/1463 [02:46<00:11, 9.57it/s, now=None]t: 92%|#########2| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1353/1463 [02:46<00:10, 10.70it/s, now=None]t: 93%|#########2| 1355/1463 [02:46<00:10, 10.17it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m93%|#########2| 1357/1463 [02:46<00:10, 10.28it/s, now=None]t: 93%|#########2| 1359/1463 [02:46<00:09, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m10.94it/s, now=None]t: 93%|#########3| 1361/1463 [02:47<00:12, 8.09it/s, now=None]t: 93%|#########3| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1363/1463 [02:47<00:11, 8.84it/s, now=None]t: 93%|#########3| 1365/1463 [02:47<00:12, 7.58it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m93%|#########3| 1367/1463 [02:48<00:14, 6.47it/s, now=None]t: 94%|#########3| 1369/1463 [02:48<00:12, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m7.48it/s, now=None]t: 94%|#########3| 1370/1463 [02:48<00:12, 7.29it/s, now=None]t: 94%|#########3| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1371/1463 [02:48<00:15, 5.85it/s, now=None]t: 94%|#########3| 1372/1463 [02:48<00:14, 6.33it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m94%|#########3| 1373/1463 [02:49<00:14, 6.11it/s, now=None]t: 94%|#########3| 1374/1463 [02:49<00:14, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m6.17it/s, now=None]t: 94%|#########3| 1375/1463 [02:49<00:15, 5.59it/s, now=None]t: 94%|#########4| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1376/1463 [02:49<00:13, 6.28it/s, now=None]t: 94%|#########4| 1377/1463 [02:49<00:12, 6.97it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m94%|#########4| 1378/1463 [02:49<00:14, 6.04it/s, now=None]t: 94%|#########4| 1379/1463 [02:50<00:16, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m5.17it/s, now=None]t: 94%|#########4| 1380/1463 [02:50<00:15, 5.41it/s, now=None]t: 94%|#########4| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1382/1463 [02:50<00:11, 7.30it/s, now=None]t: 95%|#########4| 1383/1463 [02:50<00:13, 5.78it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m95%|#########4| 1384/1463 [02:50<00:13, 5.78it/s, now=None]t: 95%|#########4| 1386/1463 [02:51<00:12, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m6.03it/s, now=None]t: 95%|#########4| 1387/1463 [02:51<00:11, 6.52it/s, now=None]t: 95%|#########4| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1388/1463 [02:51<00:10, 7.11it/s, now=None]t: 95%|#########4| 1389/1463 [02:51<00:10, 7.06it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m95%|#########5| 1390/1463 [02:51<00:13, 5.49it/s, now=None]t: 95%|#########5| 1391/1463 [02:52<00:12, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m5.90it/s, now=None]t: 95%|#########5| 1393/1463 [02:52<00:08, 8.30it/s, now=None]t: 95%|#########5| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1394/1463 [02:52<00:15, 4.56it/s, now=None]t: 95%|#########5| 1396/1463 [02:52<00:11, 5.99it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m95%|#########5| 1397/1463 [02:53<00:11, 5.53it/s, now=None]t: 96%|#########5| 1398/1463 [02:53<00:11, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m5.87it/s, now=None]t: 96%|#########5| 1400/1463 [02:53<00:11, 5.35it/s, now=None]t: 96%|#########5| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1401/1463 [02:53<00:10, 5.92it/s, now=None]t: 96%|#########5| 1403/1463 [02:54<00:10, 5.85it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m96%|#########6| 1405/1463 [02:54<00:07, 7.74it/s, now=None]t: 96%|#########6| 1407/1463 [02:54<00:09, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m6.09it/s, now=None]t: 96%|#########6| 1409/1463 [02:54<00:07, 6.86it/s, now=None]t: 96%|#########6| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1410/1463 [02:55<00:09, 5.53it/s, now=None]t: 97%|#########6| 1412/1463 [02:55<00:07, 6.96it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m97%|#########6| 1413/1463 [02:55<00:07, 6.90it/s, now=None]t: 97%|#########6| 1414/1463 [02:55<00:09, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m5.34it/s, now=None]t: 97%|#########6| 1416/1463 [02:56<00:08, 5.72it/s, now=None]t: 97%|#########6| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1417/1463 [02:56<00:07, 6.29it/s, now=None]t: 97%|#########6| 1419/1463 [02:56<00:05, 7.89it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m97%|#########7| 1420/1463 [02:56<00:07, 6.11it/s, now=None]t: 97%|#########7| 1422/1463 [02:57<00:06, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m6.33it/s, now=None]t: 97%|#########7| 1423/1463 [02:57<00:05, 6.70it/s, now=None]t: 97%|#########7| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1424/1463 [02:57<00:05, 7.00it/s, now=None]t: 97%|#########7| 1425/1463 [02:57<00:05, 7.39it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m97%|#########7| 1426/1463 [02:57<00:06, 6.13it/s, now=None]t: 98%|#########7| 1428/1463 [02:57<00:04, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m7.72it/s, now=None]t: 98%|#########7| 1429/1463 [02:57<00:04, 7.34it/s, now=None]t: 98%|#########7| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1430/1463 [02:58<00:05, 5.94it/s, now=None]t: 98%|#########7| 1432/1463 [02:58<00:04, 7.63it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m98%|#########7| 1433/1463 [02:58<00:03, 7.50it/s, now=None]t: 98%|#########8| 1434/1463 [02:58<00:04, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m6.56it/s, now=None]t: 98%|#########8| 1436/1463 [02:58<00:03, 7.82it/s, now=None]t: 98%|#########8| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1438/1463 [02:59<00:02, 9.68it/s, now=None]t: 98%|#########8| 1440/1463 [02:59<00:02, 8.59it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m99%|#########8| 1442/1463 [02:59<00:02, 10.36it/s, now=None]t: 99%|#########8| 1444/1463 [02:59<00:02, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m9.01it/s, now=None]t: 99%|#########8| 1446/1463 [02:59<00:01, 9.91it/s, now=None]t: 99%|#########8| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1448/1463 [03:00<00:01, 9.94it/s, now=None]t: 99%|#########9| 1450/1463 [03:00<00:01, 10.22it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m99%|#########9| 1452/1463 [03:00<00:01, 10.75it/s, now=None]t: 99%|#########9| 1454/1463 [03:00<00:00, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m10.87it/s, now=None]t: 100%|#########9| 1456/1463 [03:00<00:00, 10.56it/s, now=None]t: 100%|#########9| \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1458/1463 [03:00<00:00, 11.16it/s, now=None]t: 100%|#########9| 1460/1463 [03:01<00:00, 10.43it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m100%|#########9| 1462/1463 [03:01<00:00, 11.59it/s, now=None] \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - Done !\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - video ready billy_subbed.mp4\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mNone\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "d7e431b748474de0a69eee41e44d6eb7": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_e343d276aac5477bb4f9917eb5d8d8db", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import os \n \n # List all files in the current directory \n os.listdir() \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# List all files in the current directory\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlistdir\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "d849c6a21c8b41a8bbb0abc8a95997c5": { "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 } }, "d911c9e7aedd42519ee06ef45a0224d2": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_e660cf408ab34428a4f579f4b3770f5e", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n video = VideoFileClip('original_video.mp4.webm') \n \n # Extract the segment from 0:10 to 0:17 \n video = video.subclip(10, 17) \n \n # Reduce the frame rate to 12 fps \n video = video.set_duration(7).set_fps(12) \n \n # Save the modified video \n video.write_videofile('modified_video.mp4', codec='libx264') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mVideoFileClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_video.mp4.webm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Extract the segment from 0:10 to 0:17\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msubclip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m10\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m17\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Reduce the frame rate to 12 fps\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mset_duration\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m7\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mset_fps\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m12\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the modified video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mmodified_video.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcodec\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mlibx264\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "daba6cb342374830be9830b57d96a599": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_41707e7b17314b17a249388903e0ce71", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install yt-dlp moviepy replicate \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34myt\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdlp\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplicate\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "dbb96798015249abbad237f9086ac8ff": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_0b001f96904d4c91bf26ad72420e9cca", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import replicate \n import random \n \n # Define the prompts \n prompts = ['embroidery', 'pencil art', 'claymation', 'yarn on a table'] \n \n # Create a directory to store the redrawn frames \n os.makedirs('redrawn_frames', exist_ok=True) \n \n # Redraw each frame with ControlNet \n for i in range(len(os.listdir('frames'))): \n # Open the frame \n with open(f'frames/frame_{i}.png', 'rb') as f: \n # Run ControlNet on the frame \n output = replicate.run( \n 'jagilley/controlnet-canny:aff48af9c68d162388d230a2ab003f68d2638d88307bdaf1c2f1ac95079c9613', \n input={'image': f, 'prompt': random.choice(prompts)} \n ) \n \n # Download the redrawn frame \n os.system(f'wget {output[1]} -O redrawn_frames/frame_{i}.png') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplicate\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrandom\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Define the prompts\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprompts\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34membroidery\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mpencil art\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mclaymation\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34myarn on a table\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a directory to store the redrawn frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmakedirs\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mredrawn_frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mexist_ok\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mTrue\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Redraw each frame with ControlNet\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrange\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlistdir\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mframes\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Open the frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mwith\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mopen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mframes/frame_\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.png\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mrb\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mf\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Run ControlNet on the frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mreplicate\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrun\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mjagilley/controlnet-canny:aff48af9c68d162388d230a2ab003f68d2638d88307bdaf1c2f1ac95079c9613\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minput\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m{\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mimage\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mf\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mprompt\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrandom\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mchoice\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprompts\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m}\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Download the redrawn frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msystem\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mwget \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m -O redrawn_frames/frame_\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.png\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "dbee4b5e838b4cd6bf8da3949c563daa": { "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 } }, "dcfeecca01c345f58eebb9b6209cb5ad": { "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 } }, "dde784ca98904ba49ba23dda2100076a": { "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 } }, "dfae26728db147cb98311156e758816b": { "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 } }, "dff5f7eed46245c6ba0606360289f704": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_151cf723f20d41c392149082e4b987c6", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n It seems like the video file original_video.mp4 could not be found. This could be because the video was \n downloaded with a different filename. Let's check the current directory to see if the video file is present and \n what its exact filename is. \n \n\n",
"text/plain": " \n It seems like the video file \u001b[1;36;40moriginal_video.mp4\u001b[0m could not be found. This could be because the video was \n downloaded with a different filename. Let's check the current directory to see if the video file is present and \n what its exact filename is. \n \n"
},
"metadata": {},
"output_type": "display_data"
}
]
}
},
"e0ca1b4596b44f4285dcd52000aa62c0": {
"model_module": "@jupyter-widgets/output",
"model_module_version": "1.0.0",
"model_name": "OutputModel",
"state": {
"_dom_classes": [],
"_model_module": "@jupyter-widgets/output",
"_model_module_version": "1.0.0",
"_model_name": "OutputModel",
"_view_count": null,
"_view_module": "@jupyter-widgets/output",
"_view_module_version": "1.0.0",
"_view_name": "OutputView",
"layout": "IPY_MODEL_1356d617a0c74b9fb9dc4f94d78f62aa",
"msg_id": "",
"outputs": [
{
"data": {
"text/html": "\n from pedalboard import Pedalboard, Reverb, PitchShift \n \n # Create a Pedalboard instance \n board = Pedalboard([ \n PitchShift(semitones=-5), # Lower the pitch \n Reverb(room_size=0.5, dry_level=0.5, wet_level=0.5) # Add reverb \n ], sample_rate=sample_rate) \n \n # Process the audio \n processed_audio = board(audio) \n \n # Save the processed audio to a new file \n sf.write('processed_song.wav', processed_audio, sample_rate) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mReverb\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPitchShift\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a Pedalboard instance\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPitchShift\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msemitones\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Lower the pitch\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mReverb\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mroom_size\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdry_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwet_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Add reverb\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process the audio\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the processed audio to a new file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mprocessed_song.wav\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e280512ec6404a2e9849072c1ac4a74a": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_626af5cf397440b2baec64ed98ea5c3f", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Output truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`. \n \n 2.75MiB/s ETA 00:00 (frag 42/43) 101.3% of ~ 44.85MiB at 2.99MiB/s ETA 00:00 (frag 42/43) 100.0% of ~ \n 45.44MiB at 2.75MiB/s ETA 00:00 (frag 43/43) 102.3% of ~ 44.41MiB at 30.40KiB/s ETA -1:59:26 (frag 43/43) \n 102.3% of ~ 44.41MiB at 59.29KiB/s ETA -1:59:43 (frag 43/43) 102.3% of ~ 44.41MiB at 105.76KiB/s ETA \n -1:59:50 (frag 43/43) 102.4% of ~ 44.41MiB at 170.58KiB/s ETA -1:59:54 (frag 43/43) 102.4% of ~ 44.41MiB at \n 297.14KiB/s ETA -1:59:57 (frag 43/43) 102.5% of ~ 44.41MiB at 521.75KiB/s ETA -1:59:58 (frag 43/43) 102.6% of \n ~ 44.41MiB at 912.53KiB/s ETA -1:59:59 (frag 43/43) 102.9% of ~ 44.41MiB at 1.60MiB/s ETA 00:00 (frag \n 43/43) 103.3% of ~ 44.41MiB at 2.49MiB/s ETA 00:00 (frag 43/43) 102.3% of ~ 44.82MiB at 2.28MiB/s \n ETA 00:00 (frag 44/43) 100% of 45.87MiB in 00:00:09 at 4.83MiB/s \n Destination: original_video.mp4.f251.webm \n 0.0% of 3.80MiB at 72.52KiB/s ETA 00:53 0.1% of 3.80MiB at 109.40KiB/s ETA 00:35 0.2% of \n 3.80MiB at 169.45KiB/s ETA 00:22 0.4% of 3.80MiB at 272.40KiB/s ETA 00:14 0.8% of 3.80MiB at \n 450.28KiB/s ETA 00:08 1.6% of 3.80MiB at 750.69KiB/s ETA 00:05 3.3% of 3.80MiB at 1.22MiB/s ETA \n 00:03 6.6% of 3.80MiB at 2.08MiB/s ETA 00:01 13.1% of 3.80MiB at 3.59MiB/s ETA 00:00 26.3% of \n 3.80MiB at 6.15MiB/s ETA 00:00 52.7% of 3.80MiB at 10.69MiB/s ETA 00:00 100.0% of 3.80MiB at \n 16.74MiB/s ETA 00:00 100% of 3.80MiB in 00:00:00 at 14.53MiB/s \n [Merger] Merging formats into \"original_video.mp4.webm\" \n Deleting original file original_video.mp4.f251.webm (pass -k to keep) \n Deleting original file original_video.mp4.f616.mp4 (pass -k to keep) \n 0 \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 2.75MiB/s ETA 00:00 (frag 42/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 101.3% of ~ 44.85MiB at 2.99MiB/s ETA 00:00 (frag 42/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.0% of ~ \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m45.44MiB at 2.75MiB/s ETA 00:00 (frag 43/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 102.3% of ~ 44.41MiB at 30.40KiB/s ETA -1:59:26 (frag 43/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m102.3% of ~ 44.41MiB at 59.29KiB/s ETA -1:59:43 (frag 43/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 102.3% of ~ 44.41MiB at 105.76KiB/s ETA \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m-1:59:50 (frag 43/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 102.4% of ~ 44.41MiB at 170.58KiB/s ETA -1:59:54 (frag 43/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 102.4% of ~ 44.41MiB at \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m297.14KiB/s ETA -1:59:57 (frag 43/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 102.5% of ~ 44.41MiB at 521.75KiB/s ETA -1:59:58 (frag 43/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 102.6% of\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m~ 44.41MiB at 912.53KiB/s ETA -1:59:59 (frag 43/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 102.9% of ~ 44.41MiB at 1.60MiB/s ETA 00:00 (frag \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m43/43) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 103.3% of ~ 44.41MiB at 2.49MiB/s ETA 00:00 (frag 43/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 102.3% of ~ 44.82MiB at 2.28MiB/s \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mETA 00:00 (frag 44/43)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100% of 45.87MiB in 00:00:09 at 4.83MiB/s \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Destination: original_video.mp4.f251.webm\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.0% of 3.80MiB at 72.52KiB/s ETA 00:53\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.1% of 3.80MiB at 109.40KiB/s ETA 00:35\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.2% of \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m3.80MiB at 169.45KiB/s ETA 00:22\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.4% of 3.80MiB at 272.40KiB/s ETA 00:14\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.8% of 3.80MiB at \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m450.28KiB/s ETA 00:08\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 1.6% of 3.80MiB at 750.69KiB/s ETA 00:05\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 3.3% of 3.80MiB at 1.22MiB/s ETA \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m00:03\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 6.6% of 3.80MiB at 2.08MiB/s ETA 00:01\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 13.1% of 3.80MiB at 3.59MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 26.3% of \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m3.80MiB at 6.15MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 52.7% of 3.80MiB at 10.69MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.0% of 3.80MiB at \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m16.74MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100% of 3.80MiB in 00:00:00 at 14.53MiB/s \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[Merger] Merging formats into \"original_video.mp4.webm\"\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mDeleting original file original_video.mp4.f251.webm (pass -k to keep)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mDeleting original file original_video.mp4.f616.mp4 (pass -k to keep)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m0\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e32b943cf46c49b49a53275b33b06072": { "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 } }, "e343d276aac5477bb4f9917eb5d8d8db": { "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 } }, "e38fcb7d81394b1c8c1356f9d272511e": { "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 } }, "e6247bda53784a498401796d47b5cd3c": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_40af2b00dea44c7a93604188fa913f49", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Sure, to achieve this, we will need the following steps: \n \n 1 List all the .docx files in the 'documents' folder. \n 2 Open each .docx file and search for the term 'Machine Learning' (regardless of the case). \n 3 Replace 'Machine Learning' with 'AI'. \n 4 Save the changes in each respective file. \n \n We would need to use the os and python-docx modules for this task. However, you might need to install the \n python-docx module, should it not be already installed. Let's proceed with the operation. \n \n First, I will write a small piece of code to list all .docx files in the directory. Let's make sure we have the \n right files. \n \n\n", "text/plain": " \n Sure, to achieve this, we will need the following steps: \n \n \u001b[1;33m 1 \u001b[0mList all the .docx files in the 'documents' folder. \n \u001b[1;33m 2 \u001b[0mOpen each .docx file and search for the term 'Machine Learning' (regardless of the case). \n \u001b[1;33m 3 \u001b[0mReplace 'Machine Learning' with 'AI'. \n \u001b[1;33m 4 \u001b[0mSave the changes in each respective file. \n \n We would need to use the \u001b[1;36;40mos\u001b[0m and \u001b[1;36;40mpython-docx\u001b[0m modules for this task. However, you might need to install the \n \u001b[1;36;40mpython-docx\u001b[0m module, should it not be already installed. Let's proceed with the operation. \n \n First, I will write a small piece of code to list all .docx files in the directory. Let's make sure we have the \n right files. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e632cf8148b5443eb888ad154820dac2": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_942032ef5a7b46a0866adf65a07ca9b6", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install opencv-python-headless requests \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mopencv\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpython\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheadless\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrequests\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e64b5e68e0e84553a9e303ba55d389d0": { "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 } }, "e660cf408ab34428a4f579f4b3770f5e": { "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 } }, "e6e713a9e71d495baa5a435abcb27ee1": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_d849c6a21c8b41a8bbb0abc8a95997c5", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install python-docx \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpython\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdocx\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e6feb1cf757b44bba8fbdecd9b185178": { "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 } }, "e738acc7f303409f9af430957bb73425": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_7735b6aa07bb48e198f2e79bb8483006", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Output truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`. \n \n | 37/84 [00:02<00:02, 15.80it/s, now=None]t: 46%|####6 | 39/84 [00:02<00:02, 15.75it/s, now=None]t: \n 50%|##### | 42/84 [00:02<00:02, 16.47it/s, now=None]t: 52%|#####2 | 44/84 [00:02<00:02, 16.45it/s, \n now=None]t: 55%|#####4 | 46/84 [00:03<00:02, 15.61it/s, now=None]t: 57%|#####7 | 48/84 [00:03<00:02, \n 15.13it/s, now=None]t: 60%|#####9 | 50/84 [00:03<00:02, 15.55it/s, now=None]t: 62%|######1 | 52/84 \n [00:03<00:02, 15.81it/s, now=None]t: 64%|######4 | 54/84 [00:03<00:01, 15.73it/s, now=None]t: 67%|######6 \n | 56/84 [00:03<00:01, 14.09it/s, now=None]t: 69%|######9 | 58/84 [00:04<00:04, 5.70it/s, now=None]t: \n 71%|#######1 | 60/84 [00:05<00:04, 4.91it/s, now=None]t: 73%|#######2 | 61/84 [00:05<00:04, 4.96it/s, \n now=None]t: 74%|#######3 | 62/84 [00:05<00:04, 5.03it/s, now=None]t: 76%|#######6 | 64/84 [00:05<00:03, \n 5.54it/s, now=None]t: 77%|#######7 | 65/84 [00:06<00:03, 5.61it/s, now=None]t: 80%|#######9 | 67/84 \n [00:06<00:02, 7.00it/s, now=None]t: 81%|######## | 68/84 [00:06<00:02, 6.28it/s, now=None]t: 82%|########2 \n | 69/84 [00:06<00:02, 6.55it/s, now=None]t: 83%|########3 | 70/84 [00:06<00:02, 6.02it/s, now=None]t: \n 85%|########4 | 71/84 [00:06<00:02, 6.49it/s, now=None]t: 86%|########5 | 72/84 [00:07<00:01, 6.27it/s, \n now=None]t: 87%|########6 | 73/84 [00:07<00:01, 6.05it/s, now=None]t: 88%|########8 | 74/84 [00:07<00:01, \n 5.74it/s, now=None]t: 90%|######### | 76/84 [00:07<00:01, 6.50it/s, now=None]t: 92%|#########1| 77/84 \n [00:07<00:01, 6.40it/s, now=None]t: 93%|#########2| 78/84 [00:08<00:00, 6.01it/s, now=None]t: \n 95%|#########5| 80/84 [00:08<00:00, 6.47it/s, now=None]t: 96%|#########6| 81/84 [00:08<00:00, 6.52it/s, \n now=None]t: 98%|#########7| 82/84 [00:08<00:00, 5.72it/s, now=None]t: 100%|##########| 84/84 [00:08<00:00, \n 6.50it/s, now=None] Moviepy - Done ! \n Moviepy - video ready modified_video.mp4 \n None \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m | 37/84 [00:02<00:02, 15.80it/s, now=None]t: 46%|####6 | 39/84 [00:02<00:02, 15.75it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m50%|##### | 42/84 [00:02<00:02, 16.47it/s, now=None]t: 52%|#####2 | 44/84 [00:02<00:02, 16.45it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 55%|#####4 | 46/84 [00:03<00:02, 15.61it/s, now=None]t: 57%|#####7 | 48/84 [00:03<00:02, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m15.13it/s, now=None]t: 60%|#####9 | 50/84 [00:03<00:02, 15.55it/s, now=None]t: 62%|######1 | 52/84 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:03<00:02, 15.81it/s, now=None]t: 64%|######4 | 54/84 [00:03<00:01, 15.73it/s, now=None]t: 67%|######6 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m| 56/84 [00:03<00:01, 14.09it/s, now=None]t: 69%|######9 | 58/84 [00:04<00:04, 5.70it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m71%|#######1 | 60/84 [00:05<00:04, 4.91it/s, now=None]t: 73%|#######2 | 61/84 [00:05<00:04, 4.96it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 74%|#######3 | 62/84 [00:05<00:04, 5.03it/s, now=None]t: 76%|#######6 | 64/84 [00:05<00:03, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m5.54it/s, now=None]t: 77%|#######7 | 65/84 [00:06<00:03, 5.61it/s, now=None]t: 80%|#######9 | 67/84 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:06<00:02, 7.00it/s, now=None]t: 81%|######## | 68/84 [00:06<00:02, 6.28it/s, now=None]t: 82%|########2\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m| 69/84 [00:06<00:02, 6.55it/s, now=None]t: 83%|########3 | 70/84 [00:06<00:02, 6.02it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m85%|########4 | 71/84 [00:06<00:02, 6.49it/s, now=None]t: 86%|########5 | 72/84 [00:07<00:01, 6.27it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 87%|########6 | 73/84 [00:07<00:01, 6.05it/s, now=None]t: 88%|########8 | 74/84 [00:07<00:01, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m5.74it/s, now=None]t: 90%|######### | 76/84 [00:07<00:01, 6.50it/s, now=None]t: 92%|#########1| 77/84 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:07<00:01, 6.40it/s, now=None]t: 93%|#########2| 78/84 [00:08<00:00, 6.01it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m95%|#########5| 80/84 [00:08<00:00, 6.47it/s, now=None]t: 96%|#########6| 81/84 [00:08<00:00, 6.52it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 98%|#########7| 82/84 [00:08<00:00, 5.72it/s, now=None]t: 100%|##########| 84/84 [00:08<00:00, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m6.50it/s, now=None] Moviepy - Done !\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - video ready modified_video.mp4\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mNone\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "e96fdcfcde144e78b7977830628e77f9": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_afddf4997e1a4d009f278b34486a71aa", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I've created 10 pixel art banners as per your specifications. They are saved as 'banner_1.png', 'banner_2.png', \n and so on up to 'banner_10.png'. Please review them and let me know if you need any changes. \n \n\n", "text/plain": " \n I've created 10 pixel art banners as per your specifications. They are saved as 'banner_1.png', 'banner_2.png', \n and so on up to 'banner_10.png'. Please review them and let me know if you need any changes. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "eb83234ed4724410aec6bde226f104a1": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_b37d96a06ec148fab77a1a5121bfc74b", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n !pip install moviepy \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "ece854c5547443d78f1e8c0d8960ad47": { "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 } }, "ed07889e87744f3aa90e1a211b5b81ff": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_673dce80b4b54a7384a460b0075759fb", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n ['doc2.docx', 'doc4.docx', 'doc5.docx', 'doc1.docx', 'doc3.docx'] \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m['doc2.docx', 'doc4.docx', 'doc5.docx', 'doc1.docx', 'doc3.docx']\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "ed507d688c4747158749a94ce44b26b9": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_8e94b43d08f848159b7c621693e26878", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n # Delete the old files and rename the new ones \n for filename in files: \n new_filename = os.path.join('documents', f'new_{filename}') \n old_filename = os.path.join('documents', filename) \n \n # Remove the old file \n os.remove(old_filename) \n \n # Rename the new file to the original filename \n os.rename(new_filename, old_filename) \n \n print('All files have been updated.') \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Delete the old files and rename the new ones\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfiles\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_filename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpath\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mjoin\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mdocuments\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mnew_\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mold_filename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpath\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mjoin\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mdocuments\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfilename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Remove the old file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mremove\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mold_filename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Rename the new file to the original filename\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mos\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_filename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mold_filename\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mAll files have been updated.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "ee9b39134cf84f089d4868aae1851900": { "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 } }, "ef334d3eb6a043608312c67aa3c7e3b8": { "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 } }, "ef7637cf473b48a59806e2a66042cba1": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_d70ab8f629f446c19c41c3293b905d83", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import cv2 \n import requests \n import numpy as np \n \n # Here we are downloading all the frames generated by the model and \n # saving it as an image locally \n images = [] \n for url in output_urls: \n response = requests.get(url) \n array = np.frombuffer(response.content, dtype=np.uint8) \n image = cv2.imdecode(array, flags=cv2.IMREAD_COLOR) \n images.append(image) \n \n # Verify if we have the correct number of frames \n len(images) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcv2\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrequests\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnumpy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Here we are downloading all the frames generated by the model and\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# saving it as an image locally\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimages\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34murl\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34moutput_urls\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mresponse\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mrequests\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mget\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34murl\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34marray\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfrombuffer\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mresponse\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcontent\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdtype\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34muint8\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimage\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcv2\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimdecode\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34marray\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mflags\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcv2\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mIMREAD_COLOR\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimages\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimage\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Verify if we have the correct number of frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mimages\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "f036842ca1f14c80943388ea7eba105c": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_e38fcb7d81394b1c8c1356f9d272511e", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n A container for a series of :class:`Plugin` objects, to use for processing audio, like a \n `guitar pedalboard <https://en.wikipedia.org/wiki/Guitar_pedalboard>`_. \n \n :class:`Pedalboard` objects act like regular Python ``List`` objects, \n but come with an additional :py:meth:`process` method (also aliased to :py:meth:`__call__`), \n allowing audio to be passed through the entire :class:`Pedalboard` object for processing:: \n \n my_pedalboard = Pedalboard() \n my_pedalboard.append(Reverb()) \n output_audio = my_pedalboard(input_audio) \n \n .. warning:: \n :class:`Pedalboard` objects may only contain effects plugins (i.e.: those for which \n :attr:`is_effect` is ``True``), and cannot contain instrument plugins (i.e.: those \n for which :attr:`is_instrument` is ``True``). \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mA container for a series of :class:`Plugin` objects, to use for processing audio, like a\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m `guitar pedalboard
\n Collecting feedparser \n Downloading feedparser-6.0.10-py3-none-any.whl (81 kB) \n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/81.1 kB ? eta -:--:-- \n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.1/81.1 kB 4.3 MB/s eta 0:00:00 \n Collecting sgmllib3k (from feedparser) \n Downloading sgmllib3k-1.0.0.tar.gz (5.8 kB) \n Preparing metadata (setup.py) ... done \n Building wheels for collected packages: sgmllib3k \n Building wheel for sgmllib3k (setup.py) ... done \n Created wheel for sgmllib3k: filename=sgmllib3k-1.0.0-py3-none-any.whl size=6046 \n sha256=651ecac15cda67cfda9e6d19a71d7b727ffed85714612ec195412ea27ea7b66c \n Stored in directory: /root/.cache/pip/wheels/f0/69/93/a47e9d621be168e9e33c7ce60524393c0b92ae83cf6c6e89c5 \n Successfully built sgmllib3k \n Installing collected packages: sgmllib3k, feedparser \n Successfully installed feedparser-6.0.10 sgmllib3k-1.0.0 \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCollecting feedparser\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Downloading feedparser-6.0.10-py3-none-any.whl (81 kB)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/81.1 kB ? eta -:--:-- \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 81.1/81.1 kB 4.3 MB/s eta 0:00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCollecting sgmllib3k (from feedparser)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Downloading sgmllib3k-1.0.0.tar.gz (5.8 kB)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Preparing metadata (setup.py) ... done\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mBuilding wheels for collected packages: sgmllib3k\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Building wheel for sgmllib3k (setup.py) ... done\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Created wheel for sgmllib3k: filename=sgmllib3k-1.0.0-py3-none-any.whl size=6046 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55msha256=651ecac15cda67cfda9e6d19a71d7b727ffed85714612ec195412ea27ea7b66c\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Stored in directory: /root/.cache/pip/wheels/f0/69/93/a47e9d621be168e9e33c7ce60524393c0b92ae83cf6c6e89c5\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mSuccessfully built sgmllib3k\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mInstalling collected packages: sgmllib3k, feedparser\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mSuccessfully installed feedparser-6.0.10 sgmllib3k-1.0.0\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "f491c55d72df4b589454a8861197376b": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_3bba172d1af2465181679c8b336704a7", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n import soundfile as sf \n from pedalboard import Pedalboard, Reverb, PitchShift \n \n # Load the audio file \n audio, sample_rate = sf.read('original_song.webm') \n \n # Create a Pedalboard instance \n board = Pedalboard([ \n PitchShift(semitones=-5), # Lower the pitch \n Reverb(room_size=0.5, dry_level=0.5, wet_level=0.5) # Add reverb \n ]) \n \n # Process the audio \n processed_audio = board.process(audio, sample_rate=sample_rate) \n \n # Save the processed audio to a new file \n sf.write('processed_song.wav', processed_audio, sample_rate) \n \n\n", "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msoundfile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mReverb\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPitchShift\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Load the audio file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mread\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_song.webm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a Pedalboard instance\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPedalboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mPitchShift\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msemitones\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Lower the pitch\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mReverb\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mroom_size\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdry_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwet_level\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0.5\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Add reverb\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process the audio\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mboard\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocess\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Save the processed audio to a new file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msf\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mprocessed_song.wav\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprocessed_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msample_rate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "f86e25f5432b4589b9045ba52ebed7ae": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_99b83169a2c5408dbfa7b835db2d7171", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n Requirement already satisfied: yt-dlp in /usr/local/lib/python3.10/dist-packages (2023.7.6) \n Requirement already satisfied: mutagen in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (1.46.0) \n Requirement already satisfied: pycryptodomex in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (3.18.0) \n Requirement already satisfied: websockets in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (11.0.3) \n Requirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (2023.5.7) \n Requirement already satisfied: brotli in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (1.0.9) \n \n\n", "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: yt-dlp in /usr/local/lib/python3.10/dist-packages (2023.7.6)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: mutagen in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (1.46.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pycryptodomex in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (3.18.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: websockets in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (11.0.3)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (2023.5.7)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: brotli in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (1.0.9)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n" }, "metadata": {}, "output_type": "display_data" } ] } }, "f944a4b42ef14ae889efef3f5369e173": { "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 } }, "faa25b85f22545f09f98b5d43cbd21b1": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_74a068f07b49454bba51058b0c1772ae", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I have created a folder named 'documents' and added 5 docx files in it, each containing a unique sentence about \n Machine Learning. The files are named as 'doc1.docx', 'doc2.docx', 'doc3.docx', 'doc4.docx', and 'doc5.docx'. \n \n\n", "text/plain": " \n I have created a folder named 'documents' and added 5 docx files in it, each containing a unique sentence about \n Machine Learning. The files are named as 'doc1.docx', 'doc2.docx', 'doc3.docx', 'doc4.docx', and 'doc5.docx'. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "fb34c40c88f7423a891c85730730d011": { "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 } }, "fc51add87d6744bc8fb46911b671eac5": { "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 } }, "fe21edae84cc4778a3ddc2fcaedfbc3d": { "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 } }, "feb8283edfbb49b989a8d29c98701bf0": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_0e33aaf3c5dd44dda84ebc379dd78417", "msg_id": "", "outputs": [ { "data": { "text/html": "
\n I have successfully applied the slow and reverb effects to the song. The processed song has been saved as \n 'processed_song.wav'. You can listen to it to hear the effects. \n \n\n", "text/plain": " \n I have successfully applied the slow and reverb effects to the song. The processed song has been saved as \n 'processed_song.wav'. You can listen to it to hear the effects. \n \n" }, "metadata": {}, "output_type": "display_data" } ] } }, "ff2383ba5a3943cf8ab4f0cedcb40c3f": { "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 } }, "8e4d22ad1dcc44ec882bb9c6663de431": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_915e05fbbcd44fb1b0402d5a51b9dcf6", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mHello, world!\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n print('Hello, world!') \n \n\n" }, "metadata": {} } ] } }, "915e05fbbcd44fb1b0402d5a51b9dcf6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "ed7c54937ec94948915fbe589e04d312": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_ef25bc033b0b419bb7b33e05aed61b43", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mHello, world!\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Hello, world! \n \n\n" }, "metadata": {} } ] } }, "ef25bc033b0b419bb7b33e05aed61b43": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "1672ae981ae041ae8b26126e30f29882": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_84e676b87e204fa9b36f1ec2ccefc396", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n The code was executed successfully and it printed \"Hello, world!\". \n \n", "text/html": "
\n The code was executed successfully and it printed \"Hello, world!\". \n \n\n" }, "metadata": {} } ] } }, "84e676b87e204fa9b36f1ec2ccefc396": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "dfd7d092f15c4b33b4d9b4c299a56577": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_46f16ac02db04d13bdf9461b2e268ad3", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n Alright, here's the plan: \n \n \u001b[1;33m 1 \u001b[0mDownload the YouTube video using \u001b[1;36;40myt-dlp\u001b[0m. \n \u001b[1;33m 2 \u001b[0mExtract the audio from the video using \u001b[1;36;40mmoviepy\u001b[0m. \n \u001b[1;33m 3 \u001b[0mCut the video to the specified time range (0:15 to 0:38) using \u001b[1;36;40mmoviepy\u001b[0m. \n \u001b[1;33m 4 \u001b[0mUse a face detection library like \u001b[1;36;40mdlib\u001b[0m or \u001b[1;36;40mopencv\u001b[0m to detect the face in each frame. \n \u001b[1;33m 5 \u001b[0mCrop each frame to a 9:16 aspect ratio around the detected face, making sure to smoothly average out the \n \u001b[1;33m \u001b[0mmotion between confident face detections. \n \u001b[1;33m 6 \u001b[0mCombine the cropped frames back into a video using \u001b[1;36;40mmoviepy\u001b[0m. \n \u001b[1;33m 7 \u001b[0mAdd the audio back into the video using \u001b[1;36;40mmoviepy\u001b[0m. \n \u001b[1;33m 8 \u001b[0mSave the final video. \n \n Let's start by installing the necessary packages. We'll need \u001b[1;36;40myt-dlp\u001b[0m for downloading the video, \u001b[1;36;40mmoviepy\u001b[0m for \n video editing, and \u001b[1;36;40mdlib\u001b[0m for face detection. We'll also need \u001b[1;36;40mnumpy\u001b[0m for numerical operations and \u001b[1;36;40mopencv-python\u001b[0m \n for image processing. \n \n", "text/html": "
\n Alright, here's the plan: \n \n 1 Download the YouTube video using yt-dlp. \n 2 Extract the audio from the video using moviepy. \n 3 Cut the video to the specified time range (0:15 to 0:38) using moviepy. \n 4 Use a face detection library like dlib or opencv to detect the face in each frame. \n 5 Crop each frame to a 9:16 aspect ratio around the detected face, making sure to smoothly average out the \n motion between confident face detections. \n 6 Combine the cropped frames back into a video using moviepy. \n 7 Add the audio back into the video using moviepy. \n 8 Save the final video. \n \n Let's start by installing the necessary packages. We'll need yt-dlp for downloading the video, moviepy for \n video editing, and dlib for face detection. We'll also need numpy for numerical operations and opencv-python \n for image processing. \n \n\n" }, "metadata": {} } ] } }, "46f16ac02db04d13bdf9461b2e268ad3": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "894485c6aa7a4560b1625b0667c4b0ad": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c2678de51ec648b78d4965a3b898ffef", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;150;0;80;48;2;30;0;16m!\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34minstall\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34myt\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdlp\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdlib\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnumpy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mopencv\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpython\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n !pip install yt-dlp moviepy dlib numpy opencv-python \n \n\n" }, "metadata": {} } ] } }, "c2678de51ec648b78d4965a3b898ffef": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "1ba7ab9f477040ccb236598ef1085084": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_58c456a67739434b87b368aefc561eff", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55msatisfied: certifi in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (2023.5.7)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCollecting brotli (from yt-dlp)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Downloading \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mBrotli-1.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(2.7 MB)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/2.7 MB ? eta -:--:-- \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━ 1.6/2.7 MB 48.1 MB/s eta 0:00:01 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 2.7/2.7 MB 49.9 MB/s eta 0:00:01 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 37.8 MB/s eta 0:00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: decorator<5.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.4.2)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: tqdm<5.0,>=4.11.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(4.65.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: requests<3.0,>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(2.27.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: proglog<=1.0.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(0.1.10)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(2.25.1)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: imageio-ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(0.4.8)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mimageio<3.0,>=2.5->moviepy) (8.4.0)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (1.26.16)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (2.0.12)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mRequirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mrequests<3.0,>=2.8.1->moviepy) (3.4)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mInstalling collected packages: brotli, websockets, pycryptodomex, mutagen, yt-dlp\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mSuccessfully installed brotli-1.0.9 mutagen-1.46.0 pycryptodomex-3.18.0 websockets-11.0.3 yt-dlp-2023.7.6\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Output truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`. \n \n satisfied: certifi in /usr/local/lib/python3.10/dist-packages (from yt-dlp) (2023.5.7) \n Collecting brotli (from yt-dlp) \n Downloading \n Brotli-1.0.9-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl \n (2.7 MB) \n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 0.0/2.7 MB ? eta -:--:-- \n ━━━━━━━━━━━━━━━━━━━━━━━╺━━━━━━━━━━━━━━━━ 1.6/2.7 MB 48.1 MB/s eta 0:00:01 \n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ 2.7/2.7 MB 49.9 MB/s eta 0:00:01 \n ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.7/2.7 MB 37.8 MB/s eta 0:00:00 \n Requirement already satisfied: decorator<5.0,>=4.0.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (4.4.2) \n Requirement already satisfied: tqdm<5.0,>=4.11.2 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (4.65.0) \n Requirement already satisfied: requests<3.0,>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (2.27.1) \n Requirement already satisfied: proglog<=1.0.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (0.1.10) \n Requirement already satisfied: imageio<3.0,>=2.5 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (2.25.1) \n Requirement already satisfied: imageio-ffmpeg>=0.2.0 in /usr/local/lib/python3.10/dist-packages (from moviepy) \n (0.4.8) \n Requirement already satisfied: pillow>=8.3.2 in /usr/local/lib/python3.10/dist-packages (from \n imageio<3.0,>=2.5->moviepy) (8.4.0) \n Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (1.26.16) \n Requirement already satisfied: charset-normalizer~=2.0.0 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (2.0.12) \n Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from \n requests<3.0,>=2.8.1->moviepy) (3.4) \n Installing collected packages: brotli, websockets, pycryptodomex, mutagen, yt-dlp \n Successfully installed brotli-1.0.9 mutagen-1.46.0 pycryptodomex-3.18.0 websockets-11.0.3 yt-dlp-2023.7.6 \n \n\n" }, "metadata": {} } ] } }, "58c456a67739434b87b368aefc561eff": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "ba8772dae7fd44e4937b74a810235984": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_4ea12542e3134a719e8ca95bf443d710", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n The necessary packages have been installed. The next steps are as follows: \n \n \u001b[1;33m 1 \u001b[0mDownload the YouTube video using \u001b[1;36;40myt-dlp\u001b[0m. \n \u001b[1;33m 2 \u001b[0mExtract the required segment from the video using \u001b[1;36;40mmoviepy\u001b[0m. \n \u001b[1;33m 3 \u001b[0mDetect and track the face in the video frames using \u001b[1;36;40mdlib\u001b[0m and \u001b[1;36;40mopencv\u001b[0m. \n \u001b[1;33m 4 \u001b[0mCrop the video around the face and resize it to a 9:16 aspect ratio. \n \u001b[1;33m 5 \u001b[0mSave the final video. \n \n Let's start by downloading the YouTube video. \n \n", "text/html": "
\n The necessary packages have been installed. The next steps are as follows: \n \n 1 Download the YouTube video using yt-dlp. \n 2 Extract the required segment from the video using moviepy. \n 3 Detect and track the face in the video frames using dlib and opencv. \n 4 Crop the video around the face and resize it to a 9:16 aspect ratio. \n 5 Save the final video. \n \n Let's start by downloading the YouTube video. \n \n\n" }, "metadata": {} } ] } }, "4ea12542e3134a719e8ca95bf443d710": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "7e39eac50d9b4e6e83818eccc7003bab": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c1d7c09472ef40fa94bc348a0ce07711", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34myt_dlp\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34murl\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mhttps://www.youtube.com/watch?v=KgHkAwaW_lk\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mydl_opts\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m{\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mformat\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mbestvideo+bestaudio\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mouttmpl\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_video.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m%(ext)s\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m}\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mwith\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34myt_dlp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mYoutubeDL\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mydl_opts\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mydl\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mydl\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdownload\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34murl\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n import yt_dlp \n \n url = 'https://www.youtube.com/watch?v=KgHkAwaW_lk' \n \n ydl_opts = { \n 'format': 'bestvideo+bestaudio', \n 'outtmpl': 'original_video.%(ext)s' \n } \n \n with yt_dlp.YoutubeDL(ydl_opts) as ydl: \n ydl.download([url]) \n \n\n" }, "metadata": {} } ] } }, "c1d7c09472ef40fa94bc348a0ce07711": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "70e01c3e03814cf2891e77d0f27f5e0a": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_5401202e0cbc4b7d93601ffceee34823", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mad] 95.7% of ~ 8.25MiB at 144.14KiB/s ETA 00:02 (frag 18/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 96.5% of ~ 8.25MiB at 275.72KiB/s ETA \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m00:01 (frag 18/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 98.0% of ~ 8.25MiB at 527.81KiB/s ETA 00:00 (frag 18/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.2% of ~ 8.25MiB at \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m868.98KiB/s ETA 00:00 (frag 18/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 95.0% of ~ 8.70MiB at 867.54KiB/s ETA 00:00 (frag 19/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.0% of ~ \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m8.27MiB at 1.66KiB/s ETA 00:00 (frag 19/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.0% of ~ 8.27MiB at 4.98KiB/s ETA 00:00 (frag 19/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m100.1% of ~ 8.27MiB at 11.60KiB/s ETA 00:00 (frag 19/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.2% of ~ 8.27MiB at 24.81KiB/s ETA 00:00 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(frag 19/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.4% of ~ 8.27MiB at 51.20KiB/s ETA 00:00 (frag 19/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.7% of ~ 8.27MiB at 100.31KiB/s\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mETA 00:00 (frag 19/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 101.5% of ~ 8.27MiB at 192.41KiB/s ETA 00:00 (frag 19/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 102.6% of ~ 8.27MiB at \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m329.49KiB/s ETA 00:00 (frag 19/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.0% of ~ 8.48MiB at 329.08KiB/s ETA 00:00 (frag 20/20)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100% of \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m8.48MiB in 00:00:10 at 860.64KiB/s \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Destination: original_video.f140.m4a\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.1% of 1.50MiB at 607.17KiB/s ETA 00:02\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.2% of 1.50MiB at 1.30MiB/s ETA 00:01\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 0.5% of \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1.50MiB at 2.48MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 1.0% of 1.50MiB at 4.58MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 2.0% of 1.50MiB at \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1.05MiB/s ETA 00:01\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 4.1% of 1.50MiB at 1.24MiB/s ETA 00:01\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 8.3% of 1.50MiB at 1.59MiB/s ETA \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 16.6% of 1.50MiB at 2.41MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 33.3% of 1.50MiB at 3.87MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 66.6% of \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m1.50MiB at 6.42MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100.0% of 1.50MiB at 8.82MiB/s ETA 00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m 100% of 1.50MiB in 00:00:00\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mat 4.24MiB/s \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[Merger] Merging formats into \"original_video.mkv\"\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mDeleting original file original_video.f247.webm (pass -k to keep)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mDeleting original file original_video.f140.m4a (pass -k to keep)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Output truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`. \n \n ad] 95.7% of ~ 8.25MiB at 144.14KiB/s ETA 00:02 (frag 18/20) 96.5% of ~ 8.25MiB at 275.72KiB/s ETA \n 00:01 (frag 18/20) 98.0% of ~ 8.25MiB at 527.81KiB/s ETA 00:00 (frag 18/20) 100.2% of ~ 8.25MiB at \n 868.98KiB/s ETA 00:00 (frag 18/20) 95.0% of ~ 8.70MiB at 867.54KiB/s ETA 00:00 (frag 19/20) 100.0% of ~ \n 8.27MiB at 1.66KiB/s ETA 00:00 (frag 19/20) 100.0% of ~ 8.27MiB at 4.98KiB/s ETA 00:00 (frag 19/20) \n 100.1% of ~ 8.27MiB at 11.60KiB/s ETA 00:00 (frag 19/20) 100.2% of ~ 8.27MiB at 24.81KiB/s ETA 00:00 \n (frag 19/20) 100.4% of ~ 8.27MiB at 51.20KiB/s ETA 00:00 (frag 19/20) 100.7% of ~ 8.27MiB at 100.31KiB/s \n ETA 00:00 (frag 19/20) 101.5% of ~ 8.27MiB at 192.41KiB/s ETA 00:00 (frag 19/20) 102.6% of ~ 8.27MiB at \n 329.49KiB/s ETA 00:00 (frag 19/20) 100.0% of ~ 8.48MiB at 329.08KiB/s ETA 00:00 (frag 20/20) 100% of \n 8.48MiB in 00:00:10 at 860.64KiB/s \n Destination: original_video.f140.m4a \n 0.1% of 1.50MiB at 607.17KiB/s ETA 00:02 0.2% of 1.50MiB at 1.30MiB/s ETA 00:01 0.5% of \n 1.50MiB at 2.48MiB/s ETA 00:00 1.0% of 1.50MiB at 4.58MiB/s ETA 00:00 2.0% of 1.50MiB at \n 1.05MiB/s ETA 00:01 4.1% of 1.50MiB at 1.24MiB/s ETA 00:01 8.3% of 1.50MiB at 1.59MiB/s ETA \n 00:00 16.6% of 1.50MiB at 2.41MiB/s ETA 00:00 33.3% of 1.50MiB at 3.87MiB/s ETA 00:00 66.6% of \n 1.50MiB at 6.42MiB/s ETA 00:00 100.0% of 1.50MiB at 8.82MiB/s ETA 00:00 100% of 1.50MiB in 00:00:00 \n at 4.24MiB/s \n [Merger] Merging formats into \"original_video.mkv\" \n Deleting original file original_video.f247.webm (pass -k to keep) \n Deleting original file original_video.f140.m4a (pass -k to keep) \n \n\n" }, "metadata": {} } ] } }, "5401202e0cbc4b7d93601ffceee34823": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "acfb473b29e44673a1fff74002d1a9fb": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c04640e4839d455b9faf31eb0f6cc24a", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n The video has been successfully downloaded and saved as \"original_video.mkv\". \n \n Next, I will extract the required clip from the video (from 0:15 to 0:38). I will use the MoviePy library to \n accomplish this. \n \n After that, I will use the dlib and OpenCV libraries to detect and track the face in the video. I will crop the \n video around the face, maintaining the aspect ratio as 9:16. I will also ensure that the motion is smoothly \n averaged out between confident face detections. \n \n Finally, I will add the audio back into the cropped video. \n \n Let's start by extracting the required clip from the video. \n \n", "text/html": "
\n The video has been successfully downloaded and saved as \"original_video.mkv\". \n \n Next, I will extract the required clip from the video (from 0:15 to 0:38). I will use the MoviePy library to \n accomplish this. \n \n After that, I will use the dlib and OpenCV libraries to detect and track the face in the video. I will crop the \n video around the face, maintaining the aspect ratio as 9:16. I will also ensure that the motion is smoothly \n averaged out between confident face detections. \n \n Finally, I will add the audio back into the cropped video. \n \n Let's start by extracting the required clip from the video. \n \n\n" }, "metadata": {} } ] } }, "c04640e4839d455b9faf31eb0f6cc24a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "e34e60e6f4a748fb856638e13dcea9ee": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_ea5366ee0804463b8ef07de383494750", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mffmpeg_tools\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mffmpeg_extract_subclip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m15\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mend_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m38\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Extract the subclip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mffmpeg_extract_subclip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_video.mkv\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mend_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtargetname\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mclip.mkv\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip \n \n start_time = 15 \n end_time = 38 \n \n # Extract the subclip \n ffmpeg_extract_subclip('original_video.mkv', start_time, end_time, targetname='clip.mkv') \n \n\n" }, "metadata": {} } ] } }, "ea5366ee0804463b8ef07de383494750": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "e6b9ad18bbf94231be36619c23829365": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_1379bc8127c34125a9edcaa6ff80cb29", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - Running:\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m>>> \"+ \" \".join(cmd)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - Command successful\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mNone\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Moviepy - Running: \n >>> \"+ \" \".join(cmd) \n Moviepy - Command successful \n None \n \n\n" }, "metadata": {} } ] } }, "1379bc8127c34125a9edcaa6ff80cb29": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "633eb737a8a540618283944da6587395": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_0422283e06104822a0b17e36537887ba", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n The video has been successfully downloaded and the desired clip has been extracted. The next step is to detect \n and track the face in the video. We will use dlib's HOG-based model for this. \n \n After detecting the face in each frame, we will calculate the center of the face. We will then use these \n centers to crop the video around the face. We will also apply a smoothing function to these centers to ensure \n the motion is smooth. \n \n Let's start by loading the video and initializing the face detector. \n \n", "text/html": "
\n The video has been successfully downloaded and the desired clip has been extracted. The next step is to detect \n and track the face in the video. We will use dlib's HOG-based model for this. \n \n After detecting the face in each frame, we will calculate the center of the face. We will then use these \n centers to crop the video around the face. We will also apply a smoothing function to these centers to ensure \n the motion is smooth. \n \n Let's start by loading the video and initializing the face detector. \n \n\n" }, "metadata": {} } ] } }, "0422283e06104822a0b17e36537887ba": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "9c4a0269b2f545fd91690a0e05916486": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_54ba24de07fd495da0709275580522c4", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcv2\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdlib\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnumpy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34meditor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mVideoFileClip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Load the video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mVideoFileClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mclip.mkv\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Initialize the face detector\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdetector\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdlib\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mget_frontal_face_detector\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n import cv2 \n import dlib \n import numpy as np \n from moviepy.editor import VideoFileClip \n \n # Load the video \n clip = VideoFileClip('clip.mkv') \n \n # Initialize the face detector \n detector = dlib.get_frontal_face_detector() \n \n\n" }, "metadata": {} } ] } }, "54ba24de07fd495da0709275580522c4": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "5c29036bf1394564ac06e60a277c2f4b": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_13288eb48c78450bb9c29905f1cfe5cc", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\n", "text/html": "
\n\n" }, "metadata": {} } ] } }, "13288eb48c78450bb9c29905f1cfe5cc": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "0a2bad1e724c412d9400b8ec3757d5fe": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_71be2ada61ca4eeca6c9c3169bf5a981", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n Now that we have loaded the video and initialized the face detector, the next step is to process each frame of \n the video. For each frame, we will detect the face, calculate its center, and keep track of these centers. We \n will then calculate the average center of the face in the last few frames to smooth out the motion. After that, \n we will crop the frame around this average center to create a portrait video. \n \n Let's start by processing the frames and detecting the face in each frame. \n \n", "text/html": "
\n Now that we have loaded the video and initialized the face detector, the next step is to process each frame of \n the video. For each frame, we will detect the face, calculate its center, and keep track of these centers. We \n will then calculate the average center of the face in the last few frames to smooth out the motion. After that, \n we will crop the frame around this average center to create a portrait video. \n \n Let's start by processing the frames and detecting the face in each frame. \n \n\n" }, "metadata": {} } ] } }, "71be2ada61ca4eeca6c9c3169bf5a981": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "05159ee8a8ce4d1f842636561b767c1e": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_d41a011efd5148b998b27e7ecb43d6d6", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process each frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menumerate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34miter_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Convert the frame to grayscale\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mgray\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcv2\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcvtColor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcv2\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mCOLOR_RGB2GRAY\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Detect faces in the frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdetector\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mgray\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# If a face is detected\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m>\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Calculate the center of the face\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m2\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34my\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtop\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheight\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m2\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34my\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Print progress\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m%\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m100\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m==\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mProcessed \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m/\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n face_centers = [] \n \n # Process each frame \n for i, frame in enumerate(clip.iter_frames()): \n # Convert the frame to grayscale \n gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY) \n \n # Detect faces in the frame \n faces = detector(gray) \n \n # If a face is detected \n if len(faces) > 0: \n # Calculate the center of the face \n x = faces[0].left() + faces[0].width() // 2 \n y = faces[0].top() + faces[0].height() // 2 \n face_centers.append((x, y)) \n \n # Print progress \n if i % 100 == 0: \n print(f'Processed {i}/{len(clip)} frames') \n \n\n" }, "metadata": {} } ] } }, "d41a011efd5148b998b27e7ecb43d6d6": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "f89766aa83954606822ac810550089a4": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c092298defd44aea990d9b4e7368fb39", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[3], line 10\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m print(f'Processed {i}/{len(clip)} frames')\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTypeError: object of type 'VideoFileClip' has no len()\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Traceback (most recent call last): \n Cell In[3], line 10 \n print(f'Processed {i}/{len(clip)} frames') \n TypeError: object of type 'VideoFileClip' has no len() \n \n\n" }, "metadata": {} } ] } }, "c092298defd44aea990d9b4e7368fb39": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "f9f0fbe9b4e8458daff8f0b208afe06d": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_4a0fea39019242139a82c33d7513ccb7", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n It seems like I made a mistake by trying to get the length of the video clip using \u001b[1;36;40mlen(clip)\u001b[0m. The \u001b[1;36;40mVideoFileClip\u001b[0m \n object doesn't support the \u001b[1;36;40mlen()\u001b[0m function. Instead, I should use \u001b[1;36;40mclip.duration\u001b[0m to get the duration of the clip \n in seconds and multiply it by the frame rate to get the total number of frames. Let's correct this and try \n again. \n \n", "text/html": "
\n It seems like I made a mistake by trying to get the length of the video clip using len(clip). The VideoFileClip \n object doesn't support the len() function. Instead, I should use clip.duration to get the duration of the clip \n in seconds and multiply it by the frame rate to get the total number of frames. Let's correct this and try \n again. \n \n\n" }, "metadata": {} } ] } }, "4a0fea39019242139a82c33d7513ccb7": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "e94d50d8f12d4e97a9e4a147e1717a44": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_903ff249dcad4e2bbb19f036ee19d2cb", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Get the total number of frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtotal_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mduration\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfps\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process each frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menumerate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34miter_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Convert the frame to grayscale\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mgray\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcv2\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcvtColor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcv2\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mCOLOR_RGB2GRAY\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Detect faces in the frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdetector\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mgray\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# If a face is detected\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlen\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m>\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Calculate the center of the face\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m2\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34my\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtop\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfaces\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheight\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m2\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34my\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Print progress\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m%\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m100\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m==\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mProcessed \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m/\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtotal_frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n face_centers = [] \n \n # Get the total number of frames \n total_frames = int(clip.duration * clip.fps) \n \n # Process each frame \n for i, frame in enumerate(clip.iter_frames()): \n # Convert the frame to grayscale \n gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY) \n \n # Detect faces in the frame \n faces = detector(gray) \n \n # If a face is detected \n if len(faces) > 0: \n # Calculate the center of the face \n x = faces[0].left() + faces[0].width() // 2 \n y = faces[0].top() + faces[0].height() // 2 \n face_centers.append((x, y)) \n \n # Print progress \n if i % 100 == 0: \n print(f'Processed {i}/{total_frames} frames') \n \n\n" }, "metadata": {} } ] } }, "903ff249dcad4e2bbb19f036ee19d2cb": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "f4a860ee64cd4d1dbddcf49bccafb1d2": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_2484cf82892e4459972b079943d9fe4d", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessed 0/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessed 100/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessed 200/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessed 300/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessed 400/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessed 500/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessed 600/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessed 700/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mProcessed 800/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Processed 0/819 frames \n Processed 100/819 frames \n Processed 200/819 frames \n Processed 300/819 frames \n Processed 400/819 frames \n Processed 500/819 frames \n Processed 600/819 frames \n Processed 700/819 frames \n Processed 800/819 frames \n \n\n" }, "metadata": {} } ] } }, "2484cf82892e4459972b079943d9fe4d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "7f88ac26e8cb4dce8d372d38501bdec2": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_646e8aa419f3420cbc453d285634a114", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n The face detection process has been completed for all frames in the video. The next step is to calculate the \n average position of the face in each frame to create a smooth motion. After that, we will crop the video around \n the face and maintain the original height of the video. Let's proceed with these steps. \n \n", "text/html": "
\n The face detection process has been completed for all frames in the video. The next step is to calculate the \n average position of the face in each frame to create a smooth motion. After that, we will crop the video around \n the face and maintain the original height of the video. Let's proceed with these steps. \n \n\n" }, "metadata": {} } ] } }, "646e8aa419f3420cbc453d285634a114": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "2d1cd08ae5be4df8bef9f9ebc9347349": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_a954618bf6d344c285f74578e496dc0c", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Calculate the moving average of the face centers\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m10\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mconvolve\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mones\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mvalid\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Add the first and last few values to the start and end of the list\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mconcatenate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n # Calculate the moving average of the face centers \n window_size = 10 \n face_centers_avg = np.convolve(face_centers, np.ones(window_size), 'valid') / window_size \n \n # Add the first and last few values to the start and end of the list \n face_centers_avg = np.concatenate((face_centers[:window_size-1], face_centers_avg, face_centers[-window_size+1: \n \n\n" }, "metadata": {} } ] } }, "a954618bf6d344c285f74578e496dc0c": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "a5da8f42711545d09911118485e8e83e": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_303c046d8d1e44c8b20e21678d26ee71", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[3], line 2\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m face_centers_avg = np.convolve(face_centers, np.ones(window_size), 'valid'\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File <__array_function__ internals>:180 in convolve\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File /usr/local/lib/python3.10/dist-packages/numpy/core/numeric.py:844 in convolve\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m return multiarray.correlate(a, v[::-1], mode)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mValueError: object too deep for desired array\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Traceback (most recent call last): \n Cell In[3], line 2 \n face_centers_avg = np.convolve(face_centers, np.ones(window_size), 'valid' \n File <__array_function__ internals>:180 in convolve \n File /usr/local/lib/python3.10/dist-packages/numpy/core/numeric.py:844 in convolve \n return multiarray.correlate(a, v[::-1], mode) \n ValueError: object too deep for desired array \n \n\n" }, "metadata": {} } ] } }, "303c046d8d1e44c8b20e21678d26ee71": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "71346df88e4c4123b952c6606eb2acf0": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_cf0ee63e4bab46acacb822a12586db47", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n It seems like the \u001b[1;36;40mnp.convolve\u001b[0m function is not able to handle the list of tuples \u001b[1;36;40mface_centers\u001b[0m. This is because \n \u001b[1;36;40mnp.convolve\u001b[0m is designed to work with 1D arrays, and \u001b[1;36;40mface_centers\u001b[0m is a list of 2D points (tuples). \n \n To solve this, I will separate the x and y coordinates into two separate lists and calculate the moving \n averages for each list separately. Let's try this. \n \n", "text/html": "
\n It seems like the np.convolve function is not able to handle the list of tuples face_centers. This is because \n np.convolve is designed to work with 1D arrays, and face_centers is a list of 2D points (tuples). \n \n To solve this, I will separate the x and y coordinates into two separate lists and calculate the moving \n averages for each list separately. Let's try this. \n \n\n" }, "metadata": {} } ] } }, "cf0ee63e4bab46acacb822a12586db47": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "5a1dc9c1a1d642a1a9ea4e60c18ce53d": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_fd6e706a8ee04707a3423071a6415341", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Separate the x and y coordinates\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_x\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_y\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mzip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Calculate the moving average of the x and y coordinates separately\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg_x\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mconvolve\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_x\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mones\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mvalid\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg_y\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mconvolve\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_y\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mones\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mvalid\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Add the first and last few values to the start and end of the lists\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg_x\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mconcatenate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_x\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg_x\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_x\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow\u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg_y\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnp\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mconcatenate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_y\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow_size\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m1\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg_y\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_y\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwindow\u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Combine the x and y coordinates back into a list of tuples\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlist\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mzip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg_x\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg_y\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n # Separate the x and y coordinates \n face_centers_x, face_centers_y = zip(*face_centers) \n \n # Calculate the moving average of the x and y coordinates separately \n face_centers_avg_x = np.convolve(face_centers_x, np.ones(window_size), 'valid') / window_size \n face_centers_avg_y = np.convolve(face_centers_y, np.ones(window_size), 'valid') / window_size \n \n # Add the first and last few values to the start and end of the lists \n face_centers_avg_x = np.concatenate((face_centers_x[:window_size-1], face_centers_avg_x, face_centers_x[-window \n face_centers_avg_y = np.concatenate((face_centers_y[:window_size-1], face_centers_avg_y, face_centers_y[-window \n \n # Combine the x and y coordinates back into a list of tuples \n face_centers_avg = list(zip(face_centers_avg_x, face_centers_avg_y)) \n \n\n" }, "metadata": {} } ] } }, "fd6e706a8ee04707a3423071a6415341": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "eae96616b13a46bfae7a02eb59259c74": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_37efe298ef1d499993852f8dfba85757", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\n", "text/html": "
\n\n" }, "metadata": {} } ] } }, "37efe298ef1d499993852f8dfba85757": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "613b2d7898184c9f91302f0137a1bf0a": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_a96323047b04490aa28cb68056a3242d", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfx\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcrop\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcrop\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Get the dimensions of the video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheight\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msize\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Calculate the dimensions of the cropped video\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheight\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m9\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m16\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_height\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mheight\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Initialize a list to store the cropped frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process each frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcenter\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menumerate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mzip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34miter_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Calculate the left and right boundaries of the crop\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmax\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmin\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcenter\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m2\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mright\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Crop the frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frame\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcrop\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx1\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34my1\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mx2\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mright\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34my2\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_height\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frames\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frame\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Print progress\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m%\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m100\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m==\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mCropped \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m/\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtotal_frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n from moviepy.video.fx.crop import crop \n \n # Get the dimensions of the video \n width, height = clip.size \n \n # Calculate the dimensions of the cropped video \n new_width = int(height * 9 / 16) \n new_height = height \n \n # Initialize a list to store the cropped frames \n cropped_frames = [] \n \n # Process each frame \n for i, (frame, center) in enumerate(zip(clip.iter_frames(), face_centers_avg)): \n # Calculate the left and right boundaries of the crop \n left = max(0, min(width - new_width, center[0] - new_width // 2)) \n right = left + new_width \n \n # Crop the frame \n cropped_frame = crop(frame, x1=left, y1=0, x2=right, y2=new_height) \n cropped_frames.append(cropped_frame) \n \n # Print progress \n if i % 100 == 0: \n print(f'Cropped {i}/{total_frames} frames') \n \n\n" }, "metadata": {} } ] } }, "a96323047b04490aa28cb68056a3242d": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "ca48e8fcc96b4e0d985c7a3096aa04bb": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_8775c6e74caa4e2e85935960e6d9bf1a", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[3], line 9\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m cropped_frame = crop(frame, x1=left, y1=0, x2=right, y2=new_height)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m File /usr/local/lib/python3.10/dist-packages/moviepy/video/fx/crop.py:53 in crop\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m return clip.fl_image(lambda pic: pic\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m, apply_to=[\"mask\"])\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mAttributeError: 'numpy.ndarray' object has no attribute 'fl_image'\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Traceback (most recent call last): \n Cell In[3], line 9 \n cropped_frame = crop(frame, x1=left, y1=0, x2=right, y2=new_height) \n File /usr/local/lib/python3.10/dist-packages/moviepy/video/fx/crop.py:53 in crop \n return clip.fl_image(lambda pic: pic, apply_to=[\"mask\"]) \n AttributeError: 'numpy.ndarray' object has no attribute 'fl_image' \n \n\n" }, "metadata": {} } ] } }, "8775c6e74caa4e2e85935960e6d9bf1a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "8b359f3ad34840ebbf9e40348d7fcc44": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_1d5dd9f4d7cd41ab98e463f7fe8dc5d3", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n It seems like the \u001b[1;36;40mcrop\u001b[0m function from \u001b[1;36;40mmoviepy\u001b[0m is intended to be used on a \u001b[1;36;40mVideoClip\u001b[0m object, not a numpy array. \n However, we are trying to apply it to individual frames, which are numpy arrays. \n \n To fix this, we can use OpenCV's array slicing capabilities to crop the frames. Let's try that. \n \n", "text/html": "
\n It seems like the crop function from moviepy is intended to be used on a VideoClip object, not a numpy array. \n However, we are trying to apply it to individual frames, which are numpy arrays. \n \n To fix this, we can use OpenCV's array slicing capabilities to crop the frames. Let's try that. \n \n\n" }, "metadata": {} } ] } }, "1d5dd9f4d7cd41ab98e463f7fe8dc5d3": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "e8c4baed02d34a21a3e7de3a69b3a158": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9ec4005929104fd9aa041b7460b5298f", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process each frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcenter\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menumerate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mzip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34miter_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Calculate the left and right boundaries of the crop\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmax\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmin\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcenter\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m2\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mright\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Crop the frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frame\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mright\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frames\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frame\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Print progress\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m%\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m100\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m==\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mCropped \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m/\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtotal_frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n cropped_frames = [] \n \n # Process each frame \n for i, (frame, center) in enumerate(zip(clip.iter_frames(), face_centers_avg)): \n # Calculate the left and right boundaries of the crop \n left = max(0, min(width - new_width, center[0] - new_width // 2)) \n right = left + new_width \n \n # Crop the frame \n cropped_frame = frame[:, left:right] \n cropped_frames.append(cropped_frame) \n \n # Print progress \n if i % 100 == 0: \n print(f'Cropped {i}/{total_frames} frames') \n \n\n" }, "metadata": {} } ] } }, "9ec4005929104fd9aa041b7460b5298f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "f0115b2d6740493484333cccfcbcf41c": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_a60d203e2b3b466da2f420c1396b90b2", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[3], line 5\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m cropped_frame = frame[:, left:right]\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTypeError: slice indices must be integers or None or have an __index__ method\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Traceback (most recent call last): \n Cell In[3], line 5 \n cropped_frame = frame[:, left:right] \n TypeError: slice indices must be integers or None or have an __index__ method \n \n\n" }, "metadata": {} } ] } }, "a60d203e2b3b466da2f420c1396b90b2": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "26fea9a4ea31438c8bbe14445910c8e5": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_6887887f49b14c249cb892a9c936070b", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Process each frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mfor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcenter\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34min\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menumerate\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mzip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34miter_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mface_centers_avg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Calculate the left and right boundaries of the crop\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmax\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmin\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwidth\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcenter\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m-\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m/\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m2\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mright\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m+\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_width\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Crop the frame\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frame\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mframe\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m[\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mleft\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mright\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m]\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frames\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mappend\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frame\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Print progress\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m%\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m100\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m==\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m0\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mprint\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mCropped \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m/\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtotal_frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m frames\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n cropped_frames = [] \n \n # Process each frame \n for i, (frame, center) in enumerate(zip(clip.iter_frames(), face_centers_avg)): \n # Calculate the left and right boundaries of the crop \n left = max(0, min(width - new_width, int(center[0] - new_width // 2))) \n right = left + new_width \n \n # Crop the frame \n cropped_frame = frame[:, left:right] \n cropped_frames.append(cropped_frame) \n \n # Print progress \n if i % 100 == 0: \n print(f'Cropped {i}/{total_frames} frames') \n \n\n" }, "metadata": {} } ] } }, "6887887f49b14c249cb892a9c936070b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "806ab28204a440b58ba5fde861e13d48": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_a68ae6eec13d47d182388c12e8874457", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCropped 0/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCropped 100/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCropped 200/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCropped 300/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCropped 400/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCropped 500/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCropped 600/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCropped 700/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mCropped 800/819 frames\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Cropped 0/819 frames \n Cropped 100/819 frames \n Cropped 200/819 frames \n Cropped 300/819 frames \n Cropped 400/819 frames \n Cropped 500/819 frames \n Cropped 600/819 frames \n Cropped 700/819 frames \n Cropped 800/819 frames \n \n\n" }, "metadata": {} } ] } }, "a68ae6eec13d47d182388c12e8874457": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "77f449758de3412abd0d78d059d43ef1": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_edf044df54ef451781627f91bac2a9c3", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mVideoClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageSequenceClip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a new video clip from the cropped frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_clip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageSequenceClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfps\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfps\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Write the new video clip to a file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_clip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mcropped_clip.mkv\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcodec\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mlibx264\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n from moviepy.video.VideoClip import ImageSequenceClip \n \n # Create a new video clip from the cropped frames \n new_clip = ImageSequenceClip(cropped_frames, fps=clip.fps) \n \n # Write the new video clip to a file \n new_clip.write_videofile('cropped_clip.mkv', codec='libx264') \n \n\n" }, "metadata": {} } ] } }, "edf044df54ef451781627f91bac2a9c3": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "e468488a3ec14569adfd1bcdaefd9a35": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_cf2aaac773e442b0bc8fbbc152dd0b23", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mTraceback (most recent call last):\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m Cell In[3], line 1\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m from moviepy.video.VideoClip import ImageSequenceClip\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mImportError: cannot import name 'ImageSequenceClip' from 'moviepy.video.VideoClip' \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m(/usr/local/lib/python3.10/dist-packages/moviepy/video/VideoClip.py)\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Traceback (most recent call last): \n Cell In[3], line 1 \n from moviepy.video.VideoClip import ImageSequenceClip \n ImportError: cannot import name 'ImageSequenceClip' from 'moviepy.video.VideoClip' \n (/usr/local/lib/python3.10/dist-packages/moviepy/video/VideoClip.py) \n \n\n" }, "metadata": {} } ] } }, "cf2aaac773e442b0bc8fbbc152dd0b23": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "b4827858c2fe4cc28f9fc38fef5040c3": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_86328979d39d4e689f787d27e0989adc", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvideo\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageSequenceClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageSequenceClip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Create a new video clip from the cropped frames\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_clip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mImageSequenceClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_frames\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfps\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfps\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Write the new video clip to a file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_clip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mcropped_clip.mkv\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcodec\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mlibx264\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n from moviepy.video.io.ImageSequenceClip import ImageSequenceClip \n \n # Create a new video clip from the cropped frames \n new_clip = ImageSequenceClip(cropped_frames, fps=clip.fps) \n \n # Write the new video clip to a file \n new_clip.write_videofile('cropped_clip.mkv', codec='libx264') \n \n\n" }, "metadata": {} } ] } }, "86328979d39d4e689f787d27e0989adc": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "b6a181f821044dcc875efcbc2fed3747": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_c9e6274288f640af92d3224b0393390a", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m#2 | 597/820 [00:07<00:03, 69.95it/s, now=None]t: 74%|#######3 | 605/820 [00:07<00:03, 64.47it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 75%|#######4 | 612/820 [00:07<00:03, 62.44it/s, now=None]t: 75%|#######5 | 619/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:07<00:03, 64.15it/s, now=None]t: 76%|#######6 | 626/820 [00:08<00:03, 58.65it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m77%|#######7 | 633/820 [00:08<00:03, 59.87it/s, now=None]t: 78%|#######8 | 640/820 [00:08<00:03, 58.11it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 79%|#######8 | 647/820 [00:08<00:02, 58.78it/s, now=None]t: 80%|#######9 | 655/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:08<00:02, 60.11it/s, now=None]t: 81%|######## | 663/820 [00:08<00:02, 59.37it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m82%|########1 | 671/820 [00:08<00:02, 63.42it/s, now=None]t: 83%|########2 | 678/820 [00:08<00:02, 61.95it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 84%|########3 | 685/820 [00:08<00:02, 62.49it/s, now=None]t: 84%|########4 | 692/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:09<00:02, 62.57it/s, now=None]t: 85%|########5 | 699/820 [00:09<00:01, 63.71it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m86%|########6 | 706/820 [00:09<00:01, 64.65it/s, now=None]t: 87%|########7 | 714/820 [00:09<00:01, 65.82it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 88%|########7 | 721/820 [00:09<00:01, 65.85it/s, now=None]t: 89%|########8 | 729/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:09<00:01, 64.37it/s, now=None]t: 90%|########9 | 736/820 [00:09<00:01, 65.42it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m91%|######### | 745/820 [00:09<00:01, 70.02it/s, now=None]t: 92%|#########1| 753/820 [00:09<00:00, 69.63it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 93%|#########2| 761/820 [00:10<00:00, 70.53it/s, now=None]t: 94%|#########3| 769/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:10<00:00, 72.95it/s, now=None]t: 95%|#########4| 777/820 [00:10<00:00, 72.42it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m96%|#########5| 785/820 [00:10<00:00, 72.45it/s, now=None]t: 97%|#########6| 793/820 [00:10<00:00, 71.54it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 98%|#########7| 801/820 [00:10<00:00, 70.71it/s, now=None]t: 99%|#########8| 809/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:10<00:00, 72.52it/s, now=None]t: 100%|#########9| 818/820 [00:10<00:00, 75.42it/s, now=None] \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - Done !\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - video ready cropped_clip.mkv\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mNone\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Output truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`. \n \n #2 | 597/820 [00:07<00:03, 69.95it/s, now=None]t: 74%|#######3 | 605/820 [00:07<00:03, 64.47it/s, \n now=None]t: 75%|#######4 | 612/820 [00:07<00:03, 62.44it/s, now=None]t: 75%|#######5 | 619/820 \n [00:07<00:03, 64.15it/s, now=None]t: 76%|#######6 | 626/820 [00:08<00:03, 58.65it/s, now=None]t: \n 77%|#######7 | 633/820 [00:08<00:03, 59.87it/s, now=None]t: 78%|#######8 | 640/820 [00:08<00:03, 58.11it/s, \n now=None]t: 79%|#######8 | 647/820 [00:08<00:02, 58.78it/s, now=None]t: 80%|#######9 | 655/820 \n [00:08<00:02, 60.11it/s, now=None]t: 81%|######## | 663/820 [00:08<00:02, 59.37it/s, now=None]t: \n 82%|########1 | 671/820 [00:08<00:02, 63.42it/s, now=None]t: 83%|########2 | 678/820 [00:08<00:02, 61.95it/s, \n now=None]t: 84%|########3 | 685/820 [00:08<00:02, 62.49it/s, now=None]t: 84%|########4 | 692/820 \n [00:09<00:02, 62.57it/s, now=None]t: 85%|########5 | 699/820 [00:09<00:01, 63.71it/s, now=None]t: \n 86%|########6 | 706/820 [00:09<00:01, 64.65it/s, now=None]t: 87%|########7 | 714/820 [00:09<00:01, 65.82it/s, \n now=None]t: 88%|########7 | 721/820 [00:09<00:01, 65.85it/s, now=None]t: 89%|########8 | 729/820 \n [00:09<00:01, 64.37it/s, now=None]t: 90%|########9 | 736/820 [00:09<00:01, 65.42it/s, now=None]t: \n 91%|######### | 745/820 [00:09<00:01, 70.02it/s, now=None]t: 92%|#########1| 753/820 [00:09<00:00, 69.63it/s, \n now=None]t: 93%|#########2| 761/820 [00:10<00:00, 70.53it/s, now=None]t: 94%|#########3| 769/820 \n [00:10<00:00, 72.95it/s, now=None]t: 95%|#########4| 777/820 [00:10<00:00, 72.42it/s, now=None]t: \n 96%|#########5| 785/820 [00:10<00:00, 72.45it/s, now=None]t: 97%|#########6| 793/820 [00:10<00:00, 71.54it/s, \n now=None]t: 98%|#########7| 801/820 [00:10<00:00, 70.71it/s, now=None]t: 99%|#########8| 809/820 \n [00:10<00:00, 72.52it/s, now=None]t: 100%|#########9| 818/820 [00:10<00:00, 75.42it/s, now=None] \n Moviepy - Done ! \n Moviepy - video ready cropped_clip.mkv \n None \n \n\n" }, "metadata": {} } ] } }, "c9e6274288f640af92d3224b0393390a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "2cf83094efd74450a44684621cec09ba": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9c56ce6494ae4d13a9c652e93d08d34f", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n The video has been successfully cropped and saved as 'cropped_clip.mkv'. The next step is to extract the audio \n from the original clip and add it to the cropped video. Let's do that. \n \n", "text/html": "
\n The video has been successfully cropped and saved as 'cropped_clip.mkv'. The next step is to extract the audio \n from the original clip and add it to the cropped video. Let's do that. \n \n\n" }, "metadata": {} } ] } }, "9c56ce6494ae4d13a9c652e93d08d34f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "5b13f6f7553f4ef69b4deb45734b3906": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_62b5f3bf807f4e17a0fee6e73b19b50f", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmoviepy\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34meditor\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mAudioFileClip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Extract the audio from the original clip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mAudioFileClip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34moriginal_video.mkv\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msubclip\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mstart_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mend_time\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Set the audio of the new clip\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_clip_with_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mnew_clip\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mset_audio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34maudio\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;117;113;94;48;2;39;40;34m# Write the new video clip with audio to a file\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_clip_with_audio\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mcropped_clip_with_audio.mkv\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcodec\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mlibx264\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n from moviepy.editor import AudioFileClip \n \n # Extract the audio from the original clip \n audio = AudioFileClip('original_video.mkv').subclip(start_time, end_time) \n \n # Set the audio of the new clip \n cropped_clip_with_audio = new_clip.set_audio(audio) \n \n # Write the new video clip with audio to a file \n cropped_clip_with_audio.write_videofile('cropped_clip_with_audio.mkv', codec='libx264') \n \n\n" }, "metadata": {} } ] } }, "62b5f3bf807f4e17a0fee6e73b19b50f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "4d37ead524de46239d479f3d5660af3f": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_fd62af45f4c74a9a93a93ed62415f62f", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m20 [00:08<00:03, 63.24it/s, now=None]t: 74%|#######4 | 607/820 [00:08<00:03, 67.05it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m75%|#######4 | 614/820 [00:08<00:03, 61.46it/s, now=None]t: 76%|#######5 | 621/820 [00:08<00:03, 60.96it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 77%|#######6 | 628/820 [00:08<00:03, 58.23it/s, now=None]t: 77%|#######7 | 634/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:08<00:03, 56.61it/s, now=None]t: 78%|#######8 | 640/820 [00:09<00:03, 54.12it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m79%|#######8 | 646/820 [00:09<00:03, 55.23it/s, now=None]t: 80%|#######9 | 654/820 [00:09<00:02, 61.50it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 81%|######## | 661/820 [00:09<00:02, 60.69it/s, now=None]t: 81%|########1 | 668/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:09<00:02, 60.97it/s, now=None]t: 82%|########2 | 675/820 [00:09<00:02, 60.73it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m83%|########3 | 684/820 [00:09<00:02, 62.14it/s, now=None]t: 84%|########4 | 692/820 [00:09<00:02, 62.95it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 85%|########5 | 699/820 [00:10<00:01, 62.96it/s, now=None]t: 86%|########6 | 706/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:10<00:01, 63.58it/s, now=None]t: 87%|########7 | 714/820 [00:10<00:01, 67.93it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m88%|########7 | 721/820 [00:10<00:01, 68.32it/s, now=None]t: 89%|########8 | 728/820 [00:10<00:01, 66.30it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 90%|########9 | 737/820 [00:10<00:01, 70.97it/s, now=None]t: 91%|######### | 745/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:10<00:01, 66.52it/s, now=None]t: 92%|#########1| 753/820 [00:10<00:00, 69.11it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m93%|#########2| 762/820 [00:10<00:00, 72.09it/s, now=None]t: 94%|#########3| 770/820 [00:11<00:00, 73.50it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 95%|#########4| 778/820 [00:11<00:00, 75.04it/s, now=None]t: 96%|#########5| 787/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:11<00:00, 77.95it/s, now=None]t: 97%|#########6| 795/820 [00:11<00:00, 77.10it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m98%|#########8| 804/820 [00:11<00:00, 77.64it/s, now=None]t: 99%|#########9| 812/820 [00:11<00:00, 75.04it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 100%|##########| 820/820 [00:11<00:00, 74.23it/s, now=None] \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - Done !\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - video ready cropped_clip_with_audio.mkv\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mNone\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Output truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`. \n \n 20 [00:08<00:03, 63.24it/s, now=None]t: 74%|#######4 | 607/820 [00:08<00:03, 67.05it/s, now=None]t: \n 75%|#######4 | 614/820 [00:08<00:03, 61.46it/s, now=None]t: 76%|#######5 | 621/820 [00:08<00:03, 60.96it/s, \n now=None]t: 77%|#######6 | 628/820 [00:08<00:03, 58.23it/s, now=None]t: 77%|#######7 | 634/820 \n [00:08<00:03, 56.61it/s, now=None]t: 78%|#######8 | 640/820 [00:09<00:03, 54.12it/s, now=None]t: \n 79%|#######8 | 646/820 [00:09<00:03, 55.23it/s, now=None]t: 80%|#######9 | 654/820 [00:09<00:02, 61.50it/s, \n now=None]t: 81%|######## | 661/820 [00:09<00:02, 60.69it/s, now=None]t: 81%|########1 | 668/820 \n [00:09<00:02, 60.97it/s, now=None]t: 82%|########2 | 675/820 [00:09<00:02, 60.73it/s, now=None]t: \n 83%|########3 | 684/820 [00:09<00:02, 62.14it/s, now=None]t: 84%|########4 | 692/820 [00:09<00:02, 62.95it/s, \n now=None]t: 85%|########5 | 699/820 [00:10<00:01, 62.96it/s, now=None]t: 86%|########6 | 706/820 \n [00:10<00:01, 63.58it/s, now=None]t: 87%|########7 | 714/820 [00:10<00:01, 67.93it/s, now=None]t: \n 88%|########7 | 721/820 [00:10<00:01, 68.32it/s, now=None]t: 89%|########8 | 728/820 [00:10<00:01, 66.30it/s, \n now=None]t: 90%|########9 | 737/820 [00:10<00:01, 70.97it/s, now=None]t: 91%|######### | 745/820 \n [00:10<00:01, 66.52it/s, now=None]t: 92%|#########1| 753/820 [00:10<00:00, 69.11it/s, now=None]t: \n 93%|#########2| 762/820 [00:10<00:00, 72.09it/s, now=None]t: 94%|#########3| 770/820 [00:11<00:00, 73.50it/s, \n now=None]t: 95%|#########4| 778/820 [00:11<00:00, 75.04it/s, now=None]t: 96%|#########5| 787/820 \n [00:11<00:00, 77.95it/s, now=None]t: 97%|#########6| 795/820 [00:11<00:00, 77.10it/s, now=None]t: \n 98%|#########8| 804/820 [00:11<00:00, 77.64it/s, now=None]t: 99%|#########9| 812/820 [00:11<00:00, 75.04it/s, \n now=None]t: 100%|##########| 820/820 [00:11<00:00, 74.23it/s, now=None] \n Moviepy - Done ! \n Moviepy - video ready cropped_clip_with_audio.mkv \n None \n \n\n" }, "metadata": {} } ] } }, "fd62af45f4c74a9a93a93ed62415f62f": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "5ca82a2033fb4b0c93ba168d64f6ef9e": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_6c4cadeb9ad74ad5984cb26042f1b36a", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n I have successfully created the TikTok clip. The video has been cropped to a 9:16 aspect ratio around the face \n in the frame, with the motion between confident face detections smoothly averaged out. The audio from the \n original video has been added back in. The final video file is named 'cropped_clip_with_audio.mkv'. \n \n", "text/html": "
\n I have successfully created the TikTok clip. The video has been cropped to a 9:16 aspect ratio around the face \n in the frame, with the motion between confident face detections smoothly averaged out. The audio from the \n original video has been added back in. The final video file is named 'cropped_clip_with_audio.mkv'. \n \n\n" }, "metadata": {} } ] } }, "6c4cadeb9ad74ad5984cb26042f1b36a": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "647b95ec7a5b40979432289c033ccd79": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_85e5e774473d4d629a91899373d2602b", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcropped_clip_with_audio\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwrite_videofile\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mcropped_clip_with_audio.mp4\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcodec\u001b[0m\u001b[38;2;249;38;114;48;2;39;40;34m=\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mlibx264\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\u001b[48;2;39;39;34m \u001b[0m\n\u001b[48;2;39;39;34m \u001b[0m\n", "text/html": "
\n cropped_clip_with_audio.write_videofile('cropped_clip_with_audio.mp4', codec='libx264') \n \n\n" }, "metadata": {} } ] } }, "85e5e774473d4d629a91899373d2602b": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "82db7edca0184c31a689eb8ad4785611": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_5988deb63066470bb3225344289929e9", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": "\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mOutput truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`.\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m20 [00:06<00:03, 73.39it/s, now=None]t: 69%|######9 | 569/820 [00:07<00:03, 78.56it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m70%|####### | 578/820 [00:07<00:03, 76.98it/s, now=None]t: 72%|#######1 | 588/820 [00:07<00:02, 81.45it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 73%|#######2 | 597/820 [00:07<00:02, 82.24it/s, now=None]t: 74%|#######3 | 606/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:07<00:02, 75.18it/s, now=None]t: 75%|#######5 | 615/820 [00:07<00:02, 76.71it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m76%|#######5 | 623/820 [00:07<00:02, 74.47it/s, now=None]t: 77%|#######7 | 632/820 [00:07<00:02, 76.20it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 78%|#######8 | 640/820 [00:08<00:02, 75.49it/s, now=None]t: 79%|#######9 | 648/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:08<00:02, 76.29it/s, now=None]t: 80%|######## | 656/820 [00:08<00:02, 74.20it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m81%|######## | 664/820 [00:08<00:02, 75.04it/s, now=None]t: 82%|########1 | 672/820 [00:08<00:02, 72.15it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 83%|########2 | 680/820 [00:08<00:01, 74.17it/s, now=None]t: 84%|########4 | 689/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:08<00:01, 75.94it/s, now=None]t: 85%|########5 | 697/820 [00:08<00:01, 75.41it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m86%|########5 | 705/820 [00:08<00:01, 75.99it/s, now=None]t: 87%|########7 | 714/820 [00:08<00:01, 78.50it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 88%|########8 | 722/820 [00:09<00:01, 77.38it/s, now=None]t: 89%|########9 | 732/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:09<00:01, 82.65it/s, now=None]t: 90%|######### | 741/820 [00:09<00:01, 71.51it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m92%|#########1| 751/820 [00:09<00:00, 77.55it/s, now=None]t: 93%|#########2| 760/820 [00:09<00:00, 78.10it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 94%|#########3| 768/820 [00:09<00:00, 73.98it/s, now=None]t: 95%|#########4| 777/820 \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m[00:09<00:00, 76.13it/s, now=None]t: 96%|#########5| 786/820 [00:09<00:00, 78.54it/s, now=None]t: \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m97%|#########6| 794/820 [00:10<00:00, 74.12it/s, now=None]t: 98%|#########7| 802/820 [00:10<00:00, 74.97it/s, \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mnow=None]t: 99%|#########9| 812/820 [00:10<00:00, 79.79it/s, now=None] \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - Done !\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mMoviepy - video ready cropped_clip_with_audio.mp4\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55mNone\u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n\u001b[38;2;255;255;255;48;2;59;59;55m \u001b[0m\n", "text/html": "
\n Output truncated. Showing the last 2000 characters. Adjust via `interpreter.max_output_chars`. \n \n 20 [00:06<00:03, 73.39it/s, now=None]t: 69%|######9 | 569/820 [00:07<00:03, 78.56it/s, now=None]t: \n 70%|####### | 578/820 [00:07<00:03, 76.98it/s, now=None]t: 72%|#######1 | 588/820 [00:07<00:02, 81.45it/s, \n now=None]t: 73%|#######2 | 597/820 [00:07<00:02, 82.24it/s, now=None]t: 74%|#######3 | 606/820 \n [00:07<00:02, 75.18it/s, now=None]t: 75%|#######5 | 615/820 [00:07<00:02, 76.71it/s, now=None]t: \n 76%|#######5 | 623/820 [00:07<00:02, 74.47it/s, now=None]t: 77%|#######7 | 632/820 [00:07<00:02, 76.20it/s, \n now=None]t: 78%|#######8 | 640/820 [00:08<00:02, 75.49it/s, now=None]t: 79%|#######9 | 648/820 \n [00:08<00:02, 76.29it/s, now=None]t: 80%|######## | 656/820 [00:08<00:02, 74.20it/s, now=None]t: \n 81%|######## | 664/820 [00:08<00:02, 75.04it/s, now=None]t: 82%|########1 | 672/820 [00:08<00:02, 72.15it/s, \n now=None]t: 83%|########2 | 680/820 [00:08<00:01, 74.17it/s, now=None]t: 84%|########4 | 689/820 \n [00:08<00:01, 75.94it/s, now=None]t: 85%|########5 | 697/820 [00:08<00:01, 75.41it/s, now=None]t: \n 86%|########5 | 705/820 [00:08<00:01, 75.99it/s, now=None]t: 87%|########7 | 714/820 [00:08<00:01, 78.50it/s, \n now=None]t: 88%|########8 | 722/820 [00:09<00:01, 77.38it/s, now=None]t: 89%|########9 | 732/820 \n [00:09<00:01, 82.65it/s, now=None]t: 90%|######### | 741/820 [00:09<00:01, 71.51it/s, now=None]t: \n 92%|#########1| 751/820 [00:09<00:00, 77.55it/s, now=None]t: 93%|#########2| 760/820 [00:09<00:00, 78.10it/s, \n now=None]t: 94%|#########3| 768/820 [00:09<00:00, 73.98it/s, now=None]t: 95%|#########4| 777/820 \n [00:09<00:00, 76.13it/s, now=None]t: 96%|#########5| 786/820 [00:09<00:00, 78.54it/s, now=None]t: \n 97%|#########6| 794/820 [00:10<00:00, 74.12it/s, now=None]t: 98%|#########7| 802/820 [00:10<00:00, 74.97it/s, \n now=None]t: 99%|#########9| 812/820 [00:10<00:00, 79.79it/s, now=None] \n Moviepy - Done ! \n Moviepy - video ready cropped_clip_with_audio.mp4 \n None \n \n\n" }, "metadata": {} } ] } }, "5988deb63066470bb3225344289929e9": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } }, "4bb6ea2b3ce6407cb1b85c32ad828415": { "model_module": "@jupyter-widgets/output", "model_name": "OutputModel", "model_module_version": "1.0.0", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_09287fc3783049898cdb624d0cc4bf81", "msg_id": "", "outputs": [ { "output_type": "display_data", "data": { "text/plain": " \n I have successfully converted the video to an mp4 format. The final video file is named \n 'cropped_clip_with_audio.mp4'. \n \n", "text/html": "
\n I have successfully converted the video to an mp4 format. The final video file is named \n 'cropped_clip_with_audio.mp4'. \n \n\n" }, "metadata": {} } ] } }, "09287fc3783049898cdb624d0cc4bf81": { "model_module": "@jupyter-widgets/base", "model_name": "LayoutModel", "model_module_version": "1.2.0", "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 } } } } }, "nbformat": 4, "nbformat_minor": 0 } ================================================ FILE: examples/README.md ================================================ # Open Interpreter Examples This directory contains various examples demonstrating how to use Open Interpreter in different scenarios and configurations. Each example is designed to provide a practical guide to integrating and leveraging Open Interpreter's capabilities in your projects. ## Colab Notebooks [Google Colab](https://colab.google/) provides a sandboxed development environment for you to run code in. Here are some Jupyter Notebooks on Colab that you can try: ### Local 3 [](https://colab.research.google.com/drive/1jWKKwVCQneCTB5VNQNWO0Wxqg1vG_E1T#scrollTo=13ISLtY9_v7g) ### Interactive Demo [](https://colab.research.google.com/drive/1WKmRXZgsErej2xUriKzxrEAXdxMSgWbb?usp=sharing) ### Voice Interface [](https://colab.research.google.com/drive/1NojYGHDgxH6Y1G1oxThEBBb2AtyODBIK) ================================================ FILE: examples/custom_tool.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Add a Custom Tool to your Instance\n", "\n", "You can create custom tools for your instance of Open Interpreter. This is extremely helpful for adding new functionality in a reliable way.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, create a profile and configure your instance:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Configure Open Interpreter\n", "from interpreter import interpreter\n", "\n", "interpreter.llm.model = \"claude-3-5-sonnet-20240620\"\n", "interpreter.computer.import_computer_api = True\n", "interpreter.llm.supports_functions = True\n", "interpreter.llm.supports_vision = True\n", "interpreter.llm.context_window = 100000\n", "interpreter.llm.max_tokens = 4096" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Then you will define your custom tool by writing valid Python code within a comment. This example is for searching the AWS documentation using Perplexity:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "custom_tool = \"\"\"\n", "\n", "import os\n", "import requests\n", "\n", "def search_aws_docs(query):\n", "\n", " url = \"https://api.perplexity.ai/chat/completions\"\n", "\n", " payload = {\n", " \"model\": \"llama-3.1-sonar-small-128k-online\",\n", " \"messages\": [\n", " {\n", " \"role\": \"system\",\n", " \"content\": \"Be precise and concise.\"\n", " },\n", " {\n", " \"role\": \"user\",\n", " \"content\": query\n", " }\n", " ],\n", " \"temperature\": 0.2,\n", " \"top_p\": 0.9,\n", " \"return_citations\": True,\n", " \"search_domain_filter\": [\"docs.aws.amazon.com\"],\n", " \"return_images\": False,\n", " \"return_related_questions\": False,\n", " #\"search_recency_filter\": \"month\",\n", " \"top_k\": 0,\n", " \"stream\": False,\n", " \"presence_penalty\": 0,\n", " \"frequency_penalty\": 1\n", " }\n", " headers = {\n", " \"Authorization\": f\"Bearer {os.environ.get('PPLX_API_KEY')}\",\n", " \"Content-Type\": \"application/json\"\n", " }\n", "\n", " response = requests.request(\"POST\", url, json=payload, headers=headers)\n", "\n", " print(response.text)\n", "\n", " return response.text\n", "\n", "\"\"\"\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Finally, you add the tool to the OI instance's computer:" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "interpreter.computer.run(\"python\", custom_tool)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Note: You can define and set multiple tools in a single instance." ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 2 } ================================================ FILE: examples/interactive_quickstart.py ================================================ # This is all you need to get started from interpreter import interpreter interpreter.chat() ================================================ FILE: examples/jan_computer_control.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Jan Computer Control\n", "\n", "We love Jan as an A.I. inference server. It also has a chat interface to chat with LLMs. But did you know that you can use this same chat interface as a computer control interface? Read on!\n", "\n", "[View on YouTube](https://www.youtube.com/watch?v=1l3B0AzbbjQ)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Install and set up Jan\n", "\n", "https://jan.ai/" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Install Open Interpreter\n", "\n", "https://docs.openinterpreter.com/getting-started/introduction" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Run the Open Interpreter OpenAI-compatible server.\n", "\n", "`interpreter --server`\n", "\n", "Add flags to set the `--model`, `--context_window`, or any other [setting](https://docs.openinterpreter.com/settings/all-settings) you want" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Edit Jan's OpenAI settings to point to the local server.\n", "\n", "Settings => OpenAI => Chat Competion endpoint `http://127.0.0.1:8000/openai/chat/completions`.\n", "\n", "Jan has a requirement to set a dummy OpenAI API key." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Go to Jan's chat window to start a new thread.\n", "\n", "Set `Model` to an OpenAI model. \n", "\n", "Start controlling your computer!" ] } ], "metadata": { "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 2 } ================================================ FILE: examples/local3.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "This notebook replicates running Open Interpreter locally and uses Llama3 via llamafile" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "## Download LLama3\n", "\n", "# Download the Meta-Llama-3-8B-Instruct.llamafile\n", "!curl -L -o Meta-Llama-3-8B-Instruct.Q5_K_M.llamafile 'https://huggingface.co/Mozilla/Meta-Llama-3-8B-Instruct-llamafile/resolve/main/Meta-Llama-3-8B-Instruct.Q5_K_M.llamafile?download=true'\n", "\n", "# Make the downloaded file executable\n", "!chmod +x Meta-Llama-3-8B-Instruct.Q5_K_M.llamafile" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "## Install OI\n", "\n", "!pip install open-interpreter --quiet\n", "!pip install opencv-python --quiet" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "## Configure OI\n", "\n", "import cv2\n", "import subprocess\n", "from interpreter import interpreter\n", "\n", "interpreter.offline = True\n", "\n", "interpreter.llm.model = \"openai/local\" # Tells OI to use an OpenAI-compatible server\n", "interpreter.llm.api_key = \"dummy_key\"\n", "interpreter.llm.api_base = \"http://localhost:8081/v1\"\n", "interpreter.llm.context_window = 7000\n", "interpreter.llm.max_tokens = 1000\n", "interpreter.llm.supports_functions = False" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "## Start server, run OI\n", "\n", "import subprocess\n", "import threading\n", "import os\n", "\n", "def read_output(process):\n", " while True:\n", " output = process.stdout.readline()\n", " if output == b'' and process.poll() is not None:\n", " break\n", " if output:\n", " print(output.decode().strip())\n", "\n", "# Check if the file exists and has execute permissions\n", "file_path = os.path.abspath('Meta-Llama-3-8B-Instruct.Q5_K_M.llamafile')\n", "\n", "# Why are the arguments not being used??\n", "command = [file_path, \"--nobrowser\", \"-ngl\", \"9999\"]\n", "print(command)\n", "\n", "# Setting up the Popen call with stderr redirected to stdout\n", "process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)\n", "\n", "# Thread to handle the output asynchronously\n", "thread = threading.Thread(target=read_output, args=(process,))\n", "thread.start()\n", "\n", "# Here you can do other tasks concurrently\n", "# For example:\n", "interpreter.chat()\n", "\n", "# Wait for the thread to finish if the process completes\n", "thread.join()\n", "\n", "# Ensure the process has completed\n", "process.wait()" ] } ], "metadata": { "kernelspec": { "display_name": "oi", "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.9" } }, "nbformat": 4, "nbformat_minor": 2 } ================================================ FILE: examples/local_server.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Build a local Open Interpreter server for a custom front end" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from flask import Flask, request, jsonify\n", "from interpreter import interpreter\n", "import json" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "app = Flask(__name__)\n", "\n", "# Configure Open Interpreter\n", "\n", "## Local Model\n", "# interpreter.offline = True\n", "# interpreter.llm.model = \"ollama/llama3.1\"\n", "# interpreter.llm.api_base = \"http://localhost:11434\"\n", "# interpreter.llm.context_window = 4000\n", "# interpreter.llm.max_tokens = 3000\n", "# interpreter.auto_run = True\n", "# interpreter.verbose = True\n", "\n", "## Hosted Model\n", "interpreter.llm.model = \"gpt-4o\"\n", "interpreter.llm.context_window = 10000\n", "interpreter.llm.max_tokens = 4096\n", "interpreter.auto_run = True\n", "\n", "# Create an endpoint\n", "@app.route('/chat', methods=['POST'])\n", "def chat():\n", " # Expected payload: {\"prompt\": \"User's message or question\"}\n", " data = request.json\n", " prompt = data.get('prompt')\n", " \n", " if not prompt:\n", " return jsonify({\"error\": \"No prompt provided\"}), 400\n", "\n", " full_response = \"\"\n", " try:\n", " for chunk in interpreter.chat(prompt, stream=True, display=False):\n", " if isinstance(chunk, dict):\n", " if chunk.get(\"type\") == \"message\":\n", " full_response += chunk.get(\"content\", \"\")\n", " elif isinstance(chunk, str):\n", " # Attempt to parse the string as JSON\n", " try:\n", " json_chunk = json.loads(chunk)\n", " full_response += json_chunk.get(\"response\", \"\")\n", " except json.JSONDecodeError:\n", " # If it's not valid JSON, just add the string\n", " full_response += chunk\n", " except Exception as e:\n", " return jsonify({\"error\": str(e)}), 500\n", "\n", " return jsonify({\"response\": full_response.strip()})\n", "\n", "if __name__ == '__main__':\n", " app.run(host='0.0.0.0', port=5001)\n", "\n", "print(\"Open Interpreter server is running on http://0.0.0.0:5001\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Make a request to the server" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "curl -X POST http://localhost:5001/chat \\\n", " -H \"Content-Type: application/json\" \\\n", " -d '{\"prompt\": \"Hello, how are you?\"}'" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.9" } }, "nbformat": 4, "nbformat_minor": 2 } ================================================ FILE: examples/organize_photos.ipynb ================================================ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Organize your photos with Open Interpreter" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can use Open Interpreter with a vision model to organize photos based on their contents. This is limited by the ability of the LLM as well as the organization of the directories storing photos. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> Note: It is always recommended to back up photos and files on a regular basis. Most models are intelligent enough to know the difference between `move` and `delete` but on rare occasions, files can be deleted during some operations. It is important to test on duplicated photos and to keep an eye on code written by an LLM." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Create a profile. This example uses GPT-4o but you can use any vision model." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "\"\"\"\n", "This is an Open Interpreter profile to organize a directory of photos. \n", "\"\"\"\n", "\n", "from interpreter import interpreter\n", "\n", "\n", "# LLM settings\n", "interpreter.llm.model = \"gpt-4o\"\n", "#interpreter.llm.model = \"ollama/codestral\"\n", "interpreter.llm.supports_vision = True\n", "interpreter.llm.execution_instructions = False\n", "interpreter.llm.max_tokens = 1000\n", "interpreter.llm.context_window = 7000\n", "interpreter.llm.load() # Loads Ollama models\n", "\n", "# Computer settings\n", "interpreter.computer.import_computer_api = True\n", "\n", "# Misc settings\n", "interpreter.auto_run = False\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following custom instruction is intended for a directory containing one sub-directory of unorganized photos and multiple empty sub-directories with names for the intended organization. Please update the custom instructions to match your use-case. This will take some trial and error, depending on the model used." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Custom Instructions\n", "interpreter.custom_instructions=f\"\"\"\n", " Recap the plan before answering the user's query!\n", " Your job is to organize photos. You love organizing photos.\n", " You will be given a parent directory with sub-directories. \n", " One sub-directory will be of unorganized photos.\n", " The other sub-directories will be categories that you move the photos in to.\n", " Remember the sub-directories's names because they will be the categories for organizing.\n", " It is extremely important because these are the only options for where you move the photos.\n", " Loop through every photo in the unorganized photos directory. \n", " Skip over non-photo files by checking for common photo extensions (.jpg, .jpeg, .png, etc).\n", " In this loop you will determine the description of each image one at a time. \n", " Use `computer.vision.query()` to get a description of the image.\n", " `computer.vision.query()` takes a `path=` argument to know which photo to describe. \n", " Print out the description so you can get the full context.\n", " Determine which sub-directory the photo should go in to.\n", " Every photo needs to go into one of the sub-directories.\n", " Make sure you actually move the photo. \n", " Your task is done when every photo in the unorganized photos directory has been moved to another directory. \n", " **Confirm that the unorganized photos directory has no more photos**.\n", " \"\"\"\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Save the profile with a descriptive name. Then run interpreter with:\n", "\n", "`interpreter --profile