Skip to main content

async google long speech recognition with polling

Async google long speech recognition with polling



import io
import os
import time 
# Imports the Google Cloud client libraryfrom google.cloud import speech
from google.cloud.speech import enums
from google.cloud.speech import types

def transcribe_gcs(gcs_uri):
    """Asynchronously transcribes the audio file specified by the gcs_uri."""    from google.cloud import speech
    from google.cloud.speech import enums
    from google.cloud.speech import types
    client = speech.SpeechClient()

    audio = types.RecognitionAudio(uri=gcs_uri)
    config = types.RecognitionConfig(
        # encoding=enums.RecognitionConfig.AudioEncoding.FLAC,        # sample_rate_hertz=16000,        language_code='en-US')

    operation = client.long_running_recognize(config, audio)

    print('Waiting for operation to complete...')

    retry_count = 1000000    while retry_count and not operation.done():
        retry_count -=1        print("transcription not complete .. will try after 10 secs")
        time.sleep(10)
        # operation.poll()        print(operation.done())
        print(retry_count)

    response = operation.result()


    # Each result is for a consecutive portion of the audio. Iterate through    # them to get the transcripts for the entire audio file.    for result in response.results:
        # The first alternative is the most likely one for this portion.        print(u'Transcript: {}'.format(result.alternatives[0].transcript))
        print('Confidence: {}'.format(result.alternatives[0].confidence))


start_time = time.time()
transcribe_gcs("gs://__________")# google cloud stroage uri
total_time = time.time() - start_time
print("seconds " + str(total_time ))
print("minute "+ str((total_time/60)))


Notes:
A 30 mins video took 
seconds 483.78773856163025
minute 8.063128976027171
time to complete
whereas autosub completed it in 3.5 mins

sync google speech recognition time taken data
1. a 20 sec audio file took 9.77 seconds
2. a 34 sec audio file took 14 sec
3. on long recog 1min 30 sec video took 28.8 secs

Comments

Popular posts from this blog

opening multiple ports tunnels ngrok in ubuntu

Location for the config yml file /home/example/.ngrok2/ngrok.yml content of config file authtoken: 4nq9771bPxe8ctg7LKr_2ClH7Y15Zqe4bWLWF9p tunnels: app-foo: addr: 80 proto: http host_header: app-foo.dev app-bar: addr: 80 proto: http host_header: app-bar.dev how to start ngrok with considering the config file: ngrok start --all

rename field in elastic Search

https://qiita.com/tkprof/items/e50368eb1473497a16d0 How to Rename an Elasticsearch field from columns: - {name: xxx, type: double} to columns: - {name: yyy, type: double} Pipeline API and reindex create a new Pipeline API : Rename Processor PUT _ingest/pipeline/pipeline_rename_xxx { "description" : "rename xxx", "processors" : [ { "rename": { "field": "xxx", "target_field": "yyy" } } ] } { "acknowledged": true } then reindex POST _reindex { "source": { "index": "source" }, "dest": { "index": "dest", "pipeline": "pipeline_rename_xxx" } }

Sumeru enterprise tiger privacy policy

Sumeru Enterprise Tiger Business Solutions Pvt. Ltd. Data Privacy Policy At Sumeru Enterprise Tiger Business Solutions Pvt. Ltd. we are committed to providing you with digitalization software products and services to meet your needs. Our commitment includes protecting personally identifiable information we obtain about you when you register to use one of our websites or become our customer (“Personal Information”). We want to earn your trust by providing strict safeguards to protect your Personal Information. This Policy applies to members, customers, former customers, users, and applicants. In the course of our business activities, Sumeru Enterprise Tiger Business Solutions Pvt. Ltd. collects, processes, and shares Personal Information. Indian law gives individuals the right to limit some but not all sharing. This Policy explains what Personal Information we collect, process, and share. We describe how we do so, and why. The Policy also describes your rights to access a...