speech_to_text 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5e8725789d4d0b24eef7fbd412c0b2ac2104f582353621ae8eef92abd63a6999
4
- data.tar.gz: c88650f4efd23b66ddba596bafadc2a83c9e079a4d32f294e5876076c308b0bb
3
+ metadata.gz: f95edbc99afdb511fa0d608b2779d79a938f7cd0928defb5e205ba9a8ed62a83
4
+ data.tar.gz: d4b7053e003a442ed8f2629955be1a1e2fb4f05233719fa9e7dca9baf47f22e6
5
5
  SHA512:
6
- metadata.gz: 942193544f80fdd1ebfce25b5e9ff4e5e1d395c6f4128f36415bead32df2837313bacd57301423055921891761cf4e1d3fe00a9a4ab93e56b2e6232221171b3d
7
- data.tar.gz: 666f1883aaad8b64b805681527fb3604df6cc531ecdd902dd4d12de01dda433ce3dd1dde29388bc4d404b13ed4e54a6f3ad9686d8825eb84c5c54bcc00ce273a
6
+ metadata.gz: fcc6b065320620ab57e685e2106d33d283df9ecf7933a959b5ff0bb33a6ee75bb115000bf3bf1152a347ffebb73ec1660cb9b70e0651a06ae73c2e227879db6b
7
+ data.tar.gz: e17b379660167cb49f68a694d0e0a0c613732b164cfee4a38adc69c3fec62b5996222d4709e6dfbdb5c87cd5ab78222e3a035f4667a68a04caa6c601596929f0
data/Gemfile CHANGED
@@ -8,3 +8,5 @@ gemspec
8
8
  gem 'google-cloud-speech'
9
9
  gem 'google-cloud-storage'
10
10
  gem 'ibm_watson'
11
+ gem 'aws-sdk'
12
+ gem 'aws-sdk-transcribestreamingservice'
@@ -7,6 +7,7 @@ require 'speech_to_text/ibm'
7
7
  require 'speech_to_text/deepspeech'
8
8
  require 'speech_to_text/speechmatics'
9
9
  require 'speech_to_text/3playmedia'
10
+ require 'speech_to_text/amazon'
10
11
 
11
12
  module SpeechToText
12
13
  class Error < StandardError; end
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Set encoding to utf-8
4
+ # encoding: UTF-8
5
+
6
+ #
7
+ # BigBlueButton open source conferencing system - http://www.bigbluebutton.org/
8
+ #
9
+ # Copyright (c) 2019 BigBlueButton Inc. and by respective authors (see below).
10
+ #
11
+ require 'aws-sdk-transcribestreamingservice'
12
+ require 'aws-sdk'
13
+ require 'json'
14
+ require 'open-uri'
15
+ require_relative 'util.rb'
16
+
17
+ module SpeechToText
18
+ module AmazonS2T
19
+ include Util
20
+
21
+ def self.set_credentials(aws_key, aws_secret)
22
+ Aws.config.update({
23
+ region: 'us-east-2',
24
+ credentials: Aws::Credentials.new(aws_key, aws_secret)
25
+ })
26
+ end
27
+
28
+ def self.upload_audio(bucket_name, s3_audio_name, audio_file)
29
+ s3 = Aws::S3::Resource.new
30
+ obj = s3.bucket(bucket_name).object(s3_audio_name)
31
+ obj.upload_file(audio_file)
32
+ end
33
+
34
+ def self.create_job(transcription_job_name, language_code, audio_format, s3_audio_uri)
35
+ client = Aws::TranscribeService::Client.new
36
+ resp = client.start_transcription_job({
37
+ transcription_job_name: transcription_job_name,
38
+ language_code: language_code,
39
+ media_format: audio_format,
40
+ media: {
41
+ media_file_uri: s3_audio_uri
42
+ }
43
+ })
44
+ end
45
+
46
+ def self.checkstatus(transcription_job_name)
47
+ client = Aws::TranscribeService::Client.new
48
+ resp = client.get_transcription_job({
49
+ transcription_job_name: transcription_job_name
50
+ })
51
+
52
+ status = resp['transcription_job']['transcription_job_status']
53
+ return status
54
+ end
55
+
56
+ def self.get_words(transcription_job_name, json_file)
57
+ client = Aws::TranscribeService::Client.new
58
+ resp = client.get_transcription_job({
59
+ transcription_job_name: transcription_job_name
60
+ })
61
+
62
+ uri = resp['transcription_job']['transcript']['transcript_file_uri']
63
+ File.open(json_file, 'wb') do |file|
64
+ file.write open(uri).read
65
+ end
66
+
67
+ file = File.open(json_file,'r')
68
+ data = JSON.load file
69
+ return data
70
+ end
71
+
72
+ def self.create_amazon_array(data) # rubocop:disable Metrics/AbcSize
73
+ if data.nil?
74
+ puts "no json data found"
75
+ return
76
+ end
77
+
78
+ i = 0
79
+ myarray = []
80
+ while (i < data['results']['items'].length)
81
+ unless data['results']['items'][i]['start_time'].nil?
82
+ myarray.push(data['results']['items'][i]['start_time'].to_f)
83
+ myarray.push(data['results']['items'][i]['end_time'].to_f)
84
+ myarray.push(data['results']['items'][i]['alternatives'][0]['content'])
85
+ end
86
+ i = i + 1
87
+ end
88
+ return myarray
89
+ end
90
+
91
+ def self.delete_audio(bucket_name, s3_audio_name, transcription_job_name)
92
+ s3 = Aws::S3::Resource.new
93
+ obj = s3.bucket(bucket_name).object(s3_audio_name)
94
+ obj.delete
95
+
96
+ client = Aws::TranscribeService::Client.new
97
+ resp = client.delete_transcription_job({
98
+ transcription_job_name: transcription_job_name
99
+ })
100
+ end
101
+
102
+ end
103
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SpeechToText
4
- VERSION = '0.1.7'
4
+ VERSION = '0.1.8'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: speech_to_text
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Alam
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-03 00:00:00.000000000 Z
11
+ date: 2020-02-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -101,6 +101,7 @@ files:
101
101
  - examples/ibm.rb
102
102
  - lib/speech_to_text.rb
103
103
  - lib/speech_to_text/3playmedia.rb
104
+ - lib/speech_to_text/amazon.rb
104
105
  - lib/speech_to_text/deepspeech.rb
105
106
  - lib/speech_to_text/google.rb
106
107
  - lib/speech_to_text/ibm.rb