speech_to_text 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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