cerecvoice2019 1.0.0 → 1.0.1

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: b7d293195e2f96bdbf0a820e3cefb4a7fcd5f7a3421d6653741ef9ef9f374a35
4
- data.tar.gz: b16f19c73e95857c7bbf1f5f950d5eb07985c329dddad5824971b6adea564ff3
3
+ metadata.gz: 502921a90e9336a2f54bdaf92386543340b617898fce96a764612da096820e08
4
+ data.tar.gz: d45935e2eaf8cd21454ca2b4e1891fb2049c35e8c58aeea0f8028f3f6b87fdd3
5
5
  SHA512:
6
- metadata.gz: 15f3c63e6fafb61170d3a3bbace0d6556b6af3b1484d2081e5d160430993511a222ca327ef9b4fcee2afaf796dbd9f50b20a5fa132bc886df52692be163bd005
7
- data.tar.gz: 3d5f7d601be6d7add46d4af5836415881fb321b28e808d53d7ff1ed18b971503ec9764a3ca38de62043ae790726b63409200720cd71cfb68f9a8d6942f1df81f
6
+ metadata.gz: 307db3b28bcd09cba841b912177d442fc6c51f05464604f09fde9be89e4ec05610c608d446fbd56f87e889cfc08c023f88dfb6a85faf02746d442123fb1efa5e
7
+ data.tar.gz: 68926f9f1369cd0a067b12b23e33f39a661cbf12b3d2c4a9cedc8ef20169478d16039f059c9657b3c2c24b23dab3ecd030eea69c9dbdd90fef831386c11f4c82
checksums.yaml.gz.sig CHANGED
Binary file
@@ -9,10 +9,13 @@ require 'rxfhelper'
9
9
  # English voices
10
10
  # --------------
11
11
  #
12
- # England: Claire (Lancashire), Giles, Jack, Jess, Lauren, Sarah,
13
- # Sue (Black Country), William
12
+ # England: Claire (Lancashire), Giles, Jack, Jess, Lauren, Sarah,
13
+ # Sue (Black Country), William, Adam
14
14
  # Ireland: Caitlin
15
- # Scotland: Dodo, Heather, Kirsty, Stuart
15
+ # Scotland: Heather, Kirsty, Stuart, Andrew, Mairi
16
+ # United States: Andy, Carolyn, Hannah, Isabella, Jordan, Katherine, Megan,
17
+ # Nathan
18
+ # France: Nicole
16
19
  #
17
20
 
18
21
  class Cerecvoice2019Error < Exception
@@ -21,71 +24,72 @@ end
21
24
  class Cerecvoice2019
22
25
  include RXFHelperModule
23
26
  using ColouredText
24
-
25
- def initialize(accountid: nil, password: nil, voice: 'Heather', config: {},
26
- cache_filepath: 'cache',
27
+
28
+ def initialize(accountid: nil, password: nil, voice: 'Heather', config: {},
29
+ cache_filepath: 'cache',
27
30
  url: 'https://cerevoice.com/rest/rest_1_1.php', debug: false)
28
31
 
29
32
  @config = ({
30
- 'method' => 'speakExtended',
33
+ 'method' => 'speakExtended',
31
34
  'accountID' => accountid,
32
- 'password' => password,
35
+ 'password' => password,
33
36
  'voice' => voice,
34
37
  'audioFormat' => 'ogg',
35
38
  'sampleRate' => '48000',
36
39
  'metadata' => 'True',
37
40
  'audio3D' => 'True'
38
41
  }).merge config
39
-
42
+
40
43
  @url, @cache_filepath, @debug = url, cache_filepath, debug
41
44
 
42
45
  if @config['accountID'].nil? or @config['password'].nil? then
43
- raise Cerecvoice2019Error, 'invalid accountID or password'
44
- end
45
-
46
+ raise Cerecvoice2019Error, 'invalid accountID or password'
47
+ end
48
+
46
49
  end
47
50
 
48
51
  def tts(text='', voice=@config['voice'], out: 'output.' + @config['audioFormat'])
49
52
 
50
-
51
- audiofile_out =- out
52
-
53
+
54
+ audiofile_out = out
55
+ @config['audioFormat'] = File.extname(out)[1..-1]
56
+
57
+
53
58
  raise Cerecvoice2019Error, 'text empty' if text.empty?
54
-
59
+
55
60
  FileUtils.mkdir_p @cache_filepath
56
-
61
+
57
62
  h = Digest::MD5.new << text + voice
58
63
  filename = File.join(@cache_filepath, h.to_s + '.'+ @config['audioFormat'])
59
-
60
-
61
- # attempts to find the audio file from a local cache instead of
64
+
65
+
66
+ # attempts to find the audio file from a local cache instead of
62
67
  # making a relatively expensive request through the web API
63
-
68
+
64
69
  if not File.exists? filename then
65
-
70
+
66
71
  @config.merge!('text' => CGI.escape(text), 'voice' => voice)
67
72
  url = @url + '?' + @config.map {|x| x.join('=')}.join('&')
68
73
  puts ('url: ' + url.inspect).debug if @debug
69
- xml = open(url).read
74
+ xml = URI.open(url).read
70
75
  puts ('xml: ' + xml.inspect).debug if @debug
71
-
76
+
72
77
  doc = Rexle.new xml
73
78
  audio_url = doc.root.text('fileUrl')
74
79
  puts ('audio_url: ' + audio_url.inspect).debug if @debug
75
-
76
-
80
+
81
+
77
82
  puts ('writing file: ' + filename.inspect).debug if @debug
78
-
83
+
79
84
  File.open(filename, "wb") do |saved_file|
80
85
  # the following "open" is provided by open-uri
81
- open(audio_url) {|read_file| saved_file.write(read_file.read) }
82
- end
86
+ URI.open(audio_url) {|read_file| saved_file.write(read_file.read) }
87
+ end
83
88
 
84
- end
85
-
86
- FileUtils.cp filename, audiofile_out
89
+ end
90
+
91
+ FileX.cp filename, audiofile_out
87
92
 
88
93
  end
89
94
 
90
95
  end
91
-
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cerecvoice2019
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,32 +10,33 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTkxMDIwMTIzNzQ0WhcN
15
- MjAxMDE5MTIzNzQ0WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCz6C+y
17
- 6wFCCvUqbuB7H68hWtHH90U3OjRgghIkPe3UitLbcIg/57N08/UCrjdtTCdBUfhT
18
- OuvAYHUuJDYYoc56Wvu6frwHPaslB1IEy7wwu5cpd4du2tPjIZ5O4FHm1b1wN/EA
19
- +jVExkd7hdIpH/7VKGFl8dw97wQcQhv8VxcQK7UFDrRfZADeHVId/949aHOF7LAP
20
- KKPFSq4Bh6+hSBMr++5rPanTdJp6OmI7NuNzZtONzUvP0qu6Mxq0HQUu5Bvpvjbf
21
- uOxZHkHHkiJoRH9IUyb+07956f+kmMBsEHsXAmpLfSO8Trtzri+OPcKeKERWsOBc
22
- tM4kHlFcTo43Yu5j34DhyMQtOAeCJftxYWMqz+03gIy51XDWC2ornLxfqUF5vVUm
23
- foGlVCC760Y5dYVzl1P1reeVANYXHrPdigusowNNYqmWOg5XaCM82z5ahj5CpMoY
24
- Fn17RQQUJgVLDPbmFCDhKRsLH8xGaU+0f5cF/8QuRNza96LRfuyN+jHjruUCAwEA
25
- AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUB0SbvkWC
26
- r1ZThGUpjZodSR8MMXowJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
- c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
- BgkqhkiG9w0BAQsFAAOCAYEAc897LK21e6dI8Q7jTEahOUSDM7XCSS96cUXYosJU
29
- byF68UKvCImDUdtvBWdDSlTyqQ/AK/ZHt5TBg/hNXpQLS5Kpfz/hXuPOY7+ItyoV
30
- GHUr9G3Lb8AuhuSuDZk7oODznIHokktnfNqS/IGZQfcwDStwZeutTSoUfW5UdsYC
31
- UBJAZNy2cPFnKGJtvYkGbipnrF4jyquw5E95F8oQkYkkw4x9G+fGQJ+g1MNxMvgt
32
- SeOcoucJeYt4nuCOG4W4QPGYt9+ZFSa5R4MZ+s8UmvkUv6BFa40kB1iw+YibnJI6
33
- BibhJ5m6IgtYvP66oWw7PhFuJ96H/Xi8qnQTpdjeN/Yng6JEb9scYR63OZOTnEDo
34
- vFjbnF4ZZvoUuA3XCIpfcn3tDjBT8MBa4SL4v5A2W5WuGLybKiHdfzuek4GoQrcC
35
- otDtZWH5PiMo8YNpkjbLacTOBqdEE9sfYRWqxO2Au3Dh+IjGiH+4gvTKt9uFJ+rv
36
- QNWsS+OhIQjXcOvPMxWb8r6p
13
+ MIIEljCCAv6gAwIBAgIBATANBgkqhkiG9w0BAQsFADBIMRIwEAYDVQQDDAlnZW1t
14
+ YXN0ZXIxHjAcBgoJkiaJk/IsZAEZFg5qYW1lc3JvYmVydHNvbjESMBAGCgmSJomT
15
+ 8ixkARkWAmV1MB4XDTIyMDYzMDA2NDc1NloXDTIzMDYzMDA2NDc1NlowSDESMBAG
16
+ A1UEAwwJZ2VtbWFzdGVyMR4wHAYKCZImiZPyLGQBGRYOamFtZXNyb2JlcnRzb24x
17
+ EjAQBgoJkiaJk/IsZAEZFgJldTCCAaIwDQYJKoZIhvcNAQEBBQADggGPADCCAYoC
18
+ ggGBAL4+pC9zFABYJFSELUTNJHljdsiY4vA1qRJ7LxltdLizaC/guEhd3t4YO2Zt
19
+ eWXUozbkt9U7/gnVWvCByfh33hQylyhwZDcgS8WKZb8VRjPCE+rvffJ9YwaO1PEm
20
+ SOnOHSmf4mOsXm5gO/T1f/3kiKFftyriswtBXEW+vHFXORoF1m5Y2nE7EJKlstda
21
+ OwD5/X/xplVd007YDL95X8jw1OWqo6FAZNpeoIZ0bGPzGDnCOFRmrNgT7MwKFAkH
22
+ t/Co2IMnXoNAHCmp19c5xMHCpzMjFJYMBjZSRoCJ9FL5FSadh/Lwqd5RTpvaha+Q
23
+ ZCKaQJIxW3Xzl63atQMZP1sOQ0tBeah46ceHdQMzRcds8HrSYOLpRZURHY+qEICG
24
+ v3Nh/oBAo/K6enV/HWIZw+97YQh7OSFsJXrkZ38Z0sKikOBzcf3RmVxRPPjWG4QT
25
+ wwsdWvF7pbaPTG3BIBIEKScIcES+t437REbdC0vbQiiHBRHnlSA1+ia+jjuFIOLj
26
+ +RU9qQIDAQABo4GKMIGHMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
27
+ BBQQKFuJqAvy6O4z1SaAGsvM5S4ASjAmBgNVHREEHzAdgRtnZW1tYXN0ZXJAamFt
28
+ ZXNyb2JlcnRzb24uZXUwJgYDVR0SBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
29
+ c29uLmV1MA0GCSqGSIb3DQEBCwUAA4IBgQCP6g81gtAt1UVXaxbg2R1HwG8mGtZh
30
+ CzuvI2iS11tJdYcSbb+ry0K0yfwyM7NM9B2ghBXqN8jpVXkrL1cEahXoAEXdHYe7
31
+ NPjWhqwfj/tMDNXCoZXL6Eqvji179aG/gioZRNVF2ajiCKu/DxcxOdRaaGDAXwry
32
+ ChVYd4FD+9N9pIG0dgtKfJSo7mGe/aquxV5Z9fL62z8NFCLwOuh4+N3wgRL7tAHm
33
+ ZV4ESC6patDckxyP42dbRwjwBBQZNsLSPwsjmAYSNqpbV6NxRL74TlqlOMVtBwhC
34
+ czgSrPxGuhywKTWqivm8TQk3iRVIEI0Q5AkzLogUOyhShfRIKmkBrOftVoWy7rkR
35
+ x9NRjWihp2UJek5sZx332XksoSqzO0W7RUKuddiTDXHRrd7kxtba6JM6NqRS7m47
36
+ hYpP9/k+i5ttHESknFpij4j0fsDhfh0l616jaUyXVegOL/79bnx043t+w7JvCsAL
37
+ RrDC3HXoRpS5Xo/m99HQ8k9qx/h5l0gcDJA=
37
38
  -----END CERTIFICATE-----
38
- date: 2020-09-02 00:00:00.000000000 Z
39
+ date: 2022-06-30 00:00:00.000000000 Z
39
40
  dependencies:
40
41
  - !ruby/object:Gem::Dependency
41
42
  name: rxfhelper
@@ -43,22 +44,22 @@ dependencies:
43
44
  requirements:
44
45
  - - "~>"
45
46
  - !ruby/object:Gem::Version
46
- version: '1.0'
47
+ version: '1.6'
47
48
  - - ">="
48
49
  - !ruby/object:Gem::Version
49
- version: 1.0.4
50
+ version: 1.6.3
50
51
  type: :runtime
51
52
  prerelease: false
52
53
  version_requirements: !ruby/object:Gem::Requirement
53
54
  requirements:
54
55
  - - "~>"
55
56
  - !ruby/object:Gem::Version
56
- version: '1.0'
57
+ version: '1.6'
57
58
  - - ">="
58
59
  - !ruby/object:Gem::Version
59
- version: 1.0.4
60
+ version: 1.6.3
60
61
  description:
61
- email: james@jamesrobertson.eu
62
+ email: digital.robertson@gmail.com
62
63
  executables: []
63
64
  extensions: []
64
65
  extra_rdoc_files: []
@@ -83,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
84
  - !ruby/object:Gem::Version
84
85
  version: '0'
85
86
  requirements: []
86
- rubygems_version: 3.0.3
87
+ rubygems_version: 3.3.7
87
88
  signing_key:
88
89
  specification_version: 4
89
90
  summary: 'Unofficial Cerevoice gem using their text-to-speech API. #tts'
metadata.gz.sig CHANGED
Binary file