DEV Community

Cover image for Deepgram x DEV Hackathon Help Thread
dev.to staff for The DEV Team

Posted on

Deepgram x DEV Hackathon Help Thread

If you're participating in the Deepgram Hackathon on DEV, we’re so excited to have you joining us! Need some help with your submission or participation? You’re in the right spot.

If you have any questions about how this contest works (ex: due dates, how to post your submission, picking a category/challenge, etc.) the DEV team is here to help you.

How to Use This Thread

If you’ve browsed Deepgram’s documentation but need some help understanding or implementing a feature, @bekahhw from the Deepgram team will be here to jump in and assist you. This thread is a great resource for you whether you’re taking part in the “Build” or “Innovative Ideas” challenge.

Comment below if you need asynchronous assistance with the Deepgram Hackathon on DEV ❤️

Note: Don’t forget that we’re granting a special profile badge to anyone (outside of the DEV and Deepgram teams) who answers a question and to anyone who ASKS a technical question about Deepgram here in the help thread. Additionally, the DEV team will be randomly selecting one person per badge category to receive $50 USD to the Forem Shop! This goes for anyone in the DEV Community – whether you plan to submit an entry or not. For more information, take a look at the official contest rules here. DEV and Deepgram will wait to answer thread questions until we’ve given the community a chance to hop in.

Open Office Hours with Deepgram Devs

Deepgram will also be hosting open “office hours” on their Twitch Stream every Friday at 6:30 PM UTC throughout the contest (March 11, 18, & 25. April 1 & 8). During these streams, Deepgram will be addressing some of the questions asked in this thread and in the live Twitch chat. If they choose a question you posted to the help thread to talk about on the live stream, you'll be entered to win some Deepgram Swag!


If you'd like to share an update on the progress you're making on your project or if you'd like to connect with other participants, please do so in the Community Discussion Thread!

Oldest comments (118)

Collapse
 
64j0 profile image
Vinícius Gajo

How do you guys at Deepgram deal with the data provided by users? Is there any document describing it?

Collapse
 
_phzn profile image
Kevin Lewis

What do you mean by 'deal'? Just making sure we can answer your question correctly :)

Collapse
 
jzombie profile image
jzombie

I'd be curious to know where to look for any data retention policies concerning those of accidental streaming transcriptions when someone forgot to turn off their mic.

Collapse
 
64j0 profile image
Vinícius Gajo • Edited

I want to understand if you guys store this kind of information that is given by your users (input audio). If it's stored, how you manage to keep it safe from public access. And if, for some reason, this data leak, what you guys will do, for example, alert people contacting through e-mail.

Collapse
 
denvercoder1 profile image
Jonah Lawrence • Edited

There is information about the data collection in the Terms of Service Agreement, the Privacy Notice, and Data Privacy Policy.

From what I can tell, uploaded data is collected and stored, measures are in place to protect the data, and customers will receive an email or message about any security notices.

You may upload, or transmit files, ... User Content, including personal information you may have included, is stored and collected as part of the Service...

...our customers may upload data to our Service ... which may include personal information ... We collect and process Customer Data as needed to provide our Services to our customers in accordance with our customer agreements.

We will retain your personal information for the length of time needed to fulfill our business purposes unless otherwise required or permitted by law. Any Customer Data that we have access to shall be retained, stored, and deleted according to our agreement with our business customer.

Deepgram maintains industry-standard physical, technical, and administrative safeguards in order to protect Content and Training Data

Note: I am not a member of the Deepgram team, so any clarifications should be directed towards them.

Collapse
 
64j0 profile image
Vinícius Gajo

Got it, thanks for the answer.

Collapse
 
_phzn profile image
Kevin Lewis

Please read through the Terms of Services and the Privacy Policy on questions related to data retention. In short, Deepgram stores and processes a small percentage of the data for the purposes of improving services and/debugging debugging client requests. If you have further inquiries, including one-off requests for data deletion, please reach out to the Deepgram customer success team at support@deepgram.com.

In the case of a breach, end users will be notified within 72 hours of breach confirmation.

Collapse
 
sandy_codes_py profile image
Santhosh (sandy inspires)

Can we have multiple submission for this hackathon?

Collapse
 
dhravya profile image
Dhravya

The post says yes and even encourages multiple submissions, so yes i guess

Collapse
 
bekahhw profile image
BekahHW

Yes! We'd love to see you get as many chances as possible to win!

Collapse
 
dhravya profile image
Dhravya

I want to participate, but, the post says that it's Open only to 18+.

So, does that mean I'm not eligible ? :(

Collapse
 
bekahhw profile image
BekahHW

I don't think it means that you aren't eligible for badges for helping. So if you contribute in the Help and Community threads, I think that means you can still earn badges.

Collapse
 
dhravya profile image
Dhravya

i have a couple ideas, if i just write a post with he ideas, would I be eligible? (I could even execute them)

Thread Thread
 
denvercoder1 profile image
Jonah Lawrence

The post seems to imply that all parts of the Hackathon are 18+ to participate. It is likely there for legal reasons, and I would think that if you should be able to participate if your parents approve.

Thread Thread
 
graciegregory profile image
Gracie Gregory (she/her)

Hello! Unfortunately, DEV hackathons are currently only open to community members 18 years of age and older. We would absolutely love to open this up to younger community members, but we are legally unable to at this time. We revisit the topic frequently as a team and intend to open up our challenges to younger folks if and when it's possible for us to do so. I'm so sorry to bear this news. We really value having all of you as part of DEV.

Collapse
 
mainrs profile image
mainrs

It's normal for contests to be 18+ due to prizes and legal ruling.
You can ask the dev people if it's OK if you submit but are not considered as a potential winner.

Collapse
 
dhravya profile image
Dhravya

Yeah, I've already submitted my project. It's completely fine if I don't win, or win and not get prizes. atleast I got to learn stuff, that's all that matters

Thread Thread
 
michaeljolley profile image
Michael Jolley

That's a great attitude @dhravya! I'm REALLY looking forward to checking out your submission.

Thread Thread
 
dhravya profile image
Dhravya

Hi there! Thanks a lot!
Here's the post dev.to/dhravya/deepsubtitles-gener...

Thread Thread
 
arndom profile image
Nabil Alamin

Well that was fast, great job 👌👌

Thread Thread
 
dhravya profile image
Dhravya

thanks a lot!

Collapse
 
pythonperfection profile image
Eli Ostreicher • Edited

Having a little bit of a hard time figuring out the final part of the listen endpoint.
1) In a local environment, how would I go about sending the empty binary message to the server?
2) Upon ending, where is the final transcript JSON now?

Thank you.

Collapse
 
michaeljolley profile image
Michael Jolley

Great question. It depends on how you're hitting the API. If you are using the Node SDK you'd use the finish function, as in:

const deepgramSocket = deepgram.transcription.live({ punctuate: true });
deepgramSocket.finish();
Enter fullscreen mode Exit fullscreen mode

If you're communicating with the WebSocket directly with JavaScript you can send a new Uint8Array, as in:

socket.send(new Uint8Array(0));
Enter fullscreen mode Exit fullscreen mode

When the Deepgram API receives that it will finish transcribing the audio, send a final transcript, and then close the WebSocket connection.

Collapse
 
pythonperfection profile image
Eli Ostreicher

Appreciate the response.
What about good old Python please?

P.S. Great Twitch btw, really enjoyed it.

Thread Thread
 
michaeljolley profile image
Michael Jolley

Thanks!

For the Python SDK:

deepgramLive = await deepgram.transcription.live()
await deepgramLive.finish()
Enter fullscreen mode Exit fullscreen mode

Against the WebSocket without the SDK would be something like:

await socket.send(b'')
Enter fullscreen mode Exit fullscreen mode
Thread Thread
 
bekahhw profile image
BekahHW • Edited

Thanks for coming to the stream today!

Collapse
 
stereoplegic profile image
Mike Bybee

IIRC from previous hackathons, you're allowed to have multiple submissions. Is that still true? And if so, does that apply to a mix of code and "Innovative Ideas" submissions?

Collapse
 
bekahhw profile image
BekahHW

Absolutely! We're stoked to see all the cool submissions. And we actually talked about finding ways to optimize your submissions for multiple categories on our Twitch kickoff stream today|!

Collapse
 
leo1612d profile image
Nikunj R. Prajapati

I have one interesting question here,
i just started exploring deepgram, i wonder how deepgram is different than other STT Python libraries out there ? as there are so many opensource python libraries are available for example github.com/mozilla/DeepSpeech !

Collapse
 
tonyasims profile image
Tonya Sims

Hi @leo1612d! Thank you for your question. I'm not as familiar with DeepSpeech, the mozilla library you posted so I can only speak to Deepgram.

At Deepgram our mission is we believe every voice should be heard and understood.

A major advantage Deepgram has over other STT libraries is that we're the only provider that uses End-to-End Deep Learning. This means that you'll get improved accuracy with training, an easier to use and integrated API and is priced to use at scale.

Collapse
 
sandy_codes_py profile image
Santhosh (sandy inspires)

@michaeljolley
I'm trying to send real-time audio to deebgram and get the transcription but I get this error while doing so.
I'm using pyaudio to send the binary data.

input_audio = stream_in.read(3200)
await ws.send(input_audio)

DEBUG:websockets.client:< CLOSE 1008 (policy violation) DATA-0000 [11 bytes]

Collapse
 
michaeljolley profile image
Michael Jolley

Hi @sandy_codes_py, I'm not a Python pro, but I can hook you up with @tonyasims. She's an amazing pythonista and one of Deepgram's Developer Advocates.

One thing that might help, is there a GitHub repo where we can review the full block of code?

Collapse
 
sandy_codes_py profile image
Santhosh (sandy inspires)

Please check here
I've used api reference code from the deepgram docs

Thread Thread
 
michaeljolley profile image
Michael Jolley

Sweet. Thanks for that. Tonya is out of the office today, but she'll likely respond Monday.

Mental note: I should really start playing with Python more so I can help more. 🙂

Thread Thread
 
sandy_codes_py profile image
Santhosh (sandy inspires) • Edited

That would do!
I did find a workaround it by using her post "Live Transcription With Python and Flask" but that's not really needed here.
I just want to run it locally to do something cool.
Yay, even I've to learn about async and how it works.

Thread Thread
 
michaeljolley profile image
Michael Jolley

Great! I think she wrote several posts like that: "using Flask," "using Django," "using FastAPI," and more.

And yeah! for learning! 🎉🎉

Collapse
 
tonyasims profile image
Tonya Sims

Hi @sandy_codes_py ! Happy Monday! I'm sorry to hear you were having some trouble. Were you able to figure out the issue? Please let me know if you still need some help and we can work through it together.

Collapse
 
sandy_codes_py profile image
Santhosh (sandy inspires)

Nope, I followed your Flask repo and did that same. But I really want to run that in just Python and not on Flask. I do have limited knowledge on asyncio. Will be learning that soon. I've shared the error and the complete code I'm using the same thread.

Thread Thread
 
tonyasims profile image
Tonya Sims • Edited

Ok, so if I understand correctly you follwed the Flask example in the tutorial but still having some issues? Is the issue still with PyAudio?

Also, is this the error message you received? (I want to make sure this is the correct error):

input_audio = stream_in.read(3200)
await ws.send(input_audio)

DEBUG:websockets.client:< CLOSE 1008 (policy violation) DATA-0000 [11 bytes]

Thread Thread
 
sandy_codes_py profile image
Santhosh (sandy inspires) • Edited

Sorry to misled you!
Actually I wanted to directly send the audio feed using PyAudio to the Deepgram websocket (that's when the above error is occurring).
But I found your Flask tutorial and used that instead which worked in the first go.

The complete code I used can be found here.

Thread Thread
 
tonyasims profile image
Tonya Sims

Oh nice! Good to hear you found a solution with the tutorial 😄.

About asyncio, yea, I totally understand it can be very confusing. It took me awhile to wrap my head around it. How do you plan on learning asyncio? Tutorials? Blog posts? Videos? Something else?

Thread Thread
 
sandy_codes_py profile image
Santhosh (sandy inspires)

Gonna read through this for a while and try some hands-on stuff.
docs.python.org/3/library/asyncio....
I'll try to make a tutorial here once I get a good grasp.

Thread Thread
 
tonyasims profile image
Tonya Sims

Wonderful! Make sure to let me know when it's published so I can read it :)

Thread Thread
 
sandy_codes_py profile image
Santhosh (sandy inspires)

You got it!

Collapse
 
ashokan profile image
Ashok Nagaraj

How easy or straightforward is it to integrate with a text based chatbot? Any examples?

Collapse
 
michaeljolley profile image
Michael Jolley

Good question. I suppose it depends on what you're trying to do. Because Deepgram is a speech-to-text API, are you looking for users to ask a question to the bot rather than type? If so, that's pretty straightforward. You can get the transcript of the person speaking and send that text to the chatbot.

I don't know of any specific examples of sending it to a chatbot, but we have several examples of taking real-time audio and transcribing it. That link will show several pieces of documentation and many blog posts that are using it.

Collapse
 
ashokan profile image
Ashok Nagaraj

Yes mostly on the usecase - talk to bot instead of type; any integrations with intent classifiers (RASA/Diaglogflow)?

Thread Thread
 
michaeljolley profile image
Michael Jolley

I don't think we've built a demo for those yet. Very interesting. I'd love to see that in action.

Collapse
 
sonu0702 profile image
sonu0702 • Edited

I created Deepgram account. But How do i
Select one of the following four categories

  1. Accessibility Advocates
  2. Analytics Ambassadors
  3. Gram Gamers
  4. Wacky Wildcards

I don't see any of this options on the Deepgram website

Collapse
 
michaeljolley profile image
Michael Jolley

The instructions said "Select one of following categories," but it isn't clear that you're really selecting it in your mind. You're deciding what category you want to build a project for. When you create a submission you'll use this template to create your submission post. That template has a section where you'll enter what category you're submitting your project for.

screenshot of template

Collapse
 
sonu0702 profile image
sonu0702

Thanks, It's helpful

Collapse
 
zaahmednisumcom profile image
zaahmed-nisum-com

Hi all,
Can we use deepgram in react.js ?

Collapse
 
bekahhw profile image
BekahHW

You can use Deepgram with React. Our primary tech stack uses Vue, so many of our blog post examples do as well. You can take a look at those and see that React would work as well.

Collapse
 
zainbinfurqan profile image
Zain Ahmed

Thanks, got it.😍🔥