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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 4449b468192ecfde756ebcba885104de2b1e2204
4
- data.tar.gz: fac1a109e7dbd00a1c42eec07a708bafc489c0d9
2
+ SHA256:
3
+ metadata.gz: 8c41aa1969e57a7b16d4cfddb39da77c3b03b28a271c41206ab6c6c748b0f95c
4
+ data.tar.gz: 695d3509b8d5ba23f52de46087273541107d70872f4ee2292d0ae9e789a04a2d
5
5
  SHA512:
6
- metadata.gz: 1be5f9f1f403087ba3719ea5d9789b870df6349706efcbfef790a0ae5c11876ca86159914d3f3326e7666357b198a0cd07ba3803f6dd97d8a0c59431cfac764a
7
- data.tar.gz: 94e78233234035ce70d20d8022198f30136f380bf0d3506d8cd10e6e789aec00ff29cc9154af2fd11aae1bbfc6d47ee62147a6f7170f508ff80582765459099a
6
+ metadata.gz: 4ad69042555b4b0bd33d5a07f80b64f0e23e0b12034cf9c3d4e185295dad4c018131a074884a5f1acf6796a2c2f23bdc268b639e88c0c14e32359cc1c66738de
7
+ data.tar.gz: 76f754cc054eb1db25ddaffde969e1cbaae098eb6e662483eec2c722401c341ee10168d324783d0372c7d7e959c8c4679beca96a7d95a530ea246abd2a5727f1
data/.gitignore CHANGED
@@ -8,3 +8,4 @@
8
8
  /spec/reports/
9
9
  /tmp/
10
10
  *.gem
11
+ tags
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in aubio.gemspec
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
- require "bundler/gem_tasks"
2
- require "rake/testtask"
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 << "test"
6
- t.libs << "lib"
7
+ t.libs << 'test'
8
+ t.libs << 'lib'
7
9
  t.test_files = FileList['test/**/*_test.rb']
8
10
  end
9
11
 
10
- task :default => :spec
12
+ task default: :spec
@@ -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: "Aubio::Api",
7
- ffi_lib: "/usr/local/Cellar/aubio/0.4.4/lib/libaubio.dylib",
8
- headers: Dir["/usr/local/Cellar/aubio/0.4.4/include/aubio/**/*.h"],
9
- cflags: `/usr/local/opt/llvm35/bin/llvm-config-3.5 --cflags`.split(" "),
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: "lib/aubio/aubio-ffi.rb"
14
+ prefixes: [],
15
+ output: 'lib/aubio/aubio-ffi.rb'
14
16
  )
@@ -1,29 +1,31 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
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 = "aubio"
8
+ spec.name = 'aubio'
8
9
  spec.version = Aubio::VERSION
9
- spec.authors = ["Xavier Riley"]
10
- spec.email = ["xavriley@hotmail.com"]
10
+ spec.authors = ['Xavier Riley']
11
+ spec.email = ['xavriley@hotmail.com']
11
12
 
12
- spec.summary = %q{Ruby bindings for the aubio audio library}
13
- spec.description = %q{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.}
14
- spec.homepage = "https://github.com/xavriley/ruby-aubio"
15
- spec.license = "MIT"
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 = "exe"
19
+ spec.bindir = 'exe'
19
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
- spec.require_paths = ["lib"]
21
+ spec.require_paths = ['lib']
21
22
 
22
- spec.add_dependency "ffi", "~> 1.9"
23
+ spec.add_dependency 'ffi', '~> 1.9'
23
24
 
24
- spec.add_development_dependency "bundler", "~> 1.11"
25
- spec.add_development_dependency "rake", "~> 10.0"
26
- spec.add_development_dependency "minitest", "~> 5.0"
27
- spec.add_development_dependency "pry"
28
- spec.add_development_dependency "ffi_gen"
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
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
- require "bundler/setup"
4
- require "aubio"
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 "irb"
14
+ require 'irb'
14
15
  IRB.start
@@ -1,11 +1,13 @@
1
- require_relative "aubio/version"
2
- require_relative "aubio/aubio-ffi"
3
- require_relative "aubio/onsets"
4
- require_relative "aubio/pitches"
5
- require_relative "aubio/beats"
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 < Exception; end
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
- sample_rate = params[:sample_rate] || 44100
18
- hop_size = params[:hop_size] || 512
19
+ sample_rate = params[:sample_rate] || 44_100
20
+ hop_size = params[:hop_size] || 512
19
21
 
20
- @source = Api.new_aubio_source(path, sample_rate, hop_size)
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
- confidence: 1,
58
- s: 0.0,
59
- ms: 0.0,
60
- sample_no: 0,
61
- rel_start: 0.0
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 {|a,b|
70
+ beats = beats.each_cons(2).map do |a, b|
68
71
  a.merge({
69
- rel_end: (b[:rel_start] || 1.0)
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 = self.beats
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() - 1]
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
- begin
116
- @source.read_pointer
117
- rescue FFI::NullPointerError
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
@@ -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
- ffi_lib "/usr/local/Cellar/aubio/0.4.4/lib/libaubio.dylib"
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
- begin; super; rescue FFI::NotFoundError => e
11
- (class << self; self; end).class_eval { define_method(name) { |*_| raise e } }
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 = "%f"
20
+ AUBIO_SMPL_FMT = '%f'
18
21
 
19
- AUBIO_LSMP_FMT = "%lf"
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, [:uint, :uint], FmatT
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, [:string, :uint], FvecT
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, [:float, :float, :float], :float
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, [:float, :float, :float], :float
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, [:float, :float, :float], :float
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, [:float, :float, :float], :float
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, [:float, :uint], AubioResamplerT
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, [:double, :double, :double, :double, :double], AubioFilterT
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, [:uint, :uint], AubioPvocT
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, [:uint, :uint], AubioFilterbankT
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, [:uint, :uint, :uint, :uint], AubioMfccT
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, [:string, :uint], AubioSpecdescT
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, [:uint, :uint], AubioTssT
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, [:string, :uint, :uint, :uint], AubioPitchT
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, [:string, :uint, :uint, :uint], AubioOnsetT
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, [:string, :uint, :uint, :uint], AubioTempoT
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, [:string, :uint, :uint, :uint], AubioNotesT
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, [:string, :uint, :uint], AubioSourceT
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, [:string, :uint], AubioSinkT
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, [:uint, :uint], AubioSamplerT
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, [:uint, :uint], AubioWavetableT
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, [:float, :float, :uint], AubioParameterT
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, [:int, :string, :pointer], :int
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, [:aubio_log_function_t, :pointer], :void
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, [:int, :aubio_log_function_t, :pointer], :aubio_log_function_t
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, [:uint, :uint, :uint, :uint], AubioAudioUnitT
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, [:string, :string, :uint], :uint
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, [:string, :string, :uint], :uint
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, [:string, :uint], AubioSinkAppleAudioT
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, [:string, :uint], AubioSinkSndfileT
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, [:string, :uint], AubioSinkWavwriteT
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, [:string, :uint, :uint], AubioSourceAppleAudioT
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, [:string, :uint, :uint], AubioSourceAvcodecT
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, [:string, :uint, :uint], AubioSourceSndfileT
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, [:string, :uint, :uint], AubioSourceWavreadT
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, [:float, :float, :float, :float], :float
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, [:uint, :uint], AubioPitchfcombT
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, [:uint, :uint], AubioPitchmcombT
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, [:uint, :uint], AubioPitchyinfftT
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, [:uint, :uint, :uint], AubioBeattrackingT
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, [:float, :float, :uint], AubioHistT
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, [:float, :float, :float, :float], AubioScaleT
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