Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

adds captions library and example #184

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions examples/captions/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Copyright 2023 Deepgram SDK contributors. All Rights Reserved.
# Use of this source code is governed by a MIT license that can be found in the LICENSE file.
# SPDX-License-Identifier: MIT

import asyncio
import os
import json
from dotenv import load_dotenv
from deepgram_captions import DeepgramConverter, webvtt, srt
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wouldn't this go in the captions repo under its own examples folder?


from deepgram import DeepgramClient, PrerecordedOptions

load_dotenv()

API_KEY = os.getenv('DG_API_KEY')
AUDIO_URL = {
"url": "https://static.deepgram.com/examples/Bueller-Life-moves-pretty-fast.wav"}

options: PrerecordedOptions = {
"model": "nova",
"smart_format": "true",
"summarize": "v2",
}

deepgram = DeepgramClient(API_KEY)


async def transcribe_url():
url_response = await deepgram.listen.prerecorded.transcribe_url(AUDIO_URL, options)
return url_response


async def main():
try:
# STEP 1: Transcribe audio using Deepgram
response = await transcribe_url()

# STEP 2: Convert Deepgram response to captions using deepgram_captions library
transcription = DeepgramConverter(json.loads(response))

# STEP 3: Generate captions in WebVTT format
captions_webvtt = webvtt(transcription)
print("WebVTT Captions:")
print(captions_webvtt)

# STEP 4: Generate captions in SRT format
captions_srt = srt(transcription)
print("\nSRT Captions:")
print(captions_srt)

except Exception as e:
print(f"Exception: {e}")

if __name__ == "__main__":
asyncio.run(main())