cerecvoice2019 1.0.0 → 1.0.1

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: 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