audio_hero 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +12 -0
- data/audio_hero-0.1.0.gem +0 -0
- data/audio_hero-0.1.1.gem +0 -0
- data/audio_hero-0.1.2.gem +0 -0
- data/audio_hero.gemspec +1 -0
- data/lib/audio_hero/version.rb +1 -1
- data/lib/audio_hero.rb +20 -1
- metadata +19 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a863dd10c8f50517fca19149c8e578be91f3aa0
|
4
|
+
data.tar.gz: 12102137628f626cc726002de63145fa6d662dcd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d59a8b243e36b9d68fe78c20ddd9cccc92da847030bc4e65640aea63cc2cd4c602ba24eac92705895a88a8180a64135fe38af806dd5fe4cfff3a8a1794424fd8
|
7
|
+
data.tar.gz: 576a9f8571b1f43b51b60d1244f24c3e3fa36d57aa9bf5a810326c933772cc663fc81da3eb2ed5fe196f7c0867d9a29d7e1390a7d95a27b37cd338832698bb5e
|
data/README.md
CHANGED
@@ -72,6 +72,7 @@ Options(hash):
|
|
72
72
|
* silence_level (default to 0.03%)
|
73
73
|
* input_format (default to "mp3")
|
74
74
|
* output_format (default to "wav")
|
75
|
+
* output_filename (base filename, default to "out". If using custom version of SOX, use "%,1c" for starttime and use "%1,1c-%1,1d" for starttime-endtime as filename)
|
75
76
|
* file2 (path to second audio file, I use this to split both channels of an audio file at one go, require a modified sox that will not overwrite file1's output. Eg. my modified sox output [milliseconds].wav instead of 001.wav)
|
76
77
|
* gc (no default, set to "true" to auto close! input file)
|
77
78
|
|
@@ -86,6 +87,17 @@ Options(hash):
|
|
86
87
|
* input_format (default to "mp3")
|
87
88
|
* gc (no default, set to "true" to auto close! input file)
|
88
89
|
|
90
|
+
###Extract Features
|
91
|
+
Extract audio features using custom version of Yaafe script.
|
92
|
+
|
93
|
+
```ruby
|
94
|
+
features = AudioHero::Sox.new(file).extract_features({sample_rate: "8000"})
|
95
|
+
# {"feature1"=>0.34,"feature2"=>2.25}
|
96
|
+
```
|
97
|
+
Options(hash):
|
98
|
+
* sample_rate (default to "8000")
|
99
|
+
* gc (no default, set to "true" to auto close! input file)
|
100
|
+
|
89
101
|
###Custom Command
|
90
102
|
|
91
103
|
Run any sox command with this method.
|
Binary file
|
Binary file
|
Binary file
|
data/audio_hero.gemspec
CHANGED
data/lib/audio_hero/version.rb
CHANGED
data/lib/audio_hero.rb
CHANGED
@@ -80,17 +80,19 @@ module AudioHero
|
|
80
80
|
# Returns an array of the full path of the splitted files, can split two input files at one go using {file2: file} option.
|
81
81
|
# Remember its good practice to remove the temp directory after use.
|
82
82
|
# FileUtils.remove_entry tempdir
|
83
|
+
|
83
84
|
def split_by_silence(options={})
|
84
85
|
silence_duration = options[:silence_duration] || "0.5"
|
85
86
|
silence_level = options[:silence_level] || "0.03"
|
86
87
|
effect = "silence 1 #{silence_duration} #{silence_level}% 1 #{silence_duration} #{silence_level}% : newfile : restart"
|
87
88
|
input_format = options[:input_format] ? options[:input_format] : "mp3"
|
88
89
|
output_format = options[:output_format]
|
90
|
+
output_filename = options[:output_filename] || "out"
|
89
91
|
file2 = options[:file2]
|
90
92
|
# Default to wav
|
91
93
|
dir = Dir.mktmpdir
|
92
94
|
format = output_format ? ".#{output_format}" : ".wav"
|
93
|
-
dst = "#{dir}
|
95
|
+
dst = "#{dir}/#{output_filename}#{format}"
|
94
96
|
|
95
97
|
src = @file
|
96
98
|
src2 = file2
|
@@ -129,6 +131,23 @@ module AudioHero
|
|
129
131
|
parse_stats(success)
|
130
132
|
end
|
131
133
|
|
134
|
+
# Requires custom version of yaafe
|
135
|
+
def extract_features(options={})
|
136
|
+
src = @file
|
137
|
+
rate = options[:sample_rate] || "8000"
|
138
|
+
begin
|
139
|
+
parameters = []
|
140
|
+
parameters << "-r #{rate}"
|
141
|
+
parameters << ":source"
|
142
|
+
parameters = parameters.flatten.compact.join(" ").strip.squeeze(" ")
|
143
|
+
success = Cocaine::CommandLine.new("yaafehero", parameters).run(:source => File.expand_path(src.path))
|
144
|
+
rescue => e
|
145
|
+
raise AudioHeroError, "These was an issue getting stats from #{@basename}"
|
146
|
+
end
|
147
|
+
src.close! if options[:gc] == "true"
|
148
|
+
MessagePack.unpack(success)
|
149
|
+
end
|
150
|
+
|
132
151
|
def command(options={})
|
133
152
|
global = options[:global_options]
|
134
153
|
input_options = options[:input_options]
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: audio_hero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- litenup
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-07-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,6 +66,20 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.5'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: msgpack
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.0'
|
69
83
|
description:
|
70
84
|
email:
|
71
85
|
- alanhsu@mycallhero.com
|
@@ -81,6 +95,9 @@ files:
|
|
81
95
|
- LICENSE.txt
|
82
96
|
- README.md
|
83
97
|
- Rakefile
|
98
|
+
- audio_hero-0.1.0.gem
|
99
|
+
- audio_hero-0.1.1.gem
|
100
|
+
- audio_hero-0.1.2.gem
|
84
101
|
- audio_hero.gemspec
|
85
102
|
- bin/console
|
86
103
|
- bin/setup
|