aubio 0.3.1 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/Gemfile +2 -0
- data/README.md +13 -2
- data/Rakefile +7 -5
- data/aubio-ffi-generator.rb +8 -6
- data/aubio.gemspec +19 -17
- data/bin/console +4 -3
- data/lib/aubio.rb +32 -32
- data/lib/aubio/aubio-ffi.rb +51 -49
- data/lib/aubio/beats.rb +27 -27
- data/lib/aubio/legacy_api.rb +40 -39
- data/lib/aubio/onsets.rb +52 -52
- data/lib/aubio/pitches.rb +27 -27
- data/lib/aubio/version.rb +3 -1
- metadata +26 -14
- data/aubio.rb +0 -467
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8c41aa1969e57a7b16d4cfddb39da77c3b03b28a271c41206ab6c6c748b0f95c
|
4
|
+
data.tar.gz: 695d3509b8d5ba23f52de46087273541107d70872f4ee2292d0ae9e789a04a2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4ad69042555b4b0bd33d5a07f80b64f0e23e0b12034cf9c3d4e185295dad4c018131a074884a5f1acf6796a2c2f23bdc268b639e88c0c14e32359cc1c66738de
|
7
|
+
data.tar.gz: 76f754cc054eb1db25ddaffde969e1cbaae098eb6e662483eec2c722401c341ee10168d324783d0372c7d7e959c8c4679beca96a7d95a530ea246abd2a5727f1
|
data/.gitignore
CHANGED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
# Aubio
|
2
|
-
## warning: pre-alpha subject to change
|
1
|
+
# Ruby Aubio
|
3
2
|
|
4
3
|
A Ruby binding for the `aubio` library.
|
5
4
|
|
@@ -16,6 +15,12 @@ In their own words...
|
|
16
15
|
|
17
16
|
## Using `ffi_gen` to autogenerate bindings
|
18
17
|
|
18
|
+
This is optional, and something being considered for future development. The
|
19
|
+
`ffi_gen` gem can analyse a library using clang to automatically write the ffi
|
20
|
+
bindings for us (similar to `bindgen` in Rust as I understand it).
|
21
|
+
|
22
|
+
You can see the results in the `autogen_bindings` branch.
|
23
|
+
|
19
24
|
```
|
20
25
|
brew install aubio --with-libsndfile --with-fftw --with-libsamplerate
|
21
26
|
brew install llvm --with-clang --enable-shared
|
@@ -23,6 +28,12 @@ brew install llvm --with-clang --enable-shared
|
|
23
28
|
LD_LIBRARY_PATH="/usr/local/opt/llvm35/lib/llvm-3.5/lib" ruby aubio-ffi-generator.rb
|
24
29
|
```
|
25
30
|
|
31
|
+
## Running tests
|
32
|
+
|
33
|
+
```
|
34
|
+
$ rake clobber && rake build && rake test
|
35
|
+
```
|
36
|
+
|
26
37
|
## Installation
|
27
38
|
|
28
39
|
Add this line to your application's Gemfile:
|
data/Rakefile
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bundler/gem_tasks'
|
4
|
+
require 'rake/testtask'
|
3
5
|
|
4
6
|
Rake::TestTask.new(:test) do |t|
|
5
|
-
t.libs <<
|
6
|
-
t.libs <<
|
7
|
+
t.libs << 'test'
|
8
|
+
t.libs << 'lib'
|
7
9
|
t.test_files = FileList['test/**/*_test.rb']
|
8
10
|
end
|
9
11
|
|
10
|
-
task :
|
12
|
+
task default: :spec
|
data/aubio-ffi-generator.rb
CHANGED
@@ -1,14 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# this needs to be set on the command line when running this script
|
2
4
|
# ENV['LD_LIBRARY_PATH'] = "/usr/local/opt/llvm35/lib/llvm-3.5/lib"
|
3
5
|
require 'ffi_gen'
|
4
6
|
|
5
7
|
FFIGen.generate(
|
6
|
-
module_name:
|
7
|
-
ffi_lib:
|
8
|
-
headers:
|
9
|
-
cflags:
|
8
|
+
module_name: 'Aubio::Api',
|
9
|
+
ffi_lib: '/usr/local/Cellar/aubio/0.4.4/lib/libaubio.dylib',
|
10
|
+
headers: Dir['/usr/local/Cellar/aubio/0.4.4/include/aubio/**/*.h'],
|
11
|
+
cflags: `/usr/local/opt/llvm35/bin/llvm-config-3.5 --cflags`.split(' '),
|
10
12
|
# the following can be used to trim the aubio_ from the generated function names
|
11
13
|
# prefixes: ["aubio_", "CX"],
|
12
|
-
prefixes:
|
13
|
-
output:
|
14
|
+
prefixes: [],
|
15
|
+
output: 'lib/aubio/aubio-ffi.rb'
|
14
16
|
)
|
data/aubio.gemspec
CHANGED
@@ -1,29 +1,31 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'aubio/version'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
8
|
+
spec.name = 'aubio'
|
8
9
|
spec.version = Aubio::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
10
|
+
spec.authors = ['Xavier Riley']
|
11
|
+
spec.email = ['xavriley@hotmail.com']
|
11
12
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
14
|
-
spec.homepage =
|
15
|
-
spec.license =
|
13
|
+
spec.summary = 'Ruby bindings for the aubio audio library'
|
14
|
+
spec.description = 'Aubio is a tool designed for the extraction of annotations from audio signals. Its features include segmenting a sound file before each of its attacks, performing pitch detection, tapping the beat and producing midi streams from live audio.'
|
15
|
+
spec.homepage = 'https://github.com/xavriley/ruby-aubio'
|
16
|
+
spec.license = 'MIT'
|
16
17
|
|
17
18
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
-
spec.bindir =
|
19
|
+
spec.bindir = 'exe'
|
19
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
-
spec.require_paths = [
|
21
|
+
spec.require_paths = ['lib']
|
21
22
|
|
22
|
-
spec.add_dependency
|
23
|
+
spec.add_dependency 'ffi', '~> 1.9'
|
23
24
|
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
25
|
+
spec.add_development_dependency 'bundler'
|
26
|
+
spec.add_dependency 'rake', '>= 12.3.3'
|
27
|
+
spec.add_development_dependency 'ffi_gen'
|
28
|
+
spec.add_development_dependency 'minitest', '~> 5.0'
|
29
|
+
spec.add_development_dependency 'pry'
|
30
|
+
spec.add_development_dependency 'rubocop'
|
29
31
|
end
|
data/bin/console
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'aubio'
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +11,5 @@ require "aubio"
|
|
10
11
|
# require "pry"
|
11
12
|
# Pry.start
|
12
13
|
|
13
|
-
require
|
14
|
+
require 'irb'
|
14
15
|
IRB.start
|
data/lib/aubio.rb
CHANGED
@@ -1,11 +1,13 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'aubio/version'
|
4
|
+
require_relative 'aubio/aubio-ffi'
|
5
|
+
require_relative 'aubio/onsets'
|
6
|
+
require_relative 'aubio/pitches'
|
7
|
+
require_relative 'aubio/beats'
|
6
8
|
|
7
9
|
module Aubio
|
8
|
-
class AubioException <
|
10
|
+
class AubioException < RuntimeError; end
|
9
11
|
class FileNotFound < AubioException; end
|
10
12
|
class AlreadyClosed < AubioException; end
|
11
13
|
class InvalidAudioInput < AubioException; end
|
@@ -14,10 +16,11 @@ module Aubio
|
|
14
16
|
def initialize(path, params)
|
15
17
|
raise FileNotFound unless File.file?(path)
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
+
sample_rate = params[:sample_rate] || 44_100
|
20
|
+
hop_size = params[:hop_size] || 512
|
19
21
|
|
20
|
-
|
22
|
+
@is_closed = false
|
23
|
+
@source = Api.new_aubio_source(path, sample_rate, hop_size)
|
21
24
|
@params = params
|
22
25
|
|
23
26
|
check_for_valid_audio_source(path)
|
@@ -54,21 +57,21 @@ module Aubio
|
|
54
57
|
# fill in the zero beat
|
55
58
|
beats = beats.unshift(
|
56
59
|
beats.first.merge({
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
60
|
+
confidence: 1,
|
61
|
+
s: 0.0,
|
62
|
+
ms: 0.0,
|
63
|
+
sample_no: 0,
|
64
|
+
rel_start: 0.0
|
65
|
+
})
|
63
66
|
)
|
64
67
|
|
65
68
|
# fetch the rel_end from the next beat
|
66
69
|
# using 1.0 for the last beat
|
67
|
-
beats = beats.each_cons(2).map
|
70
|
+
beats = beats.each_cons(2).map do |a, b|
|
68
71
|
a.merge({
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
+
rel_end: (b[:rel_start] || 1.0)
|
73
|
+
})
|
74
|
+
end
|
72
75
|
|
73
76
|
# set minimum inter-onset interval in seconds
|
74
77
|
# allows for 4/4 at 400bpm (faster than most music)
|
@@ -76,9 +79,7 @@ module Aubio
|
|
76
79
|
minioi = @params[:minioi] || 0.15
|
77
80
|
filtered_beats = [beats.first]
|
78
81
|
beats.each do |b|
|
79
|
-
if (b[:s] - filtered_beats.last[:s]) > minioi
|
80
|
-
filtered_beats << b
|
81
|
-
end
|
82
|
+
filtered_beats << b if (b[:s] - filtered_beats.last[:s]) > minioi
|
82
83
|
end
|
83
84
|
|
84
85
|
# TODO: are there other smoothing methods that would be useful here?
|
@@ -88,39 +89,38 @@ module Aubio
|
|
88
89
|
def bpm
|
89
90
|
check_for_closed
|
90
91
|
|
91
|
-
beat_locations =
|
92
|
-
beat_periods = beat_locations.each_cons(2).map {|a,b| b[:s] - a[:s] }
|
92
|
+
beat_locations = beats
|
93
|
+
beat_periods = beat_locations.each_cons(2).map { |a, b| b[:s] - a[:s] }
|
93
94
|
|
94
95
|
return 60.0 if beat_locations.length == 1
|
95
96
|
|
96
97
|
# use interquartile median to discourage outliers
|
97
98
|
s = beat_periods.length
|
98
|
-
qrt_lower_idx = (s/4.0).floor
|
99
|
+
qrt_lower_idx = (s / 4.0).floor
|
99
100
|
qrt_upper_idx = qrt_lower_idx * 3
|
100
101
|
interquartile_beat_periods = beat_periods[qrt_lower_idx..qrt_upper_idx]
|
101
102
|
|
102
103
|
# Calculate median
|
103
104
|
iqs = interquartile_beat_periods.length
|
104
105
|
|
105
|
-
iq_median_beat_period = interquartile_beat_periods.sort[(iqs/2.0).floor
|
106
|
+
iq_median_beat_period = interquartile_beat_periods.sort[(iqs / 2.0).floor - 1]
|
106
107
|
60.0 / iq_median_beat_period
|
107
108
|
end
|
108
109
|
|
109
110
|
private
|
111
|
+
|
110
112
|
def check_for_closed
|
111
113
|
raise AlreadyClosed if @is_closed
|
112
114
|
end
|
113
115
|
|
114
116
|
def check_for_valid_audio_source(path)
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
raise InvalidAudioInput.new(%Q{
|
117
|
+
@source.read_pointer
|
118
|
+
rescue FFI::NullPointerError
|
119
|
+
raise InvalidAudioInput, %(
|
119
120
|
|
120
121
|
Couldn't read file at #{path}
|
121
122
|
Did you install aubio with libsndfile support?
|
122
|
-
|
123
|
-
end
|
123
|
+
)
|
124
124
|
end
|
125
125
|
end
|
126
126
|
end
|
data/lib/aubio/aubio-ffi.rb
CHANGED
@@ -1,22 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Generated by ffi_gen. Please do not change this file by hand.
|
2
4
|
|
3
5
|
require 'ffi'
|
4
6
|
|
5
7
|
module Aubio::Api
|
6
8
|
extend FFI::Library
|
7
|
-
|
9
|
+
lib_paths = Array(ENV['AUBIO_LIB'] || Dir['/{opt,usr}/{,local/}{lib,lib64,Cellar/aubio**,lib/arm-linux-gnueabihf}/libaubio.{*.dylib,so.*}'])
|
10
|
+
fallback_names = %w[libaubio.4.2.2.dylib libaubio.so.1 aubio1.dll libaubio-5.dll]
|
11
|
+
ffi_lib(lib_paths + fallback_names)
|
8
12
|
|
9
13
|
def self.attach_function(name, *_)
|
10
|
-
|
11
|
-
|
12
|
-
end
|
14
|
+
super; rescue FFI::NotFoundError => e
|
15
|
+
(class << self; self; end).class_eval { define_method(name) { |*_| raise e } }
|
13
16
|
end
|
14
17
|
|
15
18
|
HAVE_AUBIO_DOUBLE = 0
|
16
19
|
|
17
|
-
AUBIO_SMPL_FMT =
|
20
|
+
AUBIO_SMPL_FMT = '%f'
|
18
21
|
|
19
|
-
AUBIO_LSMP_FMT =
|
22
|
+
AUBIO_LSMP_FMT = '%lf'
|
20
23
|
|
21
24
|
# (Not documented)
|
22
25
|
#
|
@@ -412,7 +415,7 @@ module Aubio::Api
|
|
412
415
|
# @param [Integer] length
|
413
416
|
# @return [FmatT]
|
414
417
|
# @scope class
|
415
|
-
attach_function :new_fmat, :new_fmat, [
|
418
|
+
attach_function :new_fmat, :new_fmat, %i[uint uint], FmatT
|
416
419
|
|
417
420
|
# (Not documented)
|
418
421
|
#
|
@@ -546,7 +549,7 @@ module Aubio::Api
|
|
546
549
|
# @param [Integer] size
|
547
550
|
# @return [FvecT]
|
548
551
|
# @scope class
|
549
|
-
attach_function :new_aubio_window, :new_aubio_window, [
|
552
|
+
attach_function :new_aubio_window, :new_aubio_window, %i[string uint], FvecT
|
550
553
|
|
551
554
|
# (Not documented)
|
552
555
|
#
|
@@ -573,7 +576,7 @@ module Aubio::Api
|
|
573
576
|
# @param [Float] fftsize
|
574
577
|
# @return [Float]
|
575
578
|
# @scope class
|
576
|
-
attach_function :aubio_bintomidi, :aubio_bintomidi, [
|
579
|
+
attach_function :aubio_bintomidi, :aubio_bintomidi, %i[float float float], :float
|
577
580
|
|
578
581
|
# (Not documented)
|
579
582
|
#
|
@@ -583,7 +586,7 @@ module Aubio::Api
|
|
583
586
|
# @param [Float] fftsize
|
584
587
|
# @return [Float]
|
585
588
|
# @scope class
|
586
|
-
attach_function :aubio_miditobin, :aubio_miditobin, [
|
589
|
+
attach_function :aubio_miditobin, :aubio_miditobin, %i[float float float], :float
|
587
590
|
|
588
591
|
# (Not documented)
|
589
592
|
#
|
@@ -593,7 +596,7 @@ module Aubio::Api
|
|
593
596
|
# @param [Float] fftsize
|
594
597
|
# @return [Float]
|
595
598
|
# @scope class
|
596
|
-
attach_function :aubio_bintofreq, :aubio_bintofreq, [
|
599
|
+
attach_function :aubio_bintofreq, :aubio_bintofreq, %i[float float float], :float
|
597
600
|
|
598
601
|
# (Not documented)
|
599
602
|
#
|
@@ -603,7 +606,7 @@ module Aubio::Api
|
|
603
606
|
# @param [Float] fftsize
|
604
607
|
# @return [Float]
|
605
608
|
# @scope class
|
606
|
-
attach_function :aubio_freqtobin, :aubio_freqtobin, [
|
609
|
+
attach_function :aubio_freqtobin, :aubio_freqtobin, %i[float float float], :float
|
607
610
|
|
608
611
|
# (Not documented)
|
609
612
|
#
|
@@ -771,7 +774,7 @@ module Aubio::Api
|
|
771
774
|
# @param [Integer] type
|
772
775
|
# @return [AubioResamplerT]
|
773
776
|
# @scope class
|
774
|
-
attach_function :new_aubio_resampler, :new_aubio_resampler, [
|
777
|
+
attach_function :new_aubio_resampler, :new_aubio_resampler, %i[float uint], AubioResamplerT
|
775
778
|
|
776
779
|
# (Not documented)
|
777
780
|
#
|
@@ -913,7 +916,7 @@ module Aubio::Api
|
|
913
916
|
# @param [Float] a2
|
914
917
|
# @return [AubioFilterT]
|
915
918
|
# @scope class
|
916
|
-
attach_function :new_aubio_filter_biquad, :new_aubio_filter_biquad, [
|
919
|
+
attach_function :new_aubio_filter_biquad, :new_aubio_filter_biquad, %i[double double double double double], AubioFilterT
|
917
920
|
|
918
921
|
# (Not documented)
|
919
922
|
#
|
@@ -1076,7 +1079,7 @@ module Aubio::Api
|
|
1076
1079
|
# @param [Integer] hop_s
|
1077
1080
|
# @return [AubioPvocT]
|
1078
1081
|
# @scope class
|
1079
|
-
attach_function :new_aubio_pvoc, :new_aubio_pvoc, [
|
1082
|
+
attach_function :new_aubio_pvoc, :new_aubio_pvoc, %i[uint uint], AubioPvocT
|
1080
1083
|
|
1081
1084
|
# (Not documented)
|
1082
1085
|
#
|
@@ -1134,7 +1137,7 @@ module Aubio::Api
|
|
1134
1137
|
# @param [Integer] win_s
|
1135
1138
|
# @return [AubioFilterbankT]
|
1136
1139
|
# @scope class
|
1137
|
-
attach_function :new_aubio_filterbank, :new_aubio_filterbank, [
|
1140
|
+
attach_function :new_aubio_filterbank, :new_aubio_filterbank, %i[uint uint], AubioFilterbankT
|
1138
1141
|
|
1139
1142
|
# (Not documented)
|
1140
1143
|
#
|
@@ -1204,7 +1207,7 @@ module Aubio::Api
|
|
1204
1207
|
# @param [Integer] samplerate
|
1205
1208
|
# @return [AubioMfccT]
|
1206
1209
|
# @scope class
|
1207
|
-
attach_function :new_aubio_mfcc, :new_aubio_mfcc, [
|
1210
|
+
attach_function :new_aubio_mfcc, :new_aubio_mfcc, %i[uint uint uint uint], AubioMfccT
|
1208
1211
|
|
1209
1212
|
# (Not documented)
|
1210
1213
|
#
|
@@ -1246,7 +1249,7 @@ module Aubio::Api
|
|
1246
1249
|
# @param [Integer] buf_size
|
1247
1250
|
# @return [AubioSpecdescT]
|
1248
1251
|
# @scope class
|
1249
|
-
attach_function :new_aubio_specdesc, :new_aubio_specdesc, [
|
1252
|
+
attach_function :new_aubio_specdesc, :new_aubio_specdesc, %i[string uint], AubioSpecdescT
|
1250
1253
|
|
1251
1254
|
# (Not documented)
|
1252
1255
|
#
|
@@ -1268,7 +1271,7 @@ module Aubio::Api
|
|
1268
1271
|
# @param [Integer] hop_size
|
1269
1272
|
# @return [AubioTssT]
|
1270
1273
|
# @scope class
|
1271
|
-
attach_function :new_aubio_tss, :new_aubio_tss, [
|
1274
|
+
attach_function :new_aubio_tss, :new_aubio_tss, %i[uint uint], AubioTssT
|
1272
1275
|
|
1273
1276
|
# (Not documented)
|
1274
1277
|
#
|
@@ -1365,7 +1368,7 @@ module Aubio::Api
|
|
1365
1368
|
# @param [Integer] samplerate
|
1366
1369
|
# @return [AubioPitchT]
|
1367
1370
|
# @scope class
|
1368
|
-
attach_function :new_aubio_pitch, :new_aubio_pitch, [
|
1371
|
+
attach_function :new_aubio_pitch, :new_aubio_pitch, %i[string uint uint uint], AubioPitchT
|
1369
1372
|
|
1370
1373
|
# (Not documented)
|
1371
1374
|
#
|
@@ -1415,7 +1418,7 @@ module Aubio::Api
|
|
1415
1418
|
# @param [Integer] samplerate
|
1416
1419
|
# @return [AubioOnsetT]
|
1417
1420
|
# @scope class
|
1418
|
-
attach_function :new_aubio_onset, :new_aubio_onset, [
|
1421
|
+
attach_function :new_aubio_onset, :new_aubio_onset, %i[string uint uint uint], AubioOnsetT
|
1419
1422
|
|
1420
1423
|
# (Not documented)
|
1421
1424
|
#
|
@@ -1625,7 +1628,7 @@ module Aubio::Api
|
|
1625
1628
|
# @param [Integer] samplerate
|
1626
1629
|
# @return [AubioTempoT]
|
1627
1630
|
# @scope class
|
1628
|
-
attach_function :new_aubio_tempo, :new_aubio_tempo, [
|
1631
|
+
attach_function :new_aubio_tempo, :new_aubio_tempo, %i[string uint uint uint], AubioTempoT
|
1629
1632
|
|
1630
1633
|
# (Not documented)
|
1631
1634
|
#
|
@@ -1825,7 +1828,7 @@ module Aubio::Api
|
|
1825
1828
|
# @param [Integer] samplerate
|
1826
1829
|
# @return [AubioNotesT]
|
1827
1830
|
# @scope class
|
1828
|
-
attach_function :new_aubio_notes, :new_aubio_notes, [
|
1831
|
+
attach_function :new_aubio_notes, :new_aubio_notes, %i[string uint uint uint], AubioNotesT
|
1829
1832
|
|
1830
1833
|
# (Not documented)
|
1831
1834
|
#
|
@@ -1892,7 +1895,7 @@ module Aubio::Api
|
|
1892
1895
|
# @param [Integer] hop_size
|
1893
1896
|
# @return [AubioSourceT]
|
1894
1897
|
# @scope class
|
1895
|
-
attach_function :new_aubio_source, :new_aubio_source, [
|
1898
|
+
attach_function :new_aubio_source, :new_aubio_source, %i[string uint uint], AubioSourceT
|
1896
1899
|
|
1897
1900
|
# (Not documented)
|
1898
1901
|
#
|
@@ -1975,7 +1978,7 @@ module Aubio::Api
|
|
1975
1978
|
# @param [Integer] samplerate
|
1976
1979
|
# @return [AubioSinkT]
|
1977
1980
|
# @scope class
|
1978
|
-
attach_function :new_aubio_sink, :new_aubio_sink, [
|
1981
|
+
attach_function :new_aubio_sink, :new_aubio_sink, %i[string uint], AubioSinkT
|
1979
1982
|
|
1980
1983
|
# (Not documented)
|
1981
1984
|
#
|
@@ -2059,7 +2062,7 @@ module Aubio::Api
|
|
2059
2062
|
# @param [Integer] hop_size
|
2060
2063
|
# @return [AubioSamplerT]
|
2061
2064
|
# @scope class
|
2062
|
-
attach_function :new_aubio_sampler, :new_aubio_sampler, [
|
2065
|
+
attach_function :new_aubio_sampler, :new_aubio_sampler, %i[uint uint], AubioSamplerT
|
2063
2066
|
|
2064
2067
|
# (Not documented)
|
2065
2068
|
#
|
@@ -2143,7 +2146,7 @@ module Aubio::Api
|
|
2143
2146
|
# @param [Integer] hop_size
|
2144
2147
|
# @return [AubioWavetableT]
|
2145
2148
|
# @scope class
|
2146
|
-
attach_function :new_aubio_wavetable, :new_aubio_wavetable, [
|
2149
|
+
attach_function :new_aubio_wavetable, :new_aubio_wavetable, %i[uint uint], AubioWavetableT
|
2147
2150
|
|
2148
2151
|
# (Not documented)
|
2149
2152
|
#
|
@@ -2262,7 +2265,7 @@ module Aubio::Api
|
|
2262
2265
|
# @param [Integer] steps
|
2263
2266
|
# @return [AubioParameterT]
|
2264
2267
|
# @scope class
|
2265
|
-
attach_function :new_aubio_parameter, :new_aubio_parameter, [
|
2268
|
+
attach_function :new_aubio_parameter, :new_aubio_parameter, %i[float float uint], AubioParameterT
|
2266
2269
|
|
2267
2270
|
# (Not documented)
|
2268
2271
|
#
|
@@ -2397,7 +2400,7 @@ module Aubio::Api
|
|
2397
2400
|
# @param [FFI::Pointer(*Void)] data
|
2398
2401
|
# @return [Integer]
|
2399
2402
|
# @scope class
|
2400
|
-
callback :aubio_log_function_t, [
|
2403
|
+
callback :aubio_log_function_t, %i[int string pointer], :int
|
2401
2404
|
|
2402
2405
|
# (Not documented)
|
2403
2406
|
#
|
@@ -2406,7 +2409,7 @@ module Aubio::Api
|
|
2406
2409
|
# @param [FFI::Pointer(*Void)] data
|
2407
2410
|
# @return [nil]
|
2408
2411
|
# @scope class
|
2409
|
-
attach_function :aubio_log_set_function, :aubio_log_set_function, [
|
2412
|
+
attach_function :aubio_log_set_function, :aubio_log_set_function, %i[aubio_log_function_t pointer], :void
|
2410
2413
|
|
2411
2414
|
# (Not documented)
|
2412
2415
|
#
|
@@ -2416,7 +2419,7 @@ module Aubio::Api
|
|
2416
2419
|
# @param [FFI::Pointer(*Void)] data
|
2417
2420
|
# @return [Proc(_callback_aubio_log_function_t_)]
|
2418
2421
|
# @scope class
|
2419
|
-
attach_function :aubio_log_set_level_function, :aubio_log_set_level_function, [
|
2422
|
+
attach_function :aubio_log_set_level_function, :aubio_log_set_level_function, %i[int aubio_log_function_t pointer], :aubio_log_function_t
|
2420
2423
|
|
2421
2424
|
# (Not documented)
|
2422
2425
|
#
|
@@ -2439,7 +2442,7 @@ module Aubio::Api
|
|
2439
2442
|
# @param [Integer] blocksize
|
2440
2443
|
# @return [AubioAudioUnitT]
|
2441
2444
|
# @scope class
|
2442
|
-
attach_function :new_aubio_audio_unit, :new_aubio_audio_unit, [
|
2445
|
+
attach_function :new_aubio_audio_unit, :new_aubio_audio_unit, %i[uint uint uint uint], AubioAudioUnitT
|
2443
2446
|
|
2444
2447
|
# (Not documented)
|
2445
2448
|
#
|
@@ -2539,7 +2542,7 @@ module Aubio::Api
|
|
2539
2542
|
# @param [Integer] samplerate
|
2540
2543
|
# @return [Integer]
|
2541
2544
|
# @scope class
|
2542
|
-
attach_function :aubio_io_validate_samplerate, :aubio_io_validate_samplerate, [
|
2545
|
+
attach_function :aubio_io_validate_samplerate, :aubio_io_validate_samplerate, %i[string string uint], :uint
|
2543
2546
|
|
2544
2547
|
# (Not documented)
|
2545
2548
|
#
|
@@ -2549,7 +2552,7 @@ module Aubio::Api
|
|
2549
2552
|
# @param [Integer] channels
|
2550
2553
|
# @return [Integer]
|
2551
2554
|
# @scope class
|
2552
|
-
attach_function :aubio_io_validate_channels, :aubio_io_validate_channels, [
|
2555
|
+
attach_function :aubio_io_validate_channels, :aubio_io_validate_channels, %i[string string uint], :uint
|
2553
2556
|
|
2554
2557
|
# (Not documented)
|
2555
2558
|
class AubioSinkAppleAudioT < FFI::Struct
|
@@ -2563,7 +2566,7 @@ module Aubio::Api
|
|
2563
2566
|
# @param [Integer] samplerate
|
2564
2567
|
# @return [AubioSinkAppleAudioT]
|
2565
2568
|
# @scope class
|
2566
|
-
attach_function :new_aubio_sink_apple_audio, :new_aubio_sink_apple_audio, [
|
2569
|
+
attach_function :new_aubio_sink_apple_audio, :new_aubio_sink_apple_audio, %i[string uint], AubioSinkAppleAudioT
|
2567
2570
|
|
2568
2571
|
# (Not documented)
|
2569
2572
|
#
|
@@ -2647,7 +2650,7 @@ module Aubio::Api
|
|
2647
2650
|
# @param [Integer] samplerate
|
2648
2651
|
# @return [AubioSinkSndfileT]
|
2649
2652
|
# @scope class
|
2650
|
-
attach_function :new_aubio_sink_sndfile, :new_aubio_sink_sndfile, [
|
2653
|
+
attach_function :new_aubio_sink_sndfile, :new_aubio_sink_sndfile, %i[string uint], AubioSinkSndfileT
|
2651
2654
|
|
2652
2655
|
# (Not documented)
|
2653
2656
|
#
|
@@ -2731,7 +2734,7 @@ module Aubio::Api
|
|
2731
2734
|
# @param [Integer] samplerate
|
2732
2735
|
# @return [AubioSinkWavwriteT]
|
2733
2736
|
# @scope class
|
2734
|
-
attach_function :new_aubio_sink_wavwrite, :new_aubio_sink_wavwrite, [
|
2737
|
+
attach_function :new_aubio_sink_wavwrite, :new_aubio_sink_wavwrite, %i[string uint], AubioSinkWavwriteT
|
2735
2738
|
|
2736
2739
|
# (Not documented)
|
2737
2740
|
#
|
@@ -2816,7 +2819,7 @@ module Aubio::Api
|
|
2816
2819
|
# @param [Integer] hop_size
|
2817
2820
|
# @return [AubioSourceAppleAudioT]
|
2818
2821
|
# @scope class
|
2819
|
-
attach_function :new_aubio_source_apple_audio, :new_aubio_source_apple_audio, [
|
2822
|
+
attach_function :new_aubio_source_apple_audio, :new_aubio_source_apple_audio, %i[string uint uint], AubioSourceAppleAudioT
|
2820
2823
|
|
2821
2824
|
# (Not documented)
|
2822
2825
|
#
|
@@ -2900,7 +2903,7 @@ module Aubio::Api
|
|
2900
2903
|
# @param [Integer] hop_size
|
2901
2904
|
# @return [AubioSourceAvcodecT]
|
2902
2905
|
# @scope class
|
2903
|
-
attach_function :new_aubio_source_avcodec, :new_aubio_source_avcodec, [
|
2906
|
+
attach_function :new_aubio_source_avcodec, :new_aubio_source_avcodec, %i[string uint uint], AubioSourceAvcodecT
|
2904
2907
|
|
2905
2908
|
# (Not documented)
|
2906
2909
|
#
|
@@ -2984,7 +2987,7 @@ module Aubio::Api
|
|
2984
2987
|
# @param [Integer] hop_size
|
2985
2988
|
# @return [AubioSourceSndfileT]
|
2986
2989
|
# @scope class
|
2987
|
-
attach_function :new_aubio_source_sndfile, :new_aubio_source_sndfile, [
|
2990
|
+
attach_function :new_aubio_source_sndfile, :new_aubio_source_sndfile, %i[string uint uint], AubioSourceSndfileT
|
2988
2991
|
|
2989
2992
|
# (Not documented)
|
2990
2993
|
#
|
@@ -3068,7 +3071,7 @@ module Aubio::Api
|
|
3068
3071
|
# @param [Integer] hop_size
|
3069
3072
|
# @return [AubioSourceWavreadT]
|
3070
3073
|
# @scope class
|
3071
|
-
attach_function :new_aubio_source_wavread, :new_aubio_source_wavread, [
|
3074
|
+
attach_function :new_aubio_source_wavread, :new_aubio_source_wavread, %i[string uint uint], AubioSourceWavreadT
|
3072
3075
|
|
3073
3076
|
# (Not documented)
|
3074
3077
|
#
|
@@ -3304,7 +3307,7 @@ module Aubio::Api
|
|
3304
3307
|
# @param [Float] pf
|
3305
3308
|
# @return [Float]
|
3306
3309
|
# @scope class
|
3307
|
-
attach_function :aubio_quadfrac, :aubio_quadfrac, [
|
3310
|
+
attach_function :aubio_quadfrac, :aubio_quadfrac, %i[float float float float], :float
|
3308
3311
|
|
3309
3312
|
# (Not documented)
|
3310
3313
|
#
|
@@ -3417,7 +3420,7 @@ module Aubio::Api
|
|
3417
3420
|
# @param [Integer] hop_size
|
3418
3421
|
# @return [AubioPitchfcombT]
|
3419
3422
|
# @scope class
|
3420
|
-
attach_function :new_aubio_pitchfcomb, :new_aubio_pitchfcomb, [
|
3423
|
+
attach_function :new_aubio_pitchfcomb, :new_aubio_pitchfcomb, %i[uint uint], AubioPitchfcombT
|
3421
3424
|
|
3422
3425
|
# (Not documented)
|
3423
3426
|
#
|
@@ -3449,7 +3452,7 @@ module Aubio::Api
|
|
3449
3452
|
# @param [Integer] hop_size
|
3450
3453
|
# @return [AubioPitchmcombT]
|
3451
3454
|
# @scope class
|
3452
|
-
attach_function :new_aubio_pitchmcomb, :new_aubio_pitchmcomb, [
|
3455
|
+
attach_function :new_aubio_pitchmcomb, :new_aubio_pitchmcomb, %i[uint uint], AubioPitchmcombT
|
3453
3456
|
|
3454
3457
|
# (Not documented)
|
3455
3458
|
#
|
@@ -3624,7 +3627,7 @@ module Aubio::Api
|
|
3624
3627
|
# @param [Integer] buf_size
|
3625
3628
|
# @return [AubioPitchyinfftT]
|
3626
3629
|
# @scope class
|
3627
|
-
attach_function :new_aubio_pitchyinfft, :new_aubio_pitchyinfft, [
|
3630
|
+
attach_function :new_aubio_pitchyinfft, :new_aubio_pitchyinfft, %i[uint uint], AubioPitchyinfftT
|
3628
3631
|
|
3629
3632
|
# (Not documented)
|
3630
3633
|
#
|
@@ -3672,7 +3675,7 @@ module Aubio::Api
|
|
3672
3675
|
# @param [Integer] samplerate
|
3673
3676
|
# @return [AubioBeattrackingT]
|
3674
3677
|
# @scope class
|
3675
|
-
attach_function :new_aubio_beattracking, :new_aubio_beattracking, [
|
3678
|
+
attach_function :new_aubio_beattracking, :new_aubio_beattracking, %i[uint uint uint], AubioBeattrackingT
|
3676
3679
|
|
3677
3680
|
# (Not documented)
|
3678
3681
|
#
|
@@ -3737,7 +3740,7 @@ module Aubio::Api
|
|
3737
3740
|
# @param [Integer] nelems
|
3738
3741
|
# @return [AubioHistT]
|
3739
3742
|
# @scope class
|
3740
|
-
attach_function :new_aubio_hist, :new_aubio_hist, [
|
3743
|
+
attach_function :new_aubio_hist, :new_aubio_hist, %i[float float uint], AubioHistT
|
3741
3744
|
|
3742
3745
|
# (Not documented)
|
3743
3746
|
#
|
@@ -3804,7 +3807,7 @@ module Aubio::Api
|
|
3804
3807
|
# @param [Float] ihig higher value of output function
|
3805
3808
|
# @return [AubioScaleT]
|
3806
3809
|
# @scope class
|
3807
|
-
attach_function :new_aubio_scale, :new_aubio_scale, [
|
3810
|
+
attach_function :new_aubio_scale, :new_aubio_scale, %i[float float float float], AubioScaleT
|
3808
3811
|
|
3809
3812
|
# delete a scale object
|
3810
3813
|
#
|
@@ -3834,5 +3837,4 @@ module Aubio::Api
|
|
3834
3837
|
# @return [Integer]
|
3835
3838
|
# @scope class
|
3836
3839
|
attach_function :aubio_scale_set_limits, :aubio_scale_set_limits, [AubioScaleT, :float, :float, :float, :float], :uint
|
3837
|
-
|
3838
3840
|
end
|