aozora-polly 0.2.0 → 0.3.0

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
  SHA1:
3
- metadata.gz: 0a497fd6d817b2f368f97232a5bc4783c85eee9a
4
- data.tar.gz: 132a4ae801948530762e268f86854f760f3738ec
3
+ metadata.gz: f10f8a1a9a04126f6b7e21e7ddf2dfe041825cb0
4
+ data.tar.gz: cb279890d584ce56fed43ebfe5b8a90dd1cde31a
5
5
  SHA512:
6
- metadata.gz: 5ce14ba688d2cc3bac8181986467371f6f15e7947b62bd8d7631c70188323d83dc23fb8ac430944958cb1712cc6fb6788a3c3b9303e970bef981d7cf997ea229
7
- data.tar.gz: 84deb371a7c8db39ccd71f4b8ecb3b34a38e913b28f7afdb29209387b92d50a3b7f86292def86775feddf9413d3b5edef59bc882c98e73edd408d51009cf316e
6
+ metadata.gz: a964052741afdc4a2af4989554cd172fa48e642bf62a876612ba8c191d02b7eda78e25d4dfc563e6e9cf8d480c0886d80eaa6bda6f7b86f9944095b8d4b5939d
7
+ data.tar.gz: a5ef7b715946ac0958560cee1bd2d4d9dd0c2f24d6a66793ef2557dbe0db866477184352c999e43e67f765ce41c6b6d56dae7da034290c5f0f72db339324b605
data/README.md CHANGED
@@ -23,7 +23,14 @@ Or install it yourself as:
23
23
 
24
24
  ## Usage
25
25
 
26
+ ```bash
27
+ $ aozora2ssml http://www.aozora.gr.jp/cards/000035/files/1567_14913.html merosu.ssml
28
+ $ aozora2mp3 http://www.aozora.gr.jp/cards/000035/files/1567_14913.html merosu.mp3
29
+ ```
30
+
26
31
  ```ruby
32
+ AozoraPolly.url2mp3("http://www.aozora.gr.jp/cards/000035/files/1567_14913.html", "merosu.mp3")
33
+ AozoraPolly.url2ssml("http://www.aozora.gr.jp/cards/000035/files/1567_14913.html") # => ssml string
27
34
  AozoraPolly.html2ssml(html) # => ssml string
28
35
  ```
29
36
 
data/aozora-polly.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ["lib"]
22
22
 
23
+ spec.add_dependency "ssml2mp3", "~> 0.1.0"
23
24
  spec.add_dependency "sanitize", "~> 4.4"
24
25
  spec.add_dependency "nokogiri", ">= 1.6"
25
26
 
data/exe/aozora2mp3 ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
+ require 'aozora-polly'
5
+ require 'open-uri'
6
+
7
+ if ARGV.size == 0
8
+ puts "#$0 url mp3"
9
+ exit
10
+ end
11
+
12
+ aozora_url, mp3_path = ARGV
13
+
14
+ AozoraPolly.url2mp3(aozora_url, mp3_path)
15
+ puts "Generated: #{mp3_path}"
data/exe/aozora2ssml CHANGED
@@ -3,10 +3,9 @@
3
3
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
4
4
  require 'aozora-polly'
5
5
  require 'open-uri'
6
- require 'pry'
7
6
 
8
7
  if ARGV.size == 0
9
- puts "#$0 url mp3"
8
+ puts "#$0 url ssml"
10
9
  exit
11
10
  end
12
11
 
data/lib/aozora-polly.rb CHANGED
@@ -7,6 +7,10 @@ module AozoraPolly
7
7
  @builder ||= ::AozoraPolly::Builder.new
8
8
  end
9
9
 
10
+ def self.url2mp3(*args)
11
+ builder.url2mp3(*args)
12
+ end
13
+
10
14
  def self.url2ssml(*args)
11
15
  builder.url2ssml(*args)
12
16
  end
@@ -1,8 +1,24 @@
1
+ require "ssml2mp3"
1
2
  require "sanitize"
2
3
  require "net/http"
3
4
 
4
5
  module AozoraPolly
5
6
  class Builder
7
+ attr_reader :mp3_builder
8
+
9
+ def initialize
10
+ @mp3_builder = Ssml2mp3::Builder.new
11
+ end
12
+
13
+ def url2mp3(aozora_url, mp3_path)
14
+ ssml = url2ssml(aozora_url)
15
+
16
+ basename = File.basename(mp3_path, ".mp3")
17
+ File.open(mp3_path, "wb") do |output|
18
+ mp3_builder.synthesize(ssml, basename, output)
19
+ end
20
+ end
21
+
6
22
  def url2ssml(aozora_url)
7
23
  uri = URI.parse(aozora_url)
8
24
  html = Net::HTTP.get(uri).force_encoding("cp932")
@@ -1,3 +1,3 @@
1
1
  module AozoraPolly
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aozora-polly
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - hogelog
@@ -10,6 +10,20 @@ bindir: exe
10
10
  cert_chain: []
11
11
  date: 2017-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ssml2mp3
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.0
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: sanitize
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -98,6 +112,7 @@ description:
98
112
  email:
99
113
  - konbu.komuro@gmail.com
100
114
  executables:
115
+ - aozora2mp3
101
116
  - aozora2ssml
102
117
  extensions: []
103
118
  extra_rdoc_files: []
@@ -112,6 +127,7 @@ files:
112
127
  - aozora-polly.gemspec
113
128
  - bin/console
114
129
  - bin/setup
130
+ - exe/aozora2mp3
115
131
  - exe/aozora2ssml
116
132
  - lib/aozora-polly.rb
117
133
  - lib/aozora_polly/builder.rb