Skip to main content

Package to convert audio to video with google speech to text and google image search

Project description

OWOI_AudioToClip

Python module used for the school project OWOI (One Word One Image)

Installation

After git cloning the repository, you can install the dependencies with the following command:

poetry install

Credentials

Please provide your credentials in the following environment variables:

export GOOGLE_APPLICATION_CREDENTIALS="path/to/credentials.json"
export GOOGLE_IMAGES_SEARCH_TOKEN="token"
export GOOGLE_SEARCH_ID="id"

Classes

TranscriptFactory

This class is used to create a transcript from a text file. It will create a list of words and a list of timestamps.

from owoi_audio_to_clip.TranscriptFactory import TranscriptFactory

transcript_factory = TranscriptFactory(gcs_uri="gs://bucket/file.mp3")

Methods:

  • transcribe_audio_to_text() -> list[dict]: transcribe audio to text from the gcs_uri and returns a list of dict with the following keys: "word", "start_time" and "end_time"
  • get_word_timestamps() -> list[dict]: returns a list of dict with the following keys: "word", "start_time" and "end_time"

This Class should be used to create a transcript from a text file before creating a clip with the ClipMakerFactory.

ClipMakerFactory

This class is used to create a clip from a transcript.

from owoi_audio_to_clip.ClipMakerFactory import ClipMakerFactory

clip_maker_factory = ClipMakerFactory(video_name, username, transcript, gcs_bucket_name, local_storage_path, gcs_audio_name, with_subtitles=True)

Params:

  • video_name:str -> name of the video
  • username:str -> name of the user
  • transcript:list[WordTimestamp] -> list of WordTimestamp
  • gcs_bucket_dest:str -> name of the gcs bucket destination
  • local_storage:str -> path to the local storage destination
  • gcs_audio_path:str -> path to the audio file in the gcs bucket
  • with_subtitles:bool -> if True, subtitles will be added to the video

Methods:

  • clip_maker(word_timestamps: list[WordTimestamp]) -> VideoFileClip: creates a clip from the transcript and returns a VideoFileClip

Functions

Utils

from owoi_audio_to_clip.utils import upload_audio_to_gcs, upload_video_to_gcs, purge_local_storage_images

upload_audio_to_gcs(bucket_name, username, audio_name, local_storage_path)
upload_video_to_gcs(bucket_name, username, video_name, local_storage_path)
purge_local_storage_images(local_storage_path)
download_audio_from_youtube(youtube_url, local_dest, username, audio_name, start_time, end_time, gcs_bucket_name)

download_audio_from_youtube

This function is used to download an audio file from a youtube video, and upload it to the gcs bucket.

Params:

  • youtube_url:str -> url of the youtube video
  • local_dest:str -> path to the local storage destination (where the audio file will be downloaded, the program will create a folder with the username, and put the audio in an 'audios' folder)
  • username:str -> name of the user
  • audio_name:str -> name of the audio file
  • start_time:str -> start time of the audio file extracted from the youtube video
  • end_time:str -> end time of the audio file extracted from the youtube video
  • gcs_bucket_name:str -> name of the gcs bucket destination

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

owoi-audiotoclip-1.1.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

owoi_audiotoclip-1.1.0-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file owoi-audiotoclip-1.1.0.tar.gz.

File metadata

  • Download URL: owoi-audiotoclip-1.1.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.9.7 Linux/5.10.16.3-microsoft-standard-WSL2

File hashes

Hashes for owoi-audiotoclip-1.1.0.tar.gz
Algorithm Hash digest
SHA256 fe95cadbdc29533aa14281cc46d4bafeebdcaba5d8dcb91a97e26e961ff4a5d5
MD5 e2a3c7136ec331578e9b2a6542bf1633
BLAKE2b-256 6fb372f822eef0469160c396f5fb758e479119ad839e3f5c00cd721883f02dd6

See more details on using hashes here.

File details

Details for the file owoi_audiotoclip-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: owoi_audiotoclip-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.0 CPython/3.9.7 Linux/5.10.16.3-microsoft-standard-WSL2

File hashes

Hashes for owoi_audiotoclip-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea527d813ef1279d1ee572c7954562020f2c31ba6509bc252b6b5a1cde266872
MD5 fe07cae532161853fbe5280996b50f2b
BLAKE2b-256 d342b3198d1e7054b86bd89d2baa2bc16bf339b8154b5c66691842e02942d1c5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page