google-marketing-solutions / ariel

A cutting-edge AI dubbing solution designed to enhance the global reach of digital advertising.
https://github.com/google-marketing-solutions/ariel
Apache License 2.0
12 stars 3 forks source link
ai dubbing-ai google

gTech Ads Ariel for AI Video Ad Dubbing

Ariel is an open-source Python library that facilitates efficient and cost-effective dubbing of video ads into multiple languages.

python PyPI GitHub last commit Code Style: Google Open in Colab

Ariel Logo
This is not an official Google product.

OverviewFeaturesBenefitsLanguage CompatibilityBefore You BeginGetting StartedBuilding BlocksReferences

Overview

Ariel is a cutting-edge solution designed to enhance the global reach of digital advertising. It enables advertisers to automate the translation and dubbing of their video ads into a wide range of languages.

Features

Benefits

Language Compatibility

You can dub video ads from and to many languages.

Expand to see the full list of supported languages. * Arabic (ar-SA), (ar-EG) * Bengali (bn-BD), (bn-IN) * Bulgarian (bg-BG) * Chinese (Simplified) (zh-CN) * Chinese (Traditional) (zh-TW) * Croatian (hr-HR) * Czech (cs-CZ) * Danish (da-DK) * Dutch (nl-NL) * English (en-US), (en-GB), (en-CA), (en-AU) * Estonian (et-EE) * Finnish (fi-FI) * French (fr-FR), (fr-CA) * German (de-DE) * Greek (el-GR) * Gujarati (gu-IN) * Hebrew (he-IL) (Note: Not supported with ElevenLabs API) * Hindi (hi-IN) * Hungarian (hu-HU) * Indonesian (id-ID) * Italian (it-IT) * Japanese (ja-JP) * Kannada (kn-IN) * Korean (ko-KR) * Latvian (lv-LV) * Lithuanian (lt-LT) * Malayalam (ml-IN) * Marathi (mr-IN) * Norwegian (nb-NO), (nn-NO) * Polish (pl-PL) * Portuguese (pt-PT), (pt-BR) * Romanian (ro-RO) * Russian (ru-RU) * Serbian (sr-RS) * Slovak (sk-SK) * Slovenian (sl-SI) * Spanish (es-ES), (es-MX) * Swahili (sw-KE) * Swedish (sv-SE) * Tamil (ta-IN), (ta-LK) * Telugu (te-IN) * Thai (th-TH) * Turkish (tr-TR) * Ukrainian (uk-UA) * Vietnamese (vi-VN)

Before You Begin

Getting started

To start using Ariel, just click on the this button: Open in Colab

Building Blocks

Ariel leverages a powerful combination of state-of-the-art AI and audio processing techniques to deliver accurate and efficient dubbing results:

  1. Video Processing: Extracts the audio track from the input video file.
  2. Audio Processing:
    • DEMUCS: Employed for advanced audio source separation.
    • pyannote: Performs speaker diarization to identify and separate individual speakers.
  3. Speech-To-Text (STT):
    • faster-whisper: A high-performance speech-to-text model.
    • Gemini 1.5 Flash: A powerful multimodal language model that contributes to enhanced transcription.
  4. Translation:
    • Gemini 1.5 Flash: Leverages its language understanding for accurate and contextually relevant translation.
  5. Text-to-Speech (TTS):
    • GCP's Text-To-Speech: Generates natural-sounding speech in the target language.
    • [OPTIONAL] ElevenLabs: An alternative API to generate speech. It's recommened for the best results. WARNING: ElevenLabs is a paid solution and will generate extra costs. See the pricing here.

🆕 Ariel User Interface

For a more user-friendly experience, we're also providing an Ariel version that can be deployed onto Google Cloud Platform with a GUI.

Ariel UI screenshot

Requirements

In order to use Ariel UI, you need the following:

  1. Google Cloud Platform Project to host the backend. The following components are created during deployment:
    • Cloud Storage Bucket to store input & output videos, video dubbing artifacts and all other metadata files. This bucket is also used as an interaction point with GUI (files created/removed there are triggering the backend processing).
    • Cloud Run instance that processes all the steps. This part is implemented as a Python Docker container (which is also built during installation).
    • Pub/Sub Infrastructure based on EventArc, it notifies the container of new files.
  2. AppsScript Project to host the frontend, an Angular web-app. For this, you need Google Workspace access.

Deployment

Please make sure you have fulfilled all prerequisites mentioned under Requirements first.

  1. Make sure your system has an up-to-date installation of Node.js and npm.
  2. Install clasp by running npm install @google/clasp -g, then login via clasp login.
  3. Navigate to the Apps Script Settings page and enable the Apps Script API.
  4. Make sure your system has an up-to-date installation of the gcloud CLI, then login via gcloud auth login.
  5. Make sure your system has an up-to-date installation of git and use it to clone this repository: git clone https://github.com/google-marketing-solutions/ariel.
  6. Navigate to the directory where the source code lives: cd ariel.
  7. Run npm start. This will prompt you for configuration values and suggest reasonable defaults.

References