aubio 0.2.2 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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/api"
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)
@@ -40,48 +43,84 @@ module Aubio
40
43
  Pitches.new(@source, @params).each
41
44
  end
42
45
 
43
- def beats
46
+ def enum_beats
44
47
  check_for_closed
45
48
 
46
49
  Beats.new(@source, @params).each
47
50
  end
48
51
 
52
+ def beats
53
+ check_for_closed
54
+
55
+ beats = Beats.new(@source, @params).each.to_a
56
+
57
+ # fill in the zero beat
58
+ beats = beats.unshift(
59
+ beats.first.merge({
60
+ confidence: 1,
61
+ s: 0.0,
62
+ ms: 0.0,
63
+ sample_no: 0,
64
+ rel_start: 0.0
65
+ })
66
+ )
67
+
68
+ # fetch the rel_end from the next beat
69
+ # using 1.0 for the last beat
70
+ beats = beats.each_cons(2).map do |a, b|
71
+ a.merge({
72
+ rel_end: (b[:rel_start] || 1.0)
73
+ })
74
+ end
75
+
76
+ # set minimum inter-onset interval in seconds
77
+ # allows for 4/4 at 400bpm (faster than most music)
78
+ # filters beats detected too closely together
79
+ minioi = @params[:minioi] || 0.15
80
+ filtered_beats = [beats.first]
81
+ beats.each do |b|
82
+ filtered_beats << b if (b[:s] - filtered_beats.last[:s]) > minioi
83
+ end
84
+
85
+ # TODO: are there other smoothing methods that would be useful here?
86
+ filtered_beats
87
+ end
88
+
49
89
  def bpm
50
90
  check_for_closed
51
91
 
52
- beat_locations = Beats.new(@source, @params).each.to_a
53
- 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] }
54
94
 
55
95
  return 60.0 if beat_locations.length == 1
56
96
 
57
97
  # use interquartile median to discourage outliers
58
98
  s = beat_periods.length
59
- qrt_lower_idx = (s/4.0).floor
99
+ qrt_lower_idx = (s / 4.0).floor
60
100
  qrt_upper_idx = qrt_lower_idx * 3
61
101
  interquartile_beat_periods = beat_periods[qrt_lower_idx..qrt_upper_idx]
62
102
 
63
103
  # Calculate median
64
104
  iqs = interquartile_beat_periods.length
65
105
 
66
- 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]
67
107
  60.0 / iq_median_beat_period
68
108
  end
69
109
 
70
110
  private
111
+
71
112
  def check_for_closed
72
113
  raise AlreadyClosed if @is_closed
73
114
  end
74
115
 
75
116
  def check_for_valid_audio_source(path)
76
- begin
77
- @source.read_pointer
78
- rescue FFI::NullPointerError
79
- raise InvalidAudioInput.new(%Q{
117
+ @source.read_pointer
118
+ rescue FFI::NullPointerError
119
+ raise InvalidAudioInput, %(
80
120
 
81
121
  Couldn't read file at #{path}
82
122
  Did you install aubio with libsndfile support?
83
- })
84
- end
123
+ )
85
124
  end
86
125
  end
87
126
  end
@@ -0,0 +1,3840 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Generated by ffi_gen. Please do not change this file by hand.
4
+
5
+ require 'ffi'
6
+
7
+ module Aubio::Api
8
+ extend FFI::Library
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)
12
+
13
+ def self.attach_function(name, *_)
14
+ super; rescue FFI::NotFoundError => e
15
+ (class << self; self; end).class_eval { define_method(name) { |*_| raise e } }
16
+ end
17
+
18
+ HAVE_AUBIO_DOUBLE = 0
19
+
20
+ AUBIO_SMPL_FMT = '%f'
21
+
22
+ AUBIO_LSMP_FMT = '%lf'
23
+
24
+ # (Not documented)
25
+ #
26
+ # = Fields:
27
+ # :length ::
28
+ # (Integer) < length of buffer
29
+ # :data ::
30
+ # (FFI::Pointer(*SmplT)) < data vector of length ::fvec_t.length
31
+ class FvecT < FFI::Struct
32
+ layout :length, :uint,
33
+ :data, :pointer
34
+ end
35
+
36
+ # (Not documented)
37
+ #
38
+ # @method new_fvec(length)
39
+ # @param [Integer] length
40
+ # @return [FvecT]
41
+ # @scope class
42
+ attach_function :new_fvec, :new_fvec, [:uint], FvecT
43
+
44
+ # (Not documented)
45
+ #
46
+ # @method del_fvec(s)
47
+ # @param [FvecT] s
48
+ # @return [nil]
49
+ # @scope class
50
+ attach_function :del_fvec, :del_fvec, [FvecT], :void
51
+
52
+ # (Not documented)
53
+ #
54
+ # @method fvec_get_sample(s, position)
55
+ # @param [FvecT] s
56
+ # @param [Integer] position
57
+ # @return [Float]
58
+ # @scope class
59
+ attach_function :fvec_get_sample, :fvec_get_sample, [FvecT, :uint], :float
60
+
61
+ # (Not documented)
62
+ #
63
+ # @method fvec_set_sample(s, data, position)
64
+ # @param [FvecT] s
65
+ # @param [Float] data
66
+ # @param [Integer] position
67
+ # @return [nil]
68
+ # @scope class
69
+ attach_function :fvec_set_sample, :fvec_set_sample, [FvecT, :float, :uint], :void
70
+
71
+ # (Not documented)
72
+ #
73
+ # @method fvec_get_data(s)
74
+ # @param [FvecT] s
75
+ # @return [FFI::Pointer(*SmplT)]
76
+ # @scope class
77
+ attach_function :fvec_get_data, :fvec_get_data, [FvecT], :pointer
78
+
79
+ # (Not documented)
80
+ #
81
+ # @method fvec_print(s)
82
+ # @param [FvecT] s
83
+ # @return [nil]
84
+ # @scope class
85
+ attach_function :fvec_print, :fvec_print, [FvecT], :void
86
+
87
+ # (Not documented)
88
+ #
89
+ # @method fvec_set_all(s, val)
90
+ # @param [FvecT] s
91
+ # @param [Float] val
92
+ # @return [nil]
93
+ # @scope class
94
+ attach_function :fvec_set_all, :fvec_set_all, [FvecT, :float], :void
95
+
96
+ # (Not documented)
97
+ #
98
+ # @method fvec_zeros(s)
99
+ # @param [FvecT] s
100
+ # @return [nil]
101
+ # @scope class
102
+ attach_function :fvec_zeros, :fvec_zeros, [FvecT], :void
103
+
104
+ # (Not documented)
105
+ #
106
+ # @method fvec_ones(s)
107
+ # @param [FvecT] s
108
+ # @return [nil]
109
+ # @scope class
110
+ attach_function :fvec_ones, :fvec_ones, [FvecT], :void
111
+
112
+ # (Not documented)
113
+ #
114
+ # @method fvec_rev(s)
115
+ # @param [FvecT] s
116
+ # @return [nil]
117
+ # @scope class
118
+ attach_function :fvec_rev, :fvec_rev, [FvecT], :void
119
+
120
+ # (Not documented)
121
+ #
122
+ # @method fvec_weight(s, weight)
123
+ # @param [FvecT] s
124
+ # @param [FvecT] weight
125
+ # @return [nil]
126
+ # @scope class
127
+ attach_function :fvec_weight, :fvec_weight, [FvecT, FvecT], :void
128
+
129
+ # (Not documented)
130
+ #
131
+ # @method fvec_copy(s, t)
132
+ # @param [FvecT] s
133
+ # @param [FvecT] t
134
+ # @return [nil]
135
+ # @scope class
136
+ attach_function :fvec_copy, :fvec_copy, [FvecT, FvecT], :void
137
+
138
+ # (Not documented)
139
+ #
140
+ # @method fvec_weighted_copy(in_, weight, out)
141
+ # @param [FvecT] in_
142
+ # @param [FvecT] weight
143
+ # @param [FvecT] out
144
+ # @return [nil]
145
+ # @scope class
146
+ attach_function :fvec_weighted_copy, :fvec_weighted_copy, [FvecT, FvecT, FvecT], :void
147
+
148
+ # (Not documented)
149
+ #
150
+ # = Fields:
151
+ # :length ::
152
+ # (Integer) < length of buffer = (requested length)/2 + 1
153
+ # :norm ::
154
+ # (FFI::Pointer(*SmplT)) < norm array of size ::cvec_t.length
155
+ # :phas ::
156
+ # (FFI::Pointer(*SmplT)) < phase array of size ::cvec_t.length
157
+ class CvecT < FFI::Struct
158
+ layout :length, :uint,
159
+ :norm, :pointer,
160
+ :phas, :pointer
161
+ end
162
+
163
+ # (Not documented)
164
+ #
165
+ # @method new_cvec(length)
166
+ # @param [Integer] length
167
+ # @return [CvecT]
168
+ # @scope class
169
+ attach_function :new_cvec, :new_cvec, [:uint], CvecT
170
+
171
+ # (Not documented)
172
+ #
173
+ # @method del_cvec(s)
174
+ # @param [CvecT] s
175
+ # @return [nil]
176
+ # @scope class
177
+ attach_function :del_cvec, :del_cvec, [CvecT], :void
178
+
179
+ # (Not documented)
180
+ #
181
+ # @method cvec_norm_set_sample(s, val, position)
182
+ # @param [CvecT] s
183
+ # @param [Float] val
184
+ # @param [Integer] position
185
+ # @return [nil]
186
+ # @scope class
187
+ attach_function :cvec_norm_set_sample, :cvec_norm_set_sample, [CvecT, :float, :uint], :void
188
+
189
+ # (Not documented)
190
+ #
191
+ # @method cvec_phas_set_sample(s, val, position)
192
+ # @param [CvecT] s
193
+ # @param [Float] val
194
+ # @param [Integer] position
195
+ # @return [nil]
196
+ # @scope class
197
+ attach_function :cvec_phas_set_sample, :cvec_phas_set_sample, [CvecT, :float, :uint], :void
198
+
199
+ # (Not documented)
200
+ #
201
+ # @method cvec_norm_get_sample(s, position)
202
+ # @param [CvecT] s
203
+ # @param [Integer] position
204
+ # @return [Float]
205
+ # @scope class
206
+ attach_function :cvec_norm_get_sample, :cvec_norm_get_sample, [CvecT, :uint], :float
207
+
208
+ # (Not documented)
209
+ #
210
+ # @method cvec_phas_get_sample(s, position)
211
+ # @param [CvecT] s
212
+ # @param [Integer] position
213
+ # @return [Float]
214
+ # @scope class
215
+ attach_function :cvec_phas_get_sample, :cvec_phas_get_sample, [CvecT, :uint], :float
216
+
217
+ # (Not documented)
218
+ #
219
+ # @method cvec_norm_get_data(s)
220
+ # @param [CvecT] s
221
+ # @return [FFI::Pointer(*SmplT)]
222
+ # @scope class
223
+ attach_function :cvec_norm_get_data, :cvec_norm_get_data, [CvecT], :pointer
224
+
225
+ # (Not documented)
226
+ #
227
+ # @method cvec_phas_get_data(s)
228
+ # @param [CvecT] s
229
+ # @return [FFI::Pointer(*SmplT)]
230
+ # @scope class
231
+ attach_function :cvec_phas_get_data, :cvec_phas_get_data, [CvecT], :pointer
232
+
233
+ # (Not documented)
234
+ #
235
+ # @method cvec_print(s)
236
+ # @param [CvecT] s
237
+ # @return [nil]
238
+ # @scope class
239
+ attach_function :cvec_print, :cvec_print, [CvecT], :void
240
+
241
+ # (Not documented)
242
+ #
243
+ # @method cvec_copy(s, t)
244
+ # @param [CvecT] s
245
+ # @param [CvecT] t
246
+ # @return [nil]
247
+ # @scope class
248
+ attach_function :cvec_copy, :cvec_copy, [CvecT, CvecT], :void
249
+
250
+ # (Not documented)
251
+ #
252
+ # @method cvec_norm_set_all(s, val)
253
+ # @param [CvecT] s
254
+ # @param [Float] val
255
+ # @return [nil]
256
+ # @scope class
257
+ attach_function :cvec_norm_set_all, :cvec_norm_set_all, [CvecT, :float], :void
258
+
259
+ # (Not documented)
260
+ #
261
+ # @method cvec_norm_zeros(s)
262
+ # @param [CvecT] s
263
+ # @return [nil]
264
+ # @scope class
265
+ attach_function :cvec_norm_zeros, :cvec_norm_zeros, [CvecT], :void
266
+
267
+ # (Not documented)
268
+ #
269
+ # @method cvec_norm_ones(s)
270
+ # @param [CvecT] s
271
+ # @return [nil]
272
+ # @scope class
273
+ attach_function :cvec_norm_ones, :cvec_norm_ones, [CvecT], :void
274
+
275
+ # (Not documented)
276
+ #
277
+ # @method cvec_phas_set_all(s, val)
278
+ # @param [CvecT] s
279
+ # @param [Float] val
280
+ # @return [nil]
281
+ # @scope class
282
+ attach_function :cvec_phas_set_all, :cvec_phas_set_all, [CvecT, :float], :void
283
+
284
+ # (Not documented)
285
+ #
286
+ # @method cvec_phas_zeros(s)
287
+ # @param [CvecT] s
288
+ # @return [nil]
289
+ # @scope class
290
+ attach_function :cvec_phas_zeros, :cvec_phas_zeros, [CvecT], :void
291
+
292
+ # (Not documented)
293
+ #
294
+ # @method cvec_phas_ones(s)
295
+ # @param [CvecT] s
296
+ # @return [nil]
297
+ # @scope class
298
+ attach_function :cvec_phas_ones, :cvec_phas_ones, [CvecT], :void
299
+
300
+ # (Not documented)
301
+ #
302
+ # @method cvec_zeros(s)
303
+ # @param [CvecT] s
304
+ # @return [nil]
305
+ # @scope class
306
+ attach_function :cvec_zeros, :cvec_zeros, [CvecT], :void
307
+
308
+ # (Not documented)
309
+ #
310
+ # = Fields:
311
+ # :length ::
312
+ # (Integer) < length of buffer
313
+ # :data ::
314
+ # (FFI::Pointer(*LsmpT)) < data array of size (length)
315
+ class LvecT < FFI::Struct
316
+ layout :length, :uint,
317
+ :data, :pointer
318
+ end
319
+
320
+ # (Not documented)
321
+ #
322
+ # @method new_lvec(length)
323
+ # @param [Integer] length
324
+ # @return [LvecT]
325
+ # @scope class
326
+ attach_function :new_lvec, :new_lvec, [:uint], LvecT
327
+
328
+ # (Not documented)
329
+ #
330
+ # @method del_lvec(s)
331
+ # @param [LvecT] s
332
+ # @return [nil]
333
+ # @scope class
334
+ attach_function :del_lvec, :del_lvec, [LvecT], :void
335
+
336
+ # (Not documented)
337
+ #
338
+ # @method lvec_get_sample(s, position)
339
+ # @param [LvecT] s
340
+ # @param [Integer] position
341
+ # @return [Float]
342
+ # @scope class
343
+ attach_function :lvec_get_sample, :lvec_get_sample, [LvecT, :uint], :double
344
+
345
+ # (Not documented)
346
+ #
347
+ # @method lvec_set_sample(s, data, position)
348
+ # @param [LvecT] s
349
+ # @param [Float] data
350
+ # @param [Integer] position
351
+ # @return [nil]
352
+ # @scope class
353
+ attach_function :lvec_set_sample, :lvec_set_sample, [LvecT, :double, :uint], :void
354
+
355
+ # (Not documented)
356
+ #
357
+ # @method lvec_get_data(s)
358
+ # @param [LvecT] s
359
+ # @return [FFI::Pointer(*LsmpT)]
360
+ # @scope class
361
+ attach_function :lvec_get_data, :lvec_get_data, [LvecT], :pointer
362
+
363
+ # (Not documented)
364
+ #
365
+ # @method lvec_print(s)
366
+ # @param [LvecT] s
367
+ # @return [nil]
368
+ # @scope class
369
+ attach_function :lvec_print, :lvec_print, [LvecT], :void
370
+
371
+ # (Not documented)
372
+ #
373
+ # @method lvec_set_all(s, val)
374
+ # @param [LvecT] s
375
+ # @param [Float] val
376
+ # @return [nil]
377
+ # @scope class
378
+ attach_function :lvec_set_all, :lvec_set_all, [LvecT, :float], :void
379
+
380
+ # (Not documented)
381
+ #
382
+ # @method lvec_zeros(s)
383
+ # @param [LvecT] s
384
+ # @return [nil]
385
+ # @scope class
386
+ attach_function :lvec_zeros, :lvec_zeros, [LvecT], :void
387
+
388
+ # (Not documented)
389
+ #
390
+ # @method lvec_ones(s)
391
+ # @param [LvecT] s
392
+ # @return [nil]
393
+ # @scope class
394
+ attach_function :lvec_ones, :lvec_ones, [LvecT], :void
395
+
396
+ # (Not documented)
397
+ #
398
+ # = Fields:
399
+ # :length ::
400
+ # (Integer) < length of matrix
401
+ # :height ::
402
+ # (Integer) < height of matrix
403
+ # :data ::
404
+ # (FFI::Pointer(**SmplT)) < data array of size (length) * (height)
405
+ class FmatT < FFI::Struct
406
+ layout :length, :uint,
407
+ :height, :uint,
408
+ :data, :pointer
409
+ end
410
+
411
+ # (Not documented)
412
+ #
413
+ # @method new_fmat(height, length)
414
+ # @param [Integer] height
415
+ # @param [Integer] length
416
+ # @return [FmatT]
417
+ # @scope class
418
+ attach_function :new_fmat, :new_fmat, %i[uint uint], FmatT
419
+
420
+ # (Not documented)
421
+ #
422
+ # @method del_fmat(s)
423
+ # @param [FmatT] s
424
+ # @return [nil]
425
+ # @scope class
426
+ attach_function :del_fmat, :del_fmat, [FmatT], :void
427
+
428
+ # (Not documented)
429
+ #
430
+ # @method fmat_get_sample(s, channel, position)
431
+ # @param [FmatT] s
432
+ # @param [Integer] channel
433
+ # @param [Integer] position
434
+ # @return [Float]
435
+ # @scope class
436
+ attach_function :fmat_get_sample, :fmat_get_sample, [FmatT, :uint, :uint], :float
437
+
438
+ # (Not documented)
439
+ #
440
+ # @method fmat_set_sample(s, data, channel, position)
441
+ # @param [FmatT] s
442
+ # @param [Float] data
443
+ # @param [Integer] channel
444
+ # @param [Integer] position
445
+ # @return [nil]
446
+ # @scope class
447
+ attach_function :fmat_set_sample, :fmat_set_sample, [FmatT, :float, :uint, :uint], :void
448
+
449
+ # (Not documented)
450
+ #
451
+ # @method fmat_get_channel(s, channel, output)
452
+ # @param [FmatT] s
453
+ # @param [Integer] channel
454
+ # @param [FvecT] output
455
+ # @return [nil]
456
+ # @scope class
457
+ attach_function :fmat_get_channel, :fmat_get_channel, [FmatT, :uint, FvecT], :void
458
+
459
+ # (Not documented)
460
+ #
461
+ # @method fmat_get_channel_data(s, channel)
462
+ # @param [FmatT] s
463
+ # @param [Integer] channel
464
+ # @return [FFI::Pointer(*SmplT)]
465
+ # @scope class
466
+ attach_function :fmat_get_channel_data, :fmat_get_channel_data, [FmatT, :uint], :pointer
467
+
468
+ # (Not documented)
469
+ #
470
+ # @method fmat_get_data(s)
471
+ # @param [FmatT] s
472
+ # @return [FFI::Pointer(**SmplT)]
473
+ # @scope class
474
+ attach_function :fmat_get_data, :fmat_get_data, [FmatT], :pointer
475
+
476
+ # (Not documented)
477
+ #
478
+ # @method fmat_print(s)
479
+ # @param [FmatT] s
480
+ # @return [nil]
481
+ # @scope class
482
+ attach_function :fmat_print, :fmat_print, [FmatT], :void
483
+
484
+ # (Not documented)
485
+ #
486
+ # @method fmat_set(s, val)
487
+ # @param [FmatT] s
488
+ # @param [Float] val
489
+ # @return [nil]
490
+ # @scope class
491
+ attach_function :fmat_set, :fmat_set, [FmatT, :float], :void
492
+
493
+ # (Not documented)
494
+ #
495
+ # @method fmat_zeros(s)
496
+ # @param [FmatT] s
497
+ # @return [nil]
498
+ # @scope class
499
+ attach_function :fmat_zeros, :fmat_zeros, [FmatT], :void
500
+
501
+ # (Not documented)
502
+ #
503
+ # @method fmat_ones(s)
504
+ # @param [FmatT] s
505
+ # @return [nil]
506
+ # @scope class
507
+ attach_function :fmat_ones, :fmat_ones, [FmatT], :void
508
+
509
+ # (Not documented)
510
+ #
511
+ # @method fmat_rev(s)
512
+ # @param [FmatT] s
513
+ # @return [nil]
514
+ # @scope class
515
+ attach_function :fmat_rev, :fmat_rev, [FmatT], :void
516
+
517
+ # (Not documented)
518
+ #
519
+ # @method fmat_weight(s, weight)
520
+ # @param [FmatT] s
521
+ # @param [FmatT] weight
522
+ # @return [nil]
523
+ # @scope class
524
+ attach_function :fmat_weight, :fmat_weight, [FmatT, FmatT], :void
525
+
526
+ # (Not documented)
527
+ #
528
+ # @method fmat_copy(s, t)
529
+ # @param [FmatT] s
530
+ # @param [FmatT] t
531
+ # @return [nil]
532
+ # @scope class
533
+ attach_function :fmat_copy, :fmat_copy, [FmatT, FmatT], :void
534
+
535
+ # (Not documented)
536
+ #
537
+ # @method fmat_vecmul(s, scale, output)
538
+ # @param [FmatT] s
539
+ # @param [FvecT] scale
540
+ # @param [FvecT] output
541
+ # @return [nil]
542
+ # @scope class
543
+ attach_function :fmat_vecmul, :fmat_vecmul, [FmatT, FvecT, FvecT], :void
544
+
545
+ # (Not documented)
546
+ #
547
+ # @method new_aubio_window(window_type, size)
548
+ # @param [String] window_type
549
+ # @param [Integer] size
550
+ # @return [FvecT]
551
+ # @scope class
552
+ attach_function :new_aubio_window, :new_aubio_window, %i[string uint], FvecT
553
+
554
+ # (Not documented)
555
+ #
556
+ # @method fvec_set_window(window, window_type)
557
+ # @param [FvecT] window
558
+ # @param [String] window_type
559
+ # @return [Integer]
560
+ # @scope class
561
+ attach_function :fvec_set_window, :fvec_set_window, [FvecT, :string], :uint
562
+
563
+ # (Not documented)
564
+ #
565
+ # @method aubio_unwrap2pi(phase)
566
+ # @param [Float] phase
567
+ # @return [Float]
568
+ # @scope class
569
+ attach_function :aubio_unwrap2pi, :aubio_unwrap2pi, [:float], :float
570
+
571
+ # (Not documented)
572
+ #
573
+ # @method aubio_bintomidi(bin, samplerate, fftsize)
574
+ # @param [Float] bin
575
+ # @param [Float] samplerate
576
+ # @param [Float] fftsize
577
+ # @return [Float]
578
+ # @scope class
579
+ attach_function :aubio_bintomidi, :aubio_bintomidi, %i[float float float], :float
580
+
581
+ # (Not documented)
582
+ #
583
+ # @method aubio_miditobin(midi, samplerate, fftsize)
584
+ # @param [Float] midi
585
+ # @param [Float] samplerate
586
+ # @param [Float] fftsize
587
+ # @return [Float]
588
+ # @scope class
589
+ attach_function :aubio_miditobin, :aubio_miditobin, %i[float float float], :float
590
+
591
+ # (Not documented)
592
+ #
593
+ # @method aubio_bintofreq(bin, samplerate, fftsize)
594
+ # @param [Float] bin
595
+ # @param [Float] samplerate
596
+ # @param [Float] fftsize
597
+ # @return [Float]
598
+ # @scope class
599
+ attach_function :aubio_bintofreq, :aubio_bintofreq, %i[float float float], :float
600
+
601
+ # (Not documented)
602
+ #
603
+ # @method aubio_freqtobin(freq, samplerate, fftsize)
604
+ # @param [Float] freq
605
+ # @param [Float] samplerate
606
+ # @param [Float] fftsize
607
+ # @return [Float]
608
+ # @scope class
609
+ attach_function :aubio_freqtobin, :aubio_freqtobin, %i[float float float], :float
610
+
611
+ # (Not documented)
612
+ #
613
+ # @method aubio_freqtomidi(freq)
614
+ # @param [Float] freq
615
+ # @return [Float]
616
+ # @scope class
617
+ attach_function :aubio_freqtomidi, :aubio_freqtomidi, [:float], :float
618
+
619
+ # (Not documented)
620
+ #
621
+ # @method aubio_miditofreq(midi)
622
+ # @param [Float] midi
623
+ # @return [Float]
624
+ # @scope class
625
+ attach_function :aubio_miditofreq, :aubio_miditofreq, [:float], :float
626
+
627
+ # (Not documented)
628
+ #
629
+ # @method aubio_cleanup()
630
+ # @return [nil]
631
+ # @scope class
632
+ attach_function :aubio_cleanup, :aubio_cleanup, [], :void
633
+
634
+ # (Not documented)
635
+ #
636
+ # @method aubio_zero_crossing_rate(v)
637
+ # @param [FvecT] v
638
+ # @return [Float]
639
+ # @scope class
640
+ attach_function :aubio_zero_crossing_rate, :aubio_zero_crossing_rate, [FvecT], :float
641
+
642
+ # (Not documented)
643
+ #
644
+ # @method aubio_level_lin(v)
645
+ # @param [FvecT] v
646
+ # @return [Float]
647
+ # @scope class
648
+ attach_function :aubio_level_lin, :aubio_level_lin, [FvecT], :float
649
+
650
+ # (Not documented)
651
+ #
652
+ # @method aubio_db_spl(v)
653
+ # @param [FvecT] v
654
+ # @return [Float]
655
+ # @scope class
656
+ attach_function :aubio_db_spl, :aubio_db_spl, [FvecT], :float
657
+
658
+ # (Not documented)
659
+ #
660
+ # @method aubio_silence_detection(v, threshold)
661
+ # @param [FvecT] v
662
+ # @param [Float] threshold
663
+ # @return [Integer]
664
+ # @scope class
665
+ attach_function :aubio_silence_detection, :aubio_silence_detection, [FvecT, :float], :uint
666
+
667
+ # (Not documented)
668
+ #
669
+ # @method aubio_level_detection(v, threshold)
670
+ # @param [FvecT] v
671
+ # @param [Float] threshold
672
+ # @return [Float]
673
+ # @scope class
674
+ attach_function :aubio_level_detection, :aubio_level_detection, [FvecT, :float], :float
675
+
676
+ # (Not documented)
677
+ #
678
+ # @method fvec_exp(s)
679
+ # @param [FvecT] s
680
+ # @return [nil]
681
+ # @scope class
682
+ attach_function :fvec_exp, :fvec_exp, [FvecT], :void
683
+
684
+ # (Not documented)
685
+ #
686
+ # @method fvec_cos(s)
687
+ # @param [FvecT] s
688
+ # @return [nil]
689
+ # @scope class
690
+ attach_function :fvec_cos, :fvec_cos, [FvecT], :void
691
+
692
+ # (Not documented)
693
+ #
694
+ # @method fvec_sin(s)
695
+ # @param [FvecT] s
696
+ # @return [nil]
697
+ # @scope class
698
+ attach_function :fvec_sin, :fvec_sin, [FvecT], :void
699
+
700
+ # (Not documented)
701
+ #
702
+ # @method fvec_abs(s)
703
+ # @param [FvecT] s
704
+ # @return [nil]
705
+ # @scope class
706
+ attach_function :fvec_abs, :fvec_abs, [FvecT], :void
707
+
708
+ # (Not documented)
709
+ #
710
+ # @method fvec_sqrt(s)
711
+ # @param [FvecT] s
712
+ # @return [nil]
713
+ # @scope class
714
+ attach_function :fvec_sqrt, :fvec_sqrt, [FvecT], :void
715
+
716
+ # (Not documented)
717
+ #
718
+ # @method fvec_log10(s)
719
+ # @param [FvecT] s
720
+ # @return [nil]
721
+ # @scope class
722
+ attach_function :fvec_log10, :fvec_log10, [FvecT], :void
723
+
724
+ # (Not documented)
725
+ #
726
+ # @method fvec_log(s)
727
+ # @param [FvecT] s
728
+ # @return [nil]
729
+ # @scope class
730
+ attach_function :fvec_log, :fvec_log, [FvecT], :void
731
+
732
+ # (Not documented)
733
+ #
734
+ # @method fvec_floor(s)
735
+ # @param [FvecT] s
736
+ # @return [nil]
737
+ # @scope class
738
+ attach_function :fvec_floor, :fvec_floor, [FvecT], :void
739
+
740
+ # (Not documented)
741
+ #
742
+ # @method fvec_ceil(s)
743
+ # @param [FvecT] s
744
+ # @return [nil]
745
+ # @scope class
746
+ attach_function :fvec_ceil, :fvec_ceil, [FvecT], :void
747
+
748
+ # (Not documented)
749
+ #
750
+ # @method fvec_round(s)
751
+ # @param [FvecT] s
752
+ # @return [nil]
753
+ # @scope class
754
+ attach_function :fvec_round, :fvec_round, [FvecT], :void
755
+
756
+ # (Not documented)
757
+ #
758
+ # @method fvec_pow(s, pow)
759
+ # @param [FvecT] s
760
+ # @param [Float] pow
761
+ # @return [nil]
762
+ # @scope class
763
+ attach_function :fvec_pow, :fvec_pow, [FvecT, :float], :void
764
+
765
+ # (Not documented)
766
+ class AubioResamplerT < FFI::Struct
767
+ layout :dummy, :char
768
+ end
769
+
770
+ # (Not documented)
771
+ #
772
+ # @method new_aubio_resampler(ratio, type)
773
+ # @param [Float] ratio
774
+ # @param [Integer] type
775
+ # @return [AubioResamplerT]
776
+ # @scope class
777
+ attach_function :new_aubio_resampler, :new_aubio_resampler, %i[float uint], AubioResamplerT
778
+
779
+ # (Not documented)
780
+ #
781
+ # @method del_aubio_resampler(s)
782
+ # @param [AubioResamplerT] s
783
+ # @return [nil]
784
+ # @scope class
785
+ attach_function :del_aubio_resampler, :del_aubio_resampler, [AubioResamplerT], :void
786
+
787
+ # (Not documented)
788
+ #
789
+ # @method aubio_resampler_do(s, input, output)
790
+ # @param [AubioResamplerT] s
791
+ # @param [FvecT] input
792
+ # @param [FvecT] output
793
+ # @return [nil]
794
+ # @scope class
795
+ attach_function :aubio_resampler_do, :aubio_resampler_do, [AubioResamplerT, FvecT, FvecT], :void
796
+
797
+ # (Not documented)
798
+ class AubioFilterT < FFI::Struct
799
+ layout :dummy, :char
800
+ end
801
+
802
+ # (Not documented)
803
+ #
804
+ # @method aubio_filter_do(f, in_)
805
+ # @param [AubioFilterT] f
806
+ # @param [FvecT] in_
807
+ # @return [nil]
808
+ # @scope class
809
+ attach_function :aubio_filter_do, :aubio_filter_do, [AubioFilterT, FvecT], :void
810
+
811
+ # (Not documented)
812
+ #
813
+ # @method aubio_filter_do_outplace(f, in_, out)
814
+ # @param [AubioFilterT] f
815
+ # @param [FvecT] in_
816
+ # @param [FvecT] out
817
+ # @return [nil]
818
+ # @scope class
819
+ attach_function :aubio_filter_do_outplace, :aubio_filter_do_outplace, [AubioFilterT, FvecT, FvecT], :void
820
+
821
+ # (Not documented)
822
+ #
823
+ # @method aubio_filter_do_filtfilt(f, in_, tmp)
824
+ # @param [AubioFilterT] f
825
+ # @param [FvecT] in_
826
+ # @param [FvecT] tmp
827
+ # @return [nil]
828
+ # @scope class
829
+ attach_function :aubio_filter_do_filtfilt, :aubio_filter_do_filtfilt, [AubioFilterT, FvecT, FvecT], :void
830
+
831
+ # (Not documented)
832
+ #
833
+ # @method aubio_filter_get_feedback(f)
834
+ # @param [AubioFilterT] f
835
+ # @return [LvecT]
836
+ # @scope class
837
+ attach_function :aubio_filter_get_feedback, :aubio_filter_get_feedback, [AubioFilterT], LvecT
838
+
839
+ # (Not documented)
840
+ #
841
+ # @method aubio_filter_get_feedforward(f)
842
+ # @param [AubioFilterT] f
843
+ # @return [LvecT]
844
+ # @scope class
845
+ attach_function :aubio_filter_get_feedforward, :aubio_filter_get_feedforward, [AubioFilterT], LvecT
846
+
847
+ # (Not documented)
848
+ #
849
+ # @method aubio_filter_get_order(f)
850
+ # @param [AubioFilterT] f
851
+ # @return [Integer]
852
+ # @scope class
853
+ attach_function :aubio_filter_get_order, :aubio_filter_get_order, [AubioFilterT], :uint
854
+
855
+ # (Not documented)
856
+ #
857
+ # @method aubio_filter_get_samplerate(f)
858
+ # @param [AubioFilterT] f
859
+ # @return [Integer]
860
+ # @scope class
861
+ attach_function :aubio_filter_get_samplerate, :aubio_filter_get_samplerate, [AubioFilterT], :uint
862
+
863
+ # (Not documented)
864
+ #
865
+ # @method aubio_filter_set_samplerate(f, samplerate)
866
+ # @param [AubioFilterT] f
867
+ # @param [Integer] samplerate
868
+ # @return [Integer]
869
+ # @scope class
870
+ attach_function :aubio_filter_set_samplerate, :aubio_filter_set_samplerate, [AubioFilterT, :uint], :uint
871
+
872
+ # (Not documented)
873
+ #
874
+ # @method aubio_filter_do_reset(f)
875
+ # @param [AubioFilterT] f
876
+ # @return [nil]
877
+ # @scope class
878
+ attach_function :aubio_filter_do_reset, :aubio_filter_do_reset, [AubioFilterT], :void
879
+
880
+ # (Not documented)
881
+ #
882
+ # @method new_aubio_filter(order)
883
+ # @param [Integer] order
884
+ # @return [AubioFilterT]
885
+ # @scope class
886
+ attach_function :new_aubio_filter, :new_aubio_filter, [:uint], AubioFilterT
887
+
888
+ # (Not documented)
889
+ #
890
+ # @method del_aubio_filter(f)
891
+ # @param [AubioFilterT] f
892
+ # @return [nil]
893
+ # @scope class
894
+ attach_function :del_aubio_filter, :del_aubio_filter, [AubioFilterT], :void
895
+
896
+ # (Not documented)
897
+ #
898
+ # @method aubio_filter_set_biquad(f, b0, b1, b2, a1, a2)
899
+ # @param [AubioFilterT] f
900
+ # @param [Float] b0
901
+ # @param [Float] b1
902
+ # @param [Float] b2
903
+ # @param [Float] a1
904
+ # @param [Float] a2
905
+ # @return [Integer]
906
+ # @scope class
907
+ attach_function :aubio_filter_set_biquad, :aubio_filter_set_biquad, [AubioFilterT, :double, :double, :double, :double, :double], :uint
908
+
909
+ # (Not documented)
910
+ #
911
+ # @method new_aubio_filter_biquad(b0, b1, b2, a1, a2)
912
+ # @param [Float] b0
913
+ # @param [Float] b1
914
+ # @param [Float] b2
915
+ # @param [Float] a1
916
+ # @param [Float] a2
917
+ # @return [AubioFilterT]
918
+ # @scope class
919
+ attach_function :new_aubio_filter_biquad, :new_aubio_filter_biquad, %i[double double double double double], AubioFilterT
920
+
921
+ # (Not documented)
922
+ #
923
+ # @method new_aubio_filter_a_weighting(samplerate)
924
+ # @param [Integer] samplerate
925
+ # @return [AubioFilterT]
926
+ # @scope class
927
+ attach_function :new_aubio_filter_a_weighting, :new_aubio_filter_a_weighting, [:uint], AubioFilterT
928
+
929
+ # (Not documented)
930
+ #
931
+ # @method aubio_filter_set_a_weighting(f, samplerate)
932
+ # @param [AubioFilterT] f
933
+ # @param [Integer] samplerate
934
+ # @return [Integer]
935
+ # @scope class
936
+ attach_function :aubio_filter_set_a_weighting, :aubio_filter_set_a_weighting, [AubioFilterT, :uint], :uint
937
+
938
+ # (Not documented)
939
+ #
940
+ # @method new_aubio_filter_c_weighting(samplerate)
941
+ # @param [Integer] samplerate
942
+ # @return [AubioFilterT]
943
+ # @scope class
944
+ attach_function :new_aubio_filter_c_weighting, :new_aubio_filter_c_weighting, [:uint], AubioFilterT
945
+
946
+ # (Not documented)
947
+ #
948
+ # @method aubio_filter_set_c_weighting(f, samplerate)
949
+ # @param [AubioFilterT] f
950
+ # @param [Integer] samplerate
951
+ # @return [Integer]
952
+ # @scope class
953
+ attach_function :aubio_filter_set_c_weighting, :aubio_filter_set_c_weighting, [AubioFilterT, :uint], :uint
954
+
955
+ # (Not documented)
956
+ class AubioFftT < FFI::Struct
957
+ layout :dummy, :char
958
+ end
959
+
960
+ # (Not documented)
961
+ #
962
+ # @method new_aubio_fft(size)
963
+ # @param [Integer] size
964
+ # @return [AubioFftT]
965
+ # @scope class
966
+ attach_function :new_aubio_fft, :new_aubio_fft, [:uint], AubioFftT
967
+
968
+ # (Not documented)
969
+ #
970
+ # @method del_aubio_fft(s)
971
+ # @param [AubioFftT] s
972
+ # @return [nil]
973
+ # @scope class
974
+ attach_function :del_aubio_fft, :del_aubio_fft, [AubioFftT], :void
975
+
976
+ # (Not documented)
977
+ #
978
+ # @method aubio_fft_do(s, input, spectrum)
979
+ # @param [AubioFftT] s
980
+ # @param [FvecT] input
981
+ # @param [CvecT] spectrum
982
+ # @return [nil]
983
+ # @scope class
984
+ attach_function :aubio_fft_do, :aubio_fft_do, [AubioFftT, FvecT, CvecT], :void
985
+
986
+ # (Not documented)
987
+ #
988
+ # @method aubio_fft_rdo(s, spectrum, output)
989
+ # @param [AubioFftT] s
990
+ # @param [CvecT] spectrum
991
+ # @param [FvecT] output
992
+ # @return [nil]
993
+ # @scope class
994
+ attach_function :aubio_fft_rdo, :aubio_fft_rdo, [AubioFftT, CvecT, FvecT], :void
995
+
996
+ # (Not documented)
997
+ #
998
+ # @method aubio_fft_do_complex(s, input, compspec)
999
+ # @param [AubioFftT] s
1000
+ # @param [FvecT] input
1001
+ # @param [FvecT] compspec
1002
+ # @return [nil]
1003
+ # @scope class
1004
+ attach_function :aubio_fft_do_complex, :aubio_fft_do_complex, [AubioFftT, FvecT, FvecT], :void
1005
+
1006
+ # (Not documented)
1007
+ #
1008
+ # @method aubio_fft_rdo_complex(s, compspec, output)
1009
+ # @param [AubioFftT] s
1010
+ # @param [FvecT] compspec
1011
+ # @param [FvecT] output
1012
+ # @return [nil]
1013
+ # @scope class
1014
+ attach_function :aubio_fft_rdo_complex, :aubio_fft_rdo_complex, [AubioFftT, FvecT, FvecT], :void
1015
+
1016
+ # (Not documented)
1017
+ #
1018
+ # @method aubio_fft_get_spectrum(compspec, spectrum)
1019
+ # @param [FvecT] compspec
1020
+ # @param [CvecT] spectrum
1021
+ # @return [nil]
1022
+ # @scope class
1023
+ attach_function :aubio_fft_get_spectrum, :aubio_fft_get_spectrum, [FvecT, CvecT], :void
1024
+
1025
+ # (Not documented)
1026
+ #
1027
+ # @method aubio_fft_get_realimag(spectrum, compspec)
1028
+ # @param [CvecT] spectrum
1029
+ # @param [FvecT] compspec
1030
+ # @return [nil]
1031
+ # @scope class
1032
+ attach_function :aubio_fft_get_realimag, :aubio_fft_get_realimag, [CvecT, FvecT], :void
1033
+
1034
+ # (Not documented)
1035
+ #
1036
+ # @method aubio_fft_get_phas(compspec, spectrum)
1037
+ # @param [FvecT] compspec
1038
+ # @param [CvecT] spectrum
1039
+ # @return [nil]
1040
+ # @scope class
1041
+ attach_function :aubio_fft_get_phas, :aubio_fft_get_phas, [FvecT, CvecT], :void
1042
+
1043
+ # (Not documented)
1044
+ #
1045
+ # @method aubio_fft_get_imag(spectrum, compspec)
1046
+ # @param [CvecT] spectrum
1047
+ # @param [FvecT] compspec
1048
+ # @return [nil]
1049
+ # @scope class
1050
+ attach_function :aubio_fft_get_imag, :aubio_fft_get_imag, [CvecT, FvecT], :void
1051
+
1052
+ # (Not documented)
1053
+ #
1054
+ # @method aubio_fft_get_norm(compspec, spectrum)
1055
+ # @param [FvecT] compspec
1056
+ # @param [CvecT] spectrum
1057
+ # @return [nil]
1058
+ # @scope class
1059
+ attach_function :aubio_fft_get_norm, :aubio_fft_get_norm, [FvecT, CvecT], :void
1060
+
1061
+ # (Not documented)
1062
+ #
1063
+ # @method aubio_fft_get_real(spectrum, compspec)
1064
+ # @param [CvecT] spectrum
1065
+ # @param [FvecT] compspec
1066
+ # @return [nil]
1067
+ # @scope class
1068
+ attach_function :aubio_fft_get_real, :aubio_fft_get_real, [CvecT, FvecT], :void
1069
+
1070
+ # (Not documented)
1071
+ class AubioPvocT < FFI::Struct
1072
+ layout :dummy, :char
1073
+ end
1074
+
1075
+ # (Not documented)
1076
+ #
1077
+ # @method new_aubio_pvoc(win_s, hop_s)
1078
+ # @param [Integer] win_s
1079
+ # @param [Integer] hop_s
1080
+ # @return [AubioPvocT]
1081
+ # @scope class
1082
+ attach_function :new_aubio_pvoc, :new_aubio_pvoc, %i[uint uint], AubioPvocT
1083
+
1084
+ # (Not documented)
1085
+ #
1086
+ # @method del_aubio_pvoc(pv)
1087
+ # @param [AubioPvocT] pv
1088
+ # @return [nil]
1089
+ # @scope class
1090
+ attach_function :del_aubio_pvoc, :del_aubio_pvoc, [AubioPvocT], :void
1091
+
1092
+ # (Not documented)
1093
+ #
1094
+ # @method aubio_pvoc_do(pv, in_, fftgrain)
1095
+ # @param [AubioPvocT] pv
1096
+ # @param [FvecT] in_
1097
+ # @param [CvecT] fftgrain
1098
+ # @return [nil]
1099
+ # @scope class
1100
+ attach_function :aubio_pvoc_do, :aubio_pvoc_do, [AubioPvocT, FvecT, CvecT], :void
1101
+
1102
+ # (Not documented)
1103
+ #
1104
+ # @method aubio_pvoc_rdo(pv, fftgrain, out)
1105
+ # @param [AubioPvocT] pv
1106
+ # @param [CvecT] fftgrain
1107
+ # @param [FvecT] out
1108
+ # @return [nil]
1109
+ # @scope class
1110
+ attach_function :aubio_pvoc_rdo, :aubio_pvoc_rdo, [AubioPvocT, CvecT, FvecT], :void
1111
+
1112
+ # (Not documented)
1113
+ #
1114
+ # @method aubio_pvoc_get_win(pv)
1115
+ # @param [AubioPvocT] pv
1116
+ # @return [Integer]
1117
+ # @scope class
1118
+ attach_function :aubio_pvoc_get_win, :aubio_pvoc_get_win, [AubioPvocT], :uint
1119
+
1120
+ # (Not documented)
1121
+ #
1122
+ # @method aubio_pvoc_get_hop(pv)
1123
+ # @param [AubioPvocT] pv
1124
+ # @return [Integer]
1125
+ # @scope class
1126
+ attach_function :aubio_pvoc_get_hop, :aubio_pvoc_get_hop, [AubioPvocT], :uint
1127
+
1128
+ # (Not documented)
1129
+ class AubioFilterbankT < FFI::Struct
1130
+ layout :dummy, :char
1131
+ end
1132
+
1133
+ # (Not documented)
1134
+ #
1135
+ # @method new_aubio_filterbank(n_filters, win_s)
1136
+ # @param [Integer] n_filters
1137
+ # @param [Integer] win_s
1138
+ # @return [AubioFilterbankT]
1139
+ # @scope class
1140
+ attach_function :new_aubio_filterbank, :new_aubio_filterbank, %i[uint uint], AubioFilterbankT
1141
+
1142
+ # (Not documented)
1143
+ #
1144
+ # @method del_aubio_filterbank(f)
1145
+ # @param [AubioFilterbankT] f
1146
+ # @return [nil]
1147
+ # @scope class
1148
+ attach_function :del_aubio_filterbank, :del_aubio_filterbank, [AubioFilterbankT], :void
1149
+
1150
+ # (Not documented)
1151
+ #
1152
+ # @method aubio_filterbank_do(f, in_, out)
1153
+ # @param [AubioFilterbankT] f
1154
+ # @param [CvecT] in_
1155
+ # @param [FvecT] out
1156
+ # @return [nil]
1157
+ # @scope class
1158
+ attach_function :aubio_filterbank_do, :aubio_filterbank_do, [AubioFilterbankT, CvecT, FvecT], :void
1159
+
1160
+ # (Not documented)
1161
+ #
1162
+ # @method aubio_filterbank_get_coeffs(f)
1163
+ # @param [AubioFilterbankT] f
1164
+ # @return [FmatT]
1165
+ # @scope class
1166
+ attach_function :aubio_filterbank_get_coeffs, :aubio_filterbank_get_coeffs, [AubioFilterbankT], FmatT
1167
+
1168
+ # (Not documented)
1169
+ #
1170
+ # @method aubio_filterbank_set_coeffs(f, filters)
1171
+ # @param [AubioFilterbankT] f
1172
+ # @param [FmatT] filters
1173
+ # @return [Integer]
1174
+ # @scope class
1175
+ attach_function :aubio_filterbank_set_coeffs, :aubio_filterbank_set_coeffs, [AubioFilterbankT, FmatT], :uint
1176
+
1177
+ # (Not documented)
1178
+ #
1179
+ # @method aubio_filterbank_set_triangle_bands(fb, freqs, samplerate)
1180
+ # @param [AubioFilterbankT] fb
1181
+ # @param [FvecT] freqs
1182
+ # @param [Float] samplerate
1183
+ # @return [Integer]
1184
+ # @scope class
1185
+ attach_function :aubio_filterbank_set_triangle_bands, :aubio_filterbank_set_triangle_bands, [AubioFilterbankT, FvecT, :float], :uint
1186
+
1187
+ # (Not documented)
1188
+ #
1189
+ # @method aubio_filterbank_set_mel_coeffs_slaney(fb, samplerate)
1190
+ # @param [AubioFilterbankT] fb
1191
+ # @param [Float] samplerate
1192
+ # @return [Integer]
1193
+ # @scope class
1194
+ attach_function :aubio_filterbank_set_mel_coeffs_slaney, :aubio_filterbank_set_mel_coeffs_slaney, [AubioFilterbankT, :float], :uint
1195
+
1196
+ # (Not documented)
1197
+ class AubioMfccT < FFI::Struct
1198
+ layout :dummy, :char
1199
+ end
1200
+
1201
+ # (Not documented)
1202
+ #
1203
+ # @method new_aubio_mfcc(buf_size, n_filters, n_coeffs, samplerate)
1204
+ # @param [Integer] buf_size
1205
+ # @param [Integer] n_filters
1206
+ # @param [Integer] n_coeffs
1207
+ # @param [Integer] samplerate
1208
+ # @return [AubioMfccT]
1209
+ # @scope class
1210
+ attach_function :new_aubio_mfcc, :new_aubio_mfcc, %i[uint uint uint uint], AubioMfccT
1211
+
1212
+ # (Not documented)
1213
+ #
1214
+ # @method del_aubio_mfcc(mf)
1215
+ # @param [AubioMfccT] mf
1216
+ # @return [nil]
1217
+ # @scope class
1218
+ attach_function :del_aubio_mfcc, :del_aubio_mfcc, [AubioMfccT], :void
1219
+
1220
+ # (Not documented)
1221
+ #
1222
+ # @method aubio_mfcc_do(mf, in_, out)
1223
+ # @param [AubioMfccT] mf
1224
+ # @param [CvecT] in_
1225
+ # @param [FvecT] out
1226
+ # @return [nil]
1227
+ # @scope class
1228
+ attach_function :aubio_mfcc_do, :aubio_mfcc_do, [AubioMfccT, CvecT, FvecT], :void
1229
+
1230
+ # (Not documented)
1231
+ class AubioSpecdescT < FFI::Struct
1232
+ layout :dummy, :char
1233
+ end
1234
+
1235
+ # (Not documented)
1236
+ #
1237
+ # @method aubio_specdesc_do(o, fftgrain, desc)
1238
+ # @param [AubioSpecdescT] o
1239
+ # @param [CvecT] fftgrain
1240
+ # @param [FvecT] desc
1241
+ # @return [nil]
1242
+ # @scope class
1243
+ attach_function :aubio_specdesc_do, :aubio_specdesc_do, [AubioSpecdescT, CvecT, FvecT], :void
1244
+
1245
+ # (Not documented)
1246
+ #
1247
+ # @method new_aubio_specdesc(method, buf_size)
1248
+ # @param [String] method
1249
+ # @param [Integer] buf_size
1250
+ # @return [AubioSpecdescT]
1251
+ # @scope class
1252
+ attach_function :new_aubio_specdesc, :new_aubio_specdesc, %i[string uint], AubioSpecdescT
1253
+
1254
+ # (Not documented)
1255
+ #
1256
+ # @method del_aubio_specdesc(o)
1257
+ # @param [AubioSpecdescT] o
1258
+ # @return [nil]
1259
+ # @scope class
1260
+ attach_function :del_aubio_specdesc, :del_aubio_specdesc, [AubioSpecdescT], :void
1261
+
1262
+ # (Not documented)
1263
+ class AubioTssT < FFI::Struct
1264
+ layout :dummy, :char
1265
+ end
1266
+
1267
+ # (Not documented)
1268
+ #
1269
+ # @method new_aubio_tss(buf_size, hop_size)
1270
+ # @param [Integer] buf_size
1271
+ # @param [Integer] hop_size
1272
+ # @return [AubioTssT]
1273
+ # @scope class
1274
+ attach_function :new_aubio_tss, :new_aubio_tss, %i[uint uint], AubioTssT
1275
+
1276
+ # (Not documented)
1277
+ #
1278
+ # @method del_aubio_tss(o)
1279
+ # @param [AubioTssT] o
1280
+ # @return [nil]
1281
+ # @scope class
1282
+ attach_function :del_aubio_tss, :del_aubio_tss, [AubioTssT], :void
1283
+
1284
+ # (Not documented)
1285
+ #
1286
+ # @method aubio_tss_do(o, input, trans, stead)
1287
+ # @param [AubioTssT] o
1288
+ # @param [CvecT] input
1289
+ # @param [CvecT] trans
1290
+ # @param [CvecT] stead
1291
+ # @return [nil]
1292
+ # @scope class
1293
+ attach_function :aubio_tss_do, :aubio_tss_do, [AubioTssT, CvecT, CvecT, CvecT], :void
1294
+
1295
+ # (Not documented)
1296
+ #
1297
+ # @method aubio_tss_set_threshold(o, thrs)
1298
+ # @param [AubioTssT] o
1299
+ # @param [Float] thrs
1300
+ # @return [Integer]
1301
+ # @scope class
1302
+ attach_function :aubio_tss_set_threshold, :aubio_tss_set_threshold, [AubioTssT, :float], :uint
1303
+
1304
+ # (Not documented)
1305
+ #
1306
+ # @method aubio_tss_set_alpha(o, alpha)
1307
+ # @param [AubioTssT] o
1308
+ # @param [Float] alpha
1309
+ # @return [Integer]
1310
+ # @scope class
1311
+ attach_function :aubio_tss_set_alpha, :aubio_tss_set_alpha, [AubioTssT, :float], :uint
1312
+
1313
+ # (Not documented)
1314
+ #
1315
+ # @method aubio_tss_set_beta(o, beta)
1316
+ # @param [AubioTssT] o
1317
+ # @param [Float] beta
1318
+ # @return [Integer]
1319
+ # @scope class
1320
+ attach_function :aubio_tss_set_beta, :aubio_tss_set_beta, [AubioTssT, :float], :uint
1321
+
1322
+ # (Not documented)
1323
+ class AubioPitchT < FFI::Struct
1324
+ layout :dummy, :char
1325
+ end
1326
+
1327
+ # (Not documented)
1328
+ #
1329
+ # @method aubio_pitch_do(o, in_, out)
1330
+ # @param [AubioPitchT] o
1331
+ # @param [FvecT] in_
1332
+ # @param [FvecT] out
1333
+ # @return [nil]
1334
+ # @scope class
1335
+ attach_function :aubio_pitch_do, :aubio_pitch_do, [AubioPitchT, FvecT, FvecT], :void
1336
+
1337
+ # (Not documented)
1338
+ #
1339
+ # @method aubio_pitch_set_tolerance(o, tol)
1340
+ # @param [AubioPitchT] o
1341
+ # @param [Float] tol
1342
+ # @return [Integer]
1343
+ # @scope class
1344
+ attach_function :aubio_pitch_set_tolerance, :aubio_pitch_set_tolerance, [AubioPitchT, :float], :uint
1345
+
1346
+ # (Not documented)
1347
+ #
1348
+ # @method aubio_pitch_get_tolerance(o)
1349
+ # @param [AubioPitchT] o
1350
+ # @return [Float]
1351
+ # @scope class
1352
+ attach_function :aubio_pitch_get_tolerance, :aubio_pitch_get_tolerance, [AubioPitchT], :float
1353
+
1354
+ # (Not documented)
1355
+ #
1356
+ # @method del_aubio_pitch(o)
1357
+ # @param [AubioPitchT] o
1358
+ # @return [nil]
1359
+ # @scope class
1360
+ attach_function :del_aubio_pitch, :del_aubio_pitch, [AubioPitchT], :void
1361
+
1362
+ # (Not documented)
1363
+ #
1364
+ # @method new_aubio_pitch(method, buf_size, hop_size, samplerate)
1365
+ # @param [String] method
1366
+ # @param [Integer] buf_size
1367
+ # @param [Integer] hop_size
1368
+ # @param [Integer] samplerate
1369
+ # @return [AubioPitchT]
1370
+ # @scope class
1371
+ attach_function :new_aubio_pitch, :new_aubio_pitch, %i[string uint uint uint], AubioPitchT
1372
+
1373
+ # (Not documented)
1374
+ #
1375
+ # @method aubio_pitch_set_unit(o, mode)
1376
+ # @param [AubioPitchT] o
1377
+ # @param [String] mode
1378
+ # @return [Integer]
1379
+ # @scope class
1380
+ attach_function :aubio_pitch_set_unit, :aubio_pitch_set_unit, [AubioPitchT, :string], :uint
1381
+
1382
+ # (Not documented)
1383
+ #
1384
+ # @method aubio_pitch_set_silence(o, silence)
1385
+ # @param [AubioPitchT] o
1386
+ # @param [Float] silence
1387
+ # @return [Integer]
1388
+ # @scope class
1389
+ attach_function :aubio_pitch_set_silence, :aubio_pitch_set_silence, [AubioPitchT, :float], :uint
1390
+
1391
+ # (Not documented)
1392
+ #
1393
+ # @method aubio_pitch_get_silence(o)
1394
+ # @param [AubioPitchT] o
1395
+ # @return [Float]
1396
+ # @scope class
1397
+ attach_function :aubio_pitch_get_silence, :aubio_pitch_get_silence, [AubioPitchT], :float
1398
+
1399
+ # (Not documented)
1400
+ #
1401
+ # @method aubio_pitch_get_confidence(o)
1402
+ # @param [AubioPitchT] o
1403
+ # @return [Float]
1404
+ # @scope class
1405
+ attach_function :aubio_pitch_get_confidence, :aubio_pitch_get_confidence, [AubioPitchT], :float
1406
+
1407
+ # (Not documented)
1408
+ class AubioOnsetT < FFI::Struct
1409
+ layout :dummy, :char
1410
+ end
1411
+
1412
+ # (Not documented)
1413
+ #
1414
+ # @method new_aubio_onset(method, buf_size, hop_size, samplerate)
1415
+ # @param [String] method
1416
+ # @param [Integer] buf_size
1417
+ # @param [Integer] hop_size
1418
+ # @param [Integer] samplerate
1419
+ # @return [AubioOnsetT]
1420
+ # @scope class
1421
+ attach_function :new_aubio_onset, :new_aubio_onset, %i[string uint uint uint], AubioOnsetT
1422
+
1423
+ # (Not documented)
1424
+ #
1425
+ # @method aubio_onset_do(o, input, onset)
1426
+ # @param [AubioOnsetT] o
1427
+ # @param [FvecT] input
1428
+ # @param [FvecT] onset
1429
+ # @return [nil]
1430
+ # @scope class
1431
+ attach_function :aubio_onset_do, :aubio_onset_do, [AubioOnsetT, FvecT, FvecT], :void
1432
+
1433
+ # (Not documented)
1434
+ #
1435
+ # @method aubio_onset_get_last(o)
1436
+ # @param [AubioOnsetT] o
1437
+ # @return [Integer]
1438
+ # @scope class
1439
+ attach_function :aubio_onset_get_last, :aubio_onset_get_last, [AubioOnsetT], :uint
1440
+
1441
+ # (Not documented)
1442
+ #
1443
+ # @method aubio_onset_get_last_s(o)
1444
+ # @param [AubioOnsetT] o
1445
+ # @return [Float]
1446
+ # @scope class
1447
+ attach_function :aubio_onset_get_last_s, :aubio_onset_get_last_s, [AubioOnsetT], :float
1448
+
1449
+ # (Not documented)
1450
+ #
1451
+ # @method aubio_onset_get_last_ms(o)
1452
+ # @param [AubioOnsetT] o
1453
+ # @return [Float]
1454
+ # @scope class
1455
+ attach_function :aubio_onset_get_last_ms, :aubio_onset_get_last_ms, [AubioOnsetT], :float
1456
+
1457
+ # (Not documented)
1458
+ #
1459
+ # @method aubio_onset_set_silence(o, silence)
1460
+ # @param [AubioOnsetT] o
1461
+ # @param [Float] silence
1462
+ # @return [Integer]
1463
+ # @scope class
1464
+ attach_function :aubio_onset_set_silence, :aubio_onset_set_silence, [AubioOnsetT, :float], :uint
1465
+
1466
+ # (Not documented)
1467
+ #
1468
+ # @method aubio_onset_get_silence(o)
1469
+ # @param [AubioOnsetT] o
1470
+ # @return [Float]
1471
+ # @scope class
1472
+ attach_function :aubio_onset_get_silence, :aubio_onset_get_silence, [AubioOnsetT], :float
1473
+
1474
+ # (Not documented)
1475
+ #
1476
+ # @method aubio_onset_get_descriptor(o)
1477
+ # @param [AubioOnsetT] o
1478
+ # @return [Float]
1479
+ # @scope class
1480
+ attach_function :aubio_onset_get_descriptor, :aubio_onset_get_descriptor, [AubioOnsetT], :float
1481
+
1482
+ # (Not documented)
1483
+ #
1484
+ # @method aubio_onset_get_thresholded_descriptor(o)
1485
+ # @param [AubioOnsetT] o
1486
+ # @return [Float]
1487
+ # @scope class
1488
+ attach_function :aubio_onset_get_thresholded_descriptor, :aubio_onset_get_thresholded_descriptor, [AubioOnsetT], :float
1489
+
1490
+ # (Not documented)
1491
+ #
1492
+ # @method aubio_onset_set_threshold(o, threshold)
1493
+ # @param [AubioOnsetT] o
1494
+ # @param [Float] threshold
1495
+ # @return [Integer]
1496
+ # @scope class
1497
+ attach_function :aubio_onset_set_threshold, :aubio_onset_set_threshold, [AubioOnsetT, :float], :uint
1498
+
1499
+ # (Not documented)
1500
+ #
1501
+ # @method aubio_onset_set_minioi(o, minioi)
1502
+ # @param [AubioOnsetT] o
1503
+ # @param [Integer] minioi
1504
+ # @return [Integer]
1505
+ # @scope class
1506
+ attach_function :aubio_onset_set_minioi, :aubio_onset_set_minioi, [AubioOnsetT, :uint], :uint
1507
+
1508
+ # (Not documented)
1509
+ #
1510
+ # @method aubio_onset_set_minioi_s(o, minioi)
1511
+ # @param [AubioOnsetT] o
1512
+ # @param [Float] minioi
1513
+ # @return [Integer]
1514
+ # @scope class
1515
+ attach_function :aubio_onset_set_minioi_s, :aubio_onset_set_minioi_s, [AubioOnsetT, :float], :uint
1516
+
1517
+ # (Not documented)
1518
+ #
1519
+ # @method aubio_onset_set_minioi_ms(o, minioi)
1520
+ # @param [AubioOnsetT] o
1521
+ # @param [Float] minioi
1522
+ # @return [Integer]
1523
+ # @scope class
1524
+ attach_function :aubio_onset_set_minioi_ms, :aubio_onset_set_minioi_ms, [AubioOnsetT, :float], :uint
1525
+
1526
+ # (Not documented)
1527
+ #
1528
+ # @method aubio_onset_set_delay(o, delay)
1529
+ # @param [AubioOnsetT] o
1530
+ # @param [Integer] delay
1531
+ # @return [Integer]
1532
+ # @scope class
1533
+ attach_function :aubio_onset_set_delay, :aubio_onset_set_delay, [AubioOnsetT, :uint], :uint
1534
+
1535
+ # (Not documented)
1536
+ #
1537
+ # @method aubio_onset_set_delay_s(o, delay)
1538
+ # @param [AubioOnsetT] o
1539
+ # @param [Float] delay
1540
+ # @return [Integer]
1541
+ # @scope class
1542
+ attach_function :aubio_onset_set_delay_s, :aubio_onset_set_delay_s, [AubioOnsetT, :float], :uint
1543
+
1544
+ # (Not documented)
1545
+ #
1546
+ # @method aubio_onset_set_delay_ms(o, delay)
1547
+ # @param [AubioOnsetT] o
1548
+ # @param [Float] delay
1549
+ # @return [Integer]
1550
+ # @scope class
1551
+ attach_function :aubio_onset_set_delay_ms, :aubio_onset_set_delay_ms, [AubioOnsetT, :float], :uint
1552
+
1553
+ # (Not documented)
1554
+ #
1555
+ # @method aubio_onset_get_minioi(o)
1556
+ # @param [AubioOnsetT] o
1557
+ # @return [Integer]
1558
+ # @scope class
1559
+ attach_function :aubio_onset_get_minioi, :aubio_onset_get_minioi, [AubioOnsetT], :uint
1560
+
1561
+ # (Not documented)
1562
+ #
1563
+ # @method aubio_onset_get_minioi_s(o)
1564
+ # @param [AubioOnsetT] o
1565
+ # @return [Float]
1566
+ # @scope class
1567
+ attach_function :aubio_onset_get_minioi_s, :aubio_onset_get_minioi_s, [AubioOnsetT], :float
1568
+
1569
+ # (Not documented)
1570
+ #
1571
+ # @method aubio_onset_get_minioi_ms(o)
1572
+ # @param [AubioOnsetT] o
1573
+ # @return [Float]
1574
+ # @scope class
1575
+ attach_function :aubio_onset_get_minioi_ms, :aubio_onset_get_minioi_ms, [AubioOnsetT], :float
1576
+
1577
+ # (Not documented)
1578
+ #
1579
+ # @method aubio_onset_get_delay(o)
1580
+ # @param [AubioOnsetT] o
1581
+ # @return [Integer]
1582
+ # @scope class
1583
+ attach_function :aubio_onset_get_delay, :aubio_onset_get_delay, [AubioOnsetT], :uint
1584
+
1585
+ # (Not documented)
1586
+ #
1587
+ # @method aubio_onset_get_delay_s(o)
1588
+ # @param [AubioOnsetT] o
1589
+ # @return [Float]
1590
+ # @scope class
1591
+ attach_function :aubio_onset_get_delay_s, :aubio_onset_get_delay_s, [AubioOnsetT], :float
1592
+
1593
+ # (Not documented)
1594
+ #
1595
+ # @method aubio_onset_get_delay_ms(o)
1596
+ # @param [AubioOnsetT] o
1597
+ # @return [Float]
1598
+ # @scope class
1599
+ attach_function :aubio_onset_get_delay_ms, :aubio_onset_get_delay_ms, [AubioOnsetT], :float
1600
+
1601
+ # (Not documented)
1602
+ #
1603
+ # @method aubio_onset_get_threshold(o)
1604
+ # @param [AubioOnsetT] o
1605
+ # @return [Float]
1606
+ # @scope class
1607
+ attach_function :aubio_onset_get_threshold, :aubio_onset_get_threshold, [AubioOnsetT], :float
1608
+
1609
+ # (Not documented)
1610
+ #
1611
+ # @method del_aubio_onset(o)
1612
+ # @param [AubioOnsetT] o
1613
+ # @return [nil]
1614
+ # @scope class
1615
+ attach_function :del_aubio_onset, :del_aubio_onset, [AubioOnsetT], :void
1616
+
1617
+ # (Not documented)
1618
+ class AubioTempoT < FFI::Struct
1619
+ layout :dummy, :char
1620
+ end
1621
+
1622
+ # (Not documented)
1623
+ #
1624
+ # @method new_aubio_tempo(method, buf_size, hop_size, samplerate)
1625
+ # @param [String] method
1626
+ # @param [Integer] buf_size
1627
+ # @param [Integer] hop_size
1628
+ # @param [Integer] samplerate
1629
+ # @return [AubioTempoT]
1630
+ # @scope class
1631
+ attach_function :new_aubio_tempo, :new_aubio_tempo, %i[string uint uint uint], AubioTempoT
1632
+
1633
+ # (Not documented)
1634
+ #
1635
+ # @method aubio_tempo_do(o, input, tempo)
1636
+ # @param [AubioTempoT] o
1637
+ # @param [FvecT] input
1638
+ # @param [FvecT] tempo
1639
+ # @return [nil]
1640
+ # @scope class
1641
+ attach_function :aubio_tempo_do, :aubio_tempo_do, [AubioTempoT, FvecT, FvecT], :void
1642
+
1643
+ # (Not documented)
1644
+ #
1645
+ # @method aubio_tempo_get_last(o)
1646
+ # @param [AubioTempoT] o
1647
+ # @return [Integer]
1648
+ # @scope class
1649
+ attach_function :aubio_tempo_get_last, :aubio_tempo_get_last, [AubioTempoT], :uint
1650
+
1651
+ # (Not documented)
1652
+ #
1653
+ # @method aubio_tempo_get_last_s(o)
1654
+ # @param [AubioTempoT] o
1655
+ # @return [Float]
1656
+ # @scope class
1657
+ attach_function :aubio_tempo_get_last_s, :aubio_tempo_get_last_s, [AubioTempoT], :float
1658
+
1659
+ # (Not documented)
1660
+ #
1661
+ # @method aubio_tempo_get_last_ms(o)
1662
+ # @param [AubioTempoT] o
1663
+ # @return [Float]
1664
+ # @scope class
1665
+ attach_function :aubio_tempo_get_last_ms, :aubio_tempo_get_last_ms, [AubioTempoT], :float
1666
+
1667
+ # (Not documented)
1668
+ #
1669
+ # @method aubio_tempo_set_silence(o, silence)
1670
+ # @param [AubioTempoT] o
1671
+ # @param [Float] silence
1672
+ # @return [Integer]
1673
+ # @scope class
1674
+ attach_function :aubio_tempo_set_silence, :aubio_tempo_set_silence, [AubioTempoT, :float], :uint
1675
+
1676
+ # (Not documented)
1677
+ #
1678
+ # @method aubio_tempo_get_silence(o)
1679
+ # @param [AubioTempoT] o
1680
+ # @return [Float]
1681
+ # @scope class
1682
+ attach_function :aubio_tempo_get_silence, :aubio_tempo_get_silence, [AubioTempoT], :float
1683
+
1684
+ # (Not documented)
1685
+ #
1686
+ # @method aubio_tempo_set_threshold(o, threshold)
1687
+ # @param [AubioTempoT] o
1688
+ # @param [Float] threshold
1689
+ # @return [Integer]
1690
+ # @scope class
1691
+ attach_function :aubio_tempo_set_threshold, :aubio_tempo_set_threshold, [AubioTempoT, :float], :uint
1692
+
1693
+ # (Not documented)
1694
+ #
1695
+ # @method aubio_tempo_get_threshold(o)
1696
+ # @param [AubioTempoT] o
1697
+ # @return [Float]
1698
+ # @scope class
1699
+ attach_function :aubio_tempo_get_threshold, :aubio_tempo_get_threshold, [AubioTempoT], :float
1700
+
1701
+ # (Not documented)
1702
+ #
1703
+ # @method aubio_tempo_get_period(bt)
1704
+ # @param [AubioTempoT] bt
1705
+ # @return [Float]
1706
+ # @scope class
1707
+ attach_function :aubio_tempo_get_period, :aubio_tempo_get_period, [AubioTempoT], :float
1708
+
1709
+ # (Not documented)
1710
+ #
1711
+ # @method aubio_tempo_get_period_s(bt)
1712
+ # @param [AubioTempoT] bt
1713
+ # @return [Float]
1714
+ # @scope class
1715
+ attach_function :aubio_tempo_get_period_s, :aubio_tempo_get_period_s, [AubioTempoT], :float
1716
+
1717
+ # (Not documented)
1718
+ #
1719
+ # @method aubio_tempo_get_bpm(o)
1720
+ # @param [AubioTempoT] o
1721
+ # @return [Float]
1722
+ # @scope class
1723
+ attach_function :aubio_tempo_get_bpm, :aubio_tempo_get_bpm, [AubioTempoT], :float
1724
+
1725
+ # (Not documented)
1726
+ #
1727
+ # @method aubio_tempo_get_confidence(o)
1728
+ # @param [AubioTempoT] o
1729
+ # @return [Float]
1730
+ # @scope class
1731
+ attach_function :aubio_tempo_get_confidence, :aubio_tempo_get_confidence, [AubioTempoT], :float
1732
+
1733
+ # (Not documented)
1734
+ #
1735
+ # @method aubio_tempo_set_tatum_signature(o, signature)
1736
+ # @param [AubioTempoT] o
1737
+ # @param [Integer] signature
1738
+ # @return [Integer]
1739
+ # @scope class
1740
+ attach_function :aubio_tempo_set_tatum_signature, :aubio_tempo_set_tatum_signature, [AubioTempoT, :uint], :uint
1741
+
1742
+ # (Not documented)
1743
+ #
1744
+ # @method aubio_tempo_was_tatum(o)
1745
+ # @param [AubioTempoT] o
1746
+ # @return [Integer]
1747
+ # @scope class
1748
+ attach_function :aubio_tempo_was_tatum, :aubio_tempo_was_tatum, [AubioTempoT], :uint
1749
+
1750
+ # (Not documented)
1751
+ #
1752
+ # @method aubio_tempo_get_last_tatum(o)
1753
+ # @param [AubioTempoT] o
1754
+ # @return [Float]
1755
+ # @scope class
1756
+ attach_function :aubio_tempo_get_last_tatum, :aubio_tempo_get_last_tatum, [AubioTempoT], :float
1757
+
1758
+ # (Not documented)
1759
+ #
1760
+ # @method aubio_tempo_get_delay(o)
1761
+ # @param [AubioTempoT] o
1762
+ # @return [Integer]
1763
+ # @scope class
1764
+ attach_function :aubio_tempo_get_delay, :aubio_tempo_get_delay, [AubioTempoT], :uint
1765
+
1766
+ # (Not documented)
1767
+ #
1768
+ # @method aubio_tempo_get_delay_s(o)
1769
+ # @param [AubioTempoT] o
1770
+ # @return [Float]
1771
+ # @scope class
1772
+ attach_function :aubio_tempo_get_delay_s, :aubio_tempo_get_delay_s, [AubioTempoT], :float
1773
+
1774
+ # (Not documented)
1775
+ #
1776
+ # @method aubio_tempo_get_delay_ms(o)
1777
+ # @param [AubioTempoT] o
1778
+ # @return [Float]
1779
+ # @scope class
1780
+ attach_function :aubio_tempo_get_delay_ms, :aubio_tempo_get_delay_ms, [AubioTempoT], :float
1781
+
1782
+ # (Not documented)
1783
+ #
1784
+ # @method aubio_tempo_set_delay(o, delay)
1785
+ # @param [AubioTempoT] o
1786
+ # @param [Integer] delay
1787
+ # @return [Integer]
1788
+ # @scope class
1789
+ attach_function :aubio_tempo_set_delay, :aubio_tempo_set_delay, [AubioTempoT, :int], :uint
1790
+
1791
+ # (Not documented)
1792
+ #
1793
+ # @method aubio_tempo_set_delay_s(o, delay)
1794
+ # @param [AubioTempoT] o
1795
+ # @param [Float] delay
1796
+ # @return [Integer]
1797
+ # @scope class
1798
+ attach_function :aubio_tempo_set_delay_s, :aubio_tempo_set_delay_s, [AubioTempoT, :float], :uint
1799
+
1800
+ # (Not documented)
1801
+ #
1802
+ # @method aubio_tempo_set_delay_ms(o, delay)
1803
+ # @param [AubioTempoT] o
1804
+ # @param [Float] delay
1805
+ # @return [Integer]
1806
+ # @scope class
1807
+ attach_function :aubio_tempo_set_delay_ms, :aubio_tempo_set_delay_ms, [AubioTempoT, :float], :uint
1808
+
1809
+ # (Not documented)
1810
+ #
1811
+ # @method del_aubio_tempo(o)
1812
+ # @param [AubioTempoT] o
1813
+ # @return [nil]
1814
+ # @scope class
1815
+ attach_function :del_aubio_tempo, :del_aubio_tempo, [AubioTempoT], :void
1816
+
1817
+ # (Not documented)
1818
+ class AubioNotesT < FFI::Struct
1819
+ layout :dummy, :char
1820
+ end
1821
+
1822
+ # (Not documented)
1823
+ #
1824
+ # @method new_aubio_notes(method, buf_size, hop_size, samplerate)
1825
+ # @param [String] method
1826
+ # @param [Integer] buf_size
1827
+ # @param [Integer] hop_size
1828
+ # @param [Integer] samplerate
1829
+ # @return [AubioNotesT]
1830
+ # @scope class
1831
+ attach_function :new_aubio_notes, :new_aubio_notes, %i[string uint uint uint], AubioNotesT
1832
+
1833
+ # (Not documented)
1834
+ #
1835
+ # @method del_aubio_notes(o)
1836
+ # @param [AubioNotesT] o
1837
+ # @return [nil]
1838
+ # @scope class
1839
+ attach_function :del_aubio_notes, :del_aubio_notes, [AubioNotesT], :void
1840
+
1841
+ # (Not documented)
1842
+ #
1843
+ # @method aubio_notes_do(o, input, output)
1844
+ # @param [AubioNotesT] o
1845
+ # @param [FvecT] input
1846
+ # @param [FvecT] output
1847
+ # @return [nil]
1848
+ # @scope class
1849
+ attach_function :aubio_notes_do, :aubio_notes_do, [AubioNotesT, FvecT, FvecT], :void
1850
+
1851
+ # (Not documented)
1852
+ #
1853
+ # @method aubio_notes_set_silence(o, silence)
1854
+ # @param [AubioNotesT] o
1855
+ # @param [Float] silence
1856
+ # @return [Integer]
1857
+ # @scope class
1858
+ attach_function :aubio_notes_set_silence, :aubio_notes_set_silence, [AubioNotesT, :float], :uint
1859
+
1860
+ # (Not documented)
1861
+ #
1862
+ # @method aubio_notes_get_silence(o)
1863
+ # @param [AubioNotesT] o
1864
+ # @return [Float]
1865
+ # @scope class
1866
+ attach_function :aubio_notes_get_silence, :aubio_notes_get_silence, [AubioNotesT], :float
1867
+
1868
+ # (Not documented)
1869
+ #
1870
+ # @method aubio_notes_get_minioi_ms(o)
1871
+ # @param [AubioNotesT] o
1872
+ # @return [Float]
1873
+ # @scope class
1874
+ attach_function :aubio_notes_get_minioi_ms, :aubio_notes_get_minioi_ms, [AubioNotesT], :float
1875
+
1876
+ # (Not documented)
1877
+ #
1878
+ # @method aubio_notes_set_minioi_ms(o, minioi_ms)
1879
+ # @param [AubioNotesT] o
1880
+ # @param [Float] minioi_ms
1881
+ # @return [Integer]
1882
+ # @scope class
1883
+ attach_function :aubio_notes_set_minioi_ms, :aubio_notes_set_minioi_ms, [AubioNotesT, :float], :uint
1884
+
1885
+ # (Not documented)
1886
+ class AubioSourceT < FFI::Struct
1887
+ layout :dummy, :char
1888
+ end
1889
+
1890
+ # (Not documented)
1891
+ #
1892
+ # @method new_aubio_source(uri, samplerate, hop_size)
1893
+ # @param [String] uri
1894
+ # @param [Integer] samplerate
1895
+ # @param [Integer] hop_size
1896
+ # @return [AubioSourceT]
1897
+ # @scope class
1898
+ attach_function :new_aubio_source, :new_aubio_source, %i[string uint uint], AubioSourceT
1899
+
1900
+ # (Not documented)
1901
+ #
1902
+ # @method aubio_source_do(s, read_to, read)
1903
+ # @param [AubioSourceT] s
1904
+ # @param [FvecT] read_to
1905
+ # @param [FFI::Pointer(*UintT)] read
1906
+ # @return [nil]
1907
+ # @scope class
1908
+ attach_function :aubio_source_do, :aubio_source_do, [AubioSourceT, FvecT, :pointer], :void
1909
+
1910
+ # (Not documented)
1911
+ #
1912
+ # @method aubio_source_do_multi(s, read_to, read)
1913
+ # @param [AubioSourceT] s
1914
+ # @param [FmatT] read_to
1915
+ # @param [FFI::Pointer(*UintT)] read
1916
+ # @return [nil]
1917
+ # @scope class
1918
+ attach_function :aubio_source_do_multi, :aubio_source_do_multi, [AubioSourceT, FmatT, :pointer], :void
1919
+
1920
+ # (Not documented)
1921
+ #
1922
+ # @method aubio_source_get_samplerate(s)
1923
+ # @param [AubioSourceT] s
1924
+ # @return [Integer]
1925
+ # @scope class
1926
+ attach_function :aubio_source_get_samplerate, :aubio_source_get_samplerate, [AubioSourceT], :uint
1927
+
1928
+ # (Not documented)
1929
+ #
1930
+ # @method aubio_source_get_channels(s)
1931
+ # @param [AubioSourceT] s
1932
+ # @return [Integer]
1933
+ # @scope class
1934
+ attach_function :aubio_source_get_channels, :aubio_source_get_channels, [AubioSourceT], :uint
1935
+
1936
+ # (Not documented)
1937
+ #
1938
+ # @method aubio_source_seek(s, pos)
1939
+ # @param [AubioSourceT] s
1940
+ # @param [Integer] pos
1941
+ # @return [Integer]
1942
+ # @scope class
1943
+ attach_function :aubio_source_seek, :aubio_source_seek, [AubioSourceT, :uint], :uint
1944
+
1945
+ # (Not documented)
1946
+ #
1947
+ # @method aubio_source_get_duration(s)
1948
+ # @param [AubioSourceT] s
1949
+ # @return [Integer]
1950
+ # @scope class
1951
+ attach_function :aubio_source_get_duration, :aubio_source_get_duration, [AubioSourceT], :uint
1952
+
1953
+ # (Not documented)
1954
+ #
1955
+ # @method aubio_source_close(s)
1956
+ # @param [AubioSourceT] s
1957
+ # @return [Integer]
1958
+ # @scope class
1959
+ attach_function :aubio_source_close, :aubio_source_close, [AubioSourceT], :uint
1960
+
1961
+ # (Not documented)
1962
+ #
1963
+ # @method del_aubio_source(s)
1964
+ # @param [AubioSourceT] s
1965
+ # @return [nil]
1966
+ # @scope class
1967
+ attach_function :del_aubio_source, :del_aubio_source, [AubioSourceT], :void
1968
+
1969
+ # (Not documented)
1970
+ class AubioSinkT < FFI::Struct
1971
+ layout :dummy, :char
1972
+ end
1973
+
1974
+ # (Not documented)
1975
+ #
1976
+ # @method new_aubio_sink(uri, samplerate)
1977
+ # @param [String] uri
1978
+ # @param [Integer] samplerate
1979
+ # @return [AubioSinkT]
1980
+ # @scope class
1981
+ attach_function :new_aubio_sink, :new_aubio_sink, %i[string uint], AubioSinkT
1982
+
1983
+ # (Not documented)
1984
+ #
1985
+ # @method aubio_sink_preset_samplerate(s, samplerate)
1986
+ # @param [AubioSinkT] s
1987
+ # @param [Integer] samplerate
1988
+ # @return [Integer]
1989
+ # @scope class
1990
+ attach_function :aubio_sink_preset_samplerate, :aubio_sink_preset_samplerate, [AubioSinkT, :uint], :uint
1991
+
1992
+ # (Not documented)
1993
+ #
1994
+ # @method aubio_sink_preset_channels(s, channels)
1995
+ # @param [AubioSinkT] s
1996
+ # @param [Integer] channels
1997
+ # @return [Integer]
1998
+ # @scope class
1999
+ attach_function :aubio_sink_preset_channels, :aubio_sink_preset_channels, [AubioSinkT, :uint], :uint
2000
+
2001
+ # (Not documented)
2002
+ #
2003
+ # @method aubio_sink_get_samplerate(s)
2004
+ # @param [AubioSinkT] s
2005
+ # @return [Integer]
2006
+ # @scope class
2007
+ attach_function :aubio_sink_get_samplerate, :aubio_sink_get_samplerate, [AubioSinkT], :uint
2008
+
2009
+ # (Not documented)
2010
+ #
2011
+ # @method aubio_sink_get_channels(s)
2012
+ # @param [AubioSinkT] s
2013
+ # @return [Integer]
2014
+ # @scope class
2015
+ attach_function :aubio_sink_get_channels, :aubio_sink_get_channels, [AubioSinkT], :uint
2016
+
2017
+ # (Not documented)
2018
+ #
2019
+ # @method aubio_sink_do(s, write_data, write)
2020
+ # @param [AubioSinkT] s
2021
+ # @param [FvecT] write_data
2022
+ # @param [Integer] write
2023
+ # @return [nil]
2024
+ # @scope class
2025
+ attach_function :aubio_sink_do, :aubio_sink_do, [AubioSinkT, FvecT, :uint], :void
2026
+
2027
+ # (Not documented)
2028
+ #
2029
+ # @method aubio_sink_do_multi(s, write_data, write)
2030
+ # @param [AubioSinkT] s
2031
+ # @param [FmatT] write_data
2032
+ # @param [Integer] write
2033
+ # @return [nil]
2034
+ # @scope class
2035
+ attach_function :aubio_sink_do_multi, :aubio_sink_do_multi, [AubioSinkT, FmatT, :uint], :void
2036
+
2037
+ # (Not documented)
2038
+ #
2039
+ # @method aubio_sink_close(s)
2040
+ # @param [AubioSinkT] s
2041
+ # @return [Integer]
2042
+ # @scope class
2043
+ attach_function :aubio_sink_close, :aubio_sink_close, [AubioSinkT], :uint
2044
+
2045
+ # (Not documented)
2046
+ #
2047
+ # @method del_aubio_sink(s)
2048
+ # @param [AubioSinkT] s
2049
+ # @return [nil]
2050
+ # @scope class
2051
+ attach_function :del_aubio_sink, :del_aubio_sink, [AubioSinkT], :void
2052
+
2053
+ # (Not documented)
2054
+ class AubioSamplerT < FFI::Struct
2055
+ layout :dummy, :char
2056
+ end
2057
+
2058
+ # (Not documented)
2059
+ #
2060
+ # @method new_aubio_sampler(samplerate, hop_size)
2061
+ # @param [Integer] samplerate
2062
+ # @param [Integer] hop_size
2063
+ # @return [AubioSamplerT]
2064
+ # @scope class
2065
+ attach_function :new_aubio_sampler, :new_aubio_sampler, %i[uint uint], AubioSamplerT
2066
+
2067
+ # (Not documented)
2068
+ #
2069
+ # @method aubio_sampler_load(o, uri)
2070
+ # @param [AubioSamplerT] o
2071
+ # @param [String] uri
2072
+ # @return [Integer]
2073
+ # @scope class
2074
+ attach_function :aubio_sampler_load, :aubio_sampler_load, [AubioSamplerT, :string], :uint
2075
+
2076
+ # (Not documented)
2077
+ #
2078
+ # @method aubio_sampler_do(o, input, output)
2079
+ # @param [AubioSamplerT] o
2080
+ # @param [FvecT] input
2081
+ # @param [FvecT] output
2082
+ # @return [nil]
2083
+ # @scope class
2084
+ attach_function :aubio_sampler_do, :aubio_sampler_do, [AubioSamplerT, FvecT, FvecT], :void
2085
+
2086
+ # (Not documented)
2087
+ #
2088
+ # @method aubio_sampler_do_multi(o, input, output)
2089
+ # @param [AubioSamplerT] o
2090
+ # @param [FmatT] input
2091
+ # @param [FmatT] output
2092
+ # @return [nil]
2093
+ # @scope class
2094
+ attach_function :aubio_sampler_do_multi, :aubio_sampler_do_multi, [AubioSamplerT, FmatT, FmatT], :void
2095
+
2096
+ # (Not documented)
2097
+ #
2098
+ # @method aubio_sampler_get_playing(o)
2099
+ # @param [AubioSamplerT] o
2100
+ # @return [Integer]
2101
+ # @scope class
2102
+ attach_function :aubio_sampler_get_playing, :aubio_sampler_get_playing, [AubioSamplerT], :uint
2103
+
2104
+ # (Not documented)
2105
+ #
2106
+ # @method aubio_sampler_set_playing(o, playing)
2107
+ # @param [AubioSamplerT] o
2108
+ # @param [Integer] playing
2109
+ # @return [Integer]
2110
+ # @scope class
2111
+ attach_function :aubio_sampler_set_playing, :aubio_sampler_set_playing, [AubioSamplerT, :uint], :uint
2112
+
2113
+ # (Not documented)
2114
+ #
2115
+ # @method aubio_sampler_play(o)
2116
+ # @param [AubioSamplerT] o
2117
+ # @return [Integer]
2118
+ # @scope class
2119
+ attach_function :aubio_sampler_play, :aubio_sampler_play, [AubioSamplerT], :uint
2120
+
2121
+ # (Not documented)
2122
+ #
2123
+ # @method aubio_sampler_stop(o)
2124
+ # @param [AubioSamplerT] o
2125
+ # @return [Integer]
2126
+ # @scope class
2127
+ attach_function :aubio_sampler_stop, :aubio_sampler_stop, [AubioSamplerT], :uint
2128
+
2129
+ # (Not documented)
2130
+ #
2131
+ # @method del_aubio_sampler(o)
2132
+ # @param [AubioSamplerT] o
2133
+ # @return [nil]
2134
+ # @scope class
2135
+ attach_function :del_aubio_sampler, :del_aubio_sampler, [AubioSamplerT], :void
2136
+
2137
+ # (Not documented)
2138
+ class AubioWavetableT < FFI::Struct
2139
+ layout :dummy, :char
2140
+ end
2141
+
2142
+ # (Not documented)
2143
+ #
2144
+ # @method new_aubio_wavetable(samplerate, hop_size)
2145
+ # @param [Integer] samplerate
2146
+ # @param [Integer] hop_size
2147
+ # @return [AubioWavetableT]
2148
+ # @scope class
2149
+ attach_function :new_aubio_wavetable, :new_aubio_wavetable, %i[uint uint], AubioWavetableT
2150
+
2151
+ # (Not documented)
2152
+ #
2153
+ # @method aubio_wavetable_load(o, uri)
2154
+ # @param [AubioWavetableT] o
2155
+ # @param [String] uri
2156
+ # @return [Integer]
2157
+ # @scope class
2158
+ attach_function :aubio_wavetable_load, :aubio_wavetable_load, [AubioWavetableT, :string], :uint
2159
+
2160
+ # (Not documented)
2161
+ #
2162
+ # @method aubio_wavetable_do(o, input, output)
2163
+ # @param [AubioWavetableT] o
2164
+ # @param [FvecT] input
2165
+ # @param [FvecT] output
2166
+ # @return [nil]
2167
+ # @scope class
2168
+ attach_function :aubio_wavetable_do, :aubio_wavetable_do, [AubioWavetableT, FvecT, FvecT], :void
2169
+
2170
+ # (Not documented)
2171
+ #
2172
+ # @method aubio_wavetable_do_multi(o, input, output)
2173
+ # @param [AubioWavetableT] o
2174
+ # @param [FmatT] input
2175
+ # @param [FmatT] output
2176
+ # @return [nil]
2177
+ # @scope class
2178
+ attach_function :aubio_wavetable_do_multi, :aubio_wavetable_do_multi, [AubioWavetableT, FmatT, FmatT], :void
2179
+
2180
+ # (Not documented)
2181
+ #
2182
+ # @method aubio_wavetable_get_playing(o)
2183
+ # @param [AubioWavetableT] o
2184
+ # @return [Integer]
2185
+ # @scope class
2186
+ attach_function :aubio_wavetable_get_playing, :aubio_wavetable_get_playing, [AubioWavetableT], :uint
2187
+
2188
+ # (Not documented)
2189
+ #
2190
+ # @method aubio_wavetable_set_playing(o, playing)
2191
+ # @param [AubioWavetableT] o
2192
+ # @param [Integer] playing
2193
+ # @return [Integer]
2194
+ # @scope class
2195
+ attach_function :aubio_wavetable_set_playing, :aubio_wavetable_set_playing, [AubioWavetableT, :uint], :uint
2196
+
2197
+ # (Not documented)
2198
+ #
2199
+ # @method aubio_wavetable_play(o)
2200
+ # @param [AubioWavetableT] o
2201
+ # @return [Integer]
2202
+ # @scope class
2203
+ attach_function :aubio_wavetable_play, :aubio_wavetable_play, [AubioWavetableT], :uint
2204
+
2205
+ # (Not documented)
2206
+ #
2207
+ # @method aubio_wavetable_stop(o)
2208
+ # @param [AubioWavetableT] o
2209
+ # @return [Integer]
2210
+ # @scope class
2211
+ attach_function :aubio_wavetable_stop, :aubio_wavetable_stop, [AubioWavetableT], :uint
2212
+
2213
+ # (Not documented)
2214
+ #
2215
+ # @method aubio_wavetable_set_freq(o, freq)
2216
+ # @param [AubioWavetableT] o
2217
+ # @param [Float] freq
2218
+ # @return [Integer]
2219
+ # @scope class
2220
+ attach_function :aubio_wavetable_set_freq, :aubio_wavetable_set_freq, [AubioWavetableT, :float], :uint
2221
+
2222
+ # (Not documented)
2223
+ #
2224
+ # @method aubio_wavetable_get_freq(o)
2225
+ # @param [AubioWavetableT] o
2226
+ # @return [Float]
2227
+ # @scope class
2228
+ attach_function :aubio_wavetable_get_freq, :aubio_wavetable_get_freq, [AubioWavetableT], :float
2229
+
2230
+ # (Not documented)
2231
+ #
2232
+ # @method aubio_wavetable_set_amp(o, amp)
2233
+ # @param [AubioWavetableT] o
2234
+ # @param [Float] amp
2235
+ # @return [Integer]
2236
+ # @scope class
2237
+ attach_function :aubio_wavetable_set_amp, :aubio_wavetable_set_amp, [AubioWavetableT, :float], :uint
2238
+
2239
+ # (Not documented)
2240
+ #
2241
+ # @method aubio_wavetable_get_amp(o)
2242
+ # @param [AubioWavetableT] o
2243
+ # @return [Float]
2244
+ # @scope class
2245
+ attach_function :aubio_wavetable_get_amp, :aubio_wavetable_get_amp, [AubioWavetableT], :float
2246
+
2247
+ # (Not documented)
2248
+ #
2249
+ # @method del_aubio_wavetable(o)
2250
+ # @param [AubioWavetableT] o
2251
+ # @return [nil]
2252
+ # @scope class
2253
+ attach_function :del_aubio_wavetable, :del_aubio_wavetable, [AubioWavetableT], :void
2254
+
2255
+ # (Not documented)
2256
+ class AubioParameterT < FFI::Struct
2257
+ layout :dummy, :char
2258
+ end
2259
+
2260
+ # (Not documented)
2261
+ #
2262
+ # @method new_aubio_parameter(min_value, max_value, steps)
2263
+ # @param [Float] min_value
2264
+ # @param [Float] max_value
2265
+ # @param [Integer] steps
2266
+ # @return [AubioParameterT]
2267
+ # @scope class
2268
+ attach_function :new_aubio_parameter, :new_aubio_parameter, %i[float float uint], AubioParameterT
2269
+
2270
+ # (Not documented)
2271
+ #
2272
+ # @method aubio_parameter_set_target_value(param, value)
2273
+ # @param [AubioParameterT] param
2274
+ # @param [Float] value
2275
+ # @return [Integer]
2276
+ # @scope class
2277
+ attach_function :aubio_parameter_set_target_value, :aubio_parameter_set_target_value, [AubioParameterT, :float], :uint
2278
+
2279
+ # (Not documented)
2280
+ #
2281
+ # @method aubio_parameter_get_next_value(param)
2282
+ # @param [AubioParameterT] param
2283
+ # @return [Float]
2284
+ # @scope class
2285
+ attach_function :aubio_parameter_get_next_value, :aubio_parameter_get_next_value, [AubioParameterT], :float
2286
+
2287
+ # (Not documented)
2288
+ #
2289
+ # @method aubio_parameter_get_current_value(param)
2290
+ # @param [AubioParameterT] param
2291
+ # @return [Float]
2292
+ # @scope class
2293
+ attach_function :aubio_parameter_get_current_value, :aubio_parameter_get_current_value, [AubioParameterT], :float
2294
+
2295
+ # (Not documented)
2296
+ #
2297
+ # @method aubio_parameter_set_current_value(param, value)
2298
+ # @param [AubioParameterT] param
2299
+ # @param [Float] value
2300
+ # @return [Integer]
2301
+ # @scope class
2302
+ attach_function :aubio_parameter_set_current_value, :aubio_parameter_set_current_value, [AubioParameterT, :float], :uint
2303
+
2304
+ # (Not documented)
2305
+ #
2306
+ # @method aubio_parameter_set_steps(param, steps)
2307
+ # @param [AubioParameterT] param
2308
+ # @param [Integer] steps
2309
+ # @return [Integer]
2310
+ # @scope class
2311
+ attach_function :aubio_parameter_set_steps, :aubio_parameter_set_steps, [AubioParameterT, :uint], :uint
2312
+
2313
+ # (Not documented)
2314
+ #
2315
+ # @method aubio_parameter_get_steps(param)
2316
+ # @param [AubioParameterT] param
2317
+ # @return [Integer]
2318
+ # @scope class
2319
+ attach_function :aubio_parameter_get_steps, :aubio_parameter_get_steps, [AubioParameterT], :uint
2320
+
2321
+ # (Not documented)
2322
+ #
2323
+ # @method aubio_parameter_set_min_value(param, min_value)
2324
+ # @param [AubioParameterT] param
2325
+ # @param [Float] min_value
2326
+ # @return [Integer]
2327
+ # @scope class
2328
+ attach_function :aubio_parameter_set_min_value, :aubio_parameter_set_min_value, [AubioParameterT, :float], :uint
2329
+
2330
+ # (Not documented)
2331
+ #
2332
+ # @method aubio_parameter_get_min_value(param)
2333
+ # @param [AubioParameterT] param
2334
+ # @return [Float]
2335
+ # @scope class
2336
+ attach_function :aubio_parameter_get_min_value, :aubio_parameter_get_min_value, [AubioParameterT], :float
2337
+
2338
+ # (Not documented)
2339
+ #
2340
+ # @method aubio_parameter_set_max_value(param, max_value)
2341
+ # @param [AubioParameterT] param
2342
+ # @param [Float] max_value
2343
+ # @return [Integer]
2344
+ # @scope class
2345
+ attach_function :aubio_parameter_set_max_value, :aubio_parameter_set_max_value, [AubioParameterT, :float], :uint
2346
+
2347
+ # (Not documented)
2348
+ #
2349
+ # @method aubio_parameter_get_max_value(param)
2350
+ # @param [AubioParameterT] param
2351
+ # @return [Float]
2352
+ # @scope class
2353
+ attach_function :aubio_parameter_get_max_value, :aubio_parameter_get_max_value, [AubioParameterT], :float
2354
+
2355
+ # (Not documented)
2356
+ #
2357
+ # @method del_aubio_parameter(param)
2358
+ # @param [AubioParameterT] param
2359
+ # @return [nil]
2360
+ # @scope class
2361
+ attach_function :del_aubio_parameter, :del_aubio_parameter, [AubioParameterT], :void
2362
+
2363
+ # (Not documented)
2364
+ #
2365
+ # <em>This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:aubio_log_level).</em>
2366
+ #
2367
+ # === Options:
2368
+ # :err ::
2369
+ #
2370
+ # :inf ::
2371
+ # < critical errors
2372
+ # :msg ::
2373
+ # < infos
2374
+ # :dbg ::
2375
+ # < general messages
2376
+ # :wrn ::
2377
+ # < debug messages
2378
+ # :last_level ::
2379
+ # < warnings
2380
+ #
2381
+ # @method _enum_aubio_log_level_
2382
+ # @return [Symbol]
2383
+ # @scope class
2384
+ enum :aubio_log_level, [
2385
+ :err, 0,
2386
+ :inf, 1,
2387
+ :msg, 2,
2388
+ :dbg, 3,
2389
+ :wrn, 4,
2390
+ :last_level, 5
2391
+ ]
2392
+
2393
+ # (Not documented)
2394
+ #
2395
+ # <em>This entry is only for documentation and no real method.</em>
2396
+ #
2397
+ # @method _callback_aubio_log_function_t_(level, message, data)
2398
+ # @param [Integer] level
2399
+ # @param [String] message
2400
+ # @param [FFI::Pointer(*Void)] data
2401
+ # @return [Integer]
2402
+ # @scope class
2403
+ callback :aubio_log_function_t, %i[int string pointer], :int
2404
+
2405
+ # (Not documented)
2406
+ #
2407
+ # @method aubio_log_set_function(fun, data)
2408
+ # @param [Proc(_callback_aubio_log_function_t_)] fun
2409
+ # @param [FFI::Pointer(*Void)] data
2410
+ # @return [nil]
2411
+ # @scope class
2412
+ attach_function :aubio_log_set_function, :aubio_log_set_function, %i[aubio_log_function_t pointer], :void
2413
+
2414
+ # (Not documented)
2415
+ #
2416
+ # @method aubio_log_set_level_function(level, fun, data)
2417
+ # @param [Integer] level
2418
+ # @param [Proc(_callback_aubio_log_function_t_)] fun
2419
+ # @param [FFI::Pointer(*Void)] data
2420
+ # @return [Proc(_callback_aubio_log_function_t_)]
2421
+ # @scope class
2422
+ attach_function :aubio_log_set_level_function, :aubio_log_set_level_function, %i[int aubio_log_function_t pointer], :aubio_log_function_t
2423
+
2424
+ # (Not documented)
2425
+ #
2426
+ # @method aubio_log_reset()
2427
+ # @return [nil]
2428
+ # @scope class
2429
+ attach_function :aubio_log_reset, :aubio_log_reset, [], :void
2430
+
2431
+ # (Not documented)
2432
+ class AubioAudioUnitT < FFI::Struct
2433
+ layout :dummy, :char
2434
+ end
2435
+
2436
+ # (Not documented)
2437
+ #
2438
+ # @method new_aubio_audio_unit(samplerate, inchannels, outchannels, blocksize)
2439
+ # @param [Integer] samplerate
2440
+ # @param [Integer] inchannels
2441
+ # @param [Integer] outchannels
2442
+ # @param [Integer] blocksize
2443
+ # @return [AubioAudioUnitT]
2444
+ # @scope class
2445
+ attach_function :new_aubio_audio_unit, :new_aubio_audio_unit, %i[uint uint uint uint], AubioAudioUnitT
2446
+
2447
+ # (Not documented)
2448
+ #
2449
+ # <em>This entry is only for documentation and no real method.</em>
2450
+ #
2451
+ # @method _callback_aubio_device_callback_t_(uint_t, closure, ibuf, obuf)
2452
+ # @param [Integer] uint_t
2453
+ # @param [FFI::Pointer(*Void)] closure
2454
+ # @param [FmatT] ibuf
2455
+ # @param [FmatT] obuf
2456
+ # @return [Integer]
2457
+ # @scope class
2458
+ callback :aubio_device_callback_t, [:uint, :pointer, FmatT, FmatT], :uint
2459
+
2460
+ # (Not documented)
2461
+ #
2462
+ # @method aubio_audio_unit_set_callback(o, callback, closure)
2463
+ # @param [AubioAudioUnitT] o
2464
+ # @param [Proc(_callback_aubio_device_callback_t_)] callback
2465
+ # @param [FFI::Pointer(*Void)] closure
2466
+ # @return [Integer]
2467
+ # @scope class
2468
+ attach_function :aubio_audio_unit_set_callback, :aubio_audio_unit_set_callback, [AubioAudioUnitT, :aubio_device_callback_t, :pointer], :uint
2469
+
2470
+ # (Not documented)
2471
+ #
2472
+ # @method aubio_audio_unit_set_verbose(o, verbose)
2473
+ # @param [AubioAudioUnitT] o
2474
+ # @param [Integer] verbose
2475
+ # @return [Integer]
2476
+ # @scope class
2477
+ attach_function :aubio_audio_unit_set_verbose, :aubio_audio_unit_set_verbose, [AubioAudioUnitT, :uint], :int
2478
+
2479
+ # (Not documented)
2480
+ #
2481
+ # @method aubio_audio_unit_set_preferred_latency(o, latency)
2482
+ # @param [AubioAudioUnitT] o
2483
+ # @param [Float] latency
2484
+ # @return [Integer]
2485
+ # @scope class
2486
+ attach_function :aubio_audio_unit_set_preferred_latency, :aubio_audio_unit_set_preferred_latency, [AubioAudioUnitT, :float], :int
2487
+
2488
+ # (Not documented)
2489
+ #
2490
+ # @method aubio_audio_unit_set_prevent_feedback(o, prevent_feedback)
2491
+ # @param [AubioAudioUnitT] o
2492
+ # @param [Integer] prevent_feedback
2493
+ # @return [Integer]
2494
+ # @scope class
2495
+ attach_function :aubio_audio_unit_set_prevent_feedback, :aubio_audio_unit_set_prevent_feedback, [AubioAudioUnitT, :uint], :int
2496
+
2497
+ # (Not documented)
2498
+ #
2499
+ # @method aubio_audio_unit_get_info(o)
2500
+ # @param [AubioAudioUnitT] o
2501
+ # @return [Integer]
2502
+ # @scope class
2503
+ attach_function :aubio_audio_unit_get_info, :aubio_audio_unit_get_info, [AubioAudioUnitT], :int
2504
+
2505
+ # (Not documented)
2506
+ #
2507
+ # @method aubio_audio_unit_init(o)
2508
+ # @param [AubioAudioUnitT] o
2509
+ # @return [Integer]
2510
+ # @scope class
2511
+ attach_function :aubio_audio_unit_init, :aubio_audio_unit_init, [AubioAudioUnitT], :int
2512
+
2513
+ # (Not documented)
2514
+ #
2515
+ # @method aubio_audio_unit_start(o)
2516
+ # @param [AubioAudioUnitT] o
2517
+ # @return [Integer]
2518
+ # @scope class
2519
+ attach_function :aubio_audio_unit_start, :aubio_audio_unit_start, [AubioAudioUnitT], :int
2520
+
2521
+ # (Not documented)
2522
+ #
2523
+ # @method aubio_audio_unit_stop(o)
2524
+ # @param [AubioAudioUnitT] o
2525
+ # @return [Integer]
2526
+ # @scope class
2527
+ attach_function :aubio_audio_unit_stop, :aubio_audio_unit_stop, [AubioAudioUnitT], :int
2528
+
2529
+ # (Not documented)
2530
+ #
2531
+ # @method del_aubio_audio_unit(o)
2532
+ # @param [AubioAudioUnitT] o
2533
+ # @return [Integer]
2534
+ # @scope class
2535
+ attach_function :del_aubio_audio_unit, :del_aubio_audio_unit, [AubioAudioUnitT], :uint
2536
+
2537
+ # (Not documented)
2538
+ #
2539
+ # @method aubio_io_validate_samplerate(kind, path, samplerate)
2540
+ # @param [String] kind
2541
+ # @param [String] path
2542
+ # @param [Integer] samplerate
2543
+ # @return [Integer]
2544
+ # @scope class
2545
+ attach_function :aubio_io_validate_samplerate, :aubio_io_validate_samplerate, %i[string string uint], :uint
2546
+
2547
+ # (Not documented)
2548
+ #
2549
+ # @method aubio_io_validate_channels(kind, path, channels)
2550
+ # @param [String] kind
2551
+ # @param [String] path
2552
+ # @param [Integer] channels
2553
+ # @return [Integer]
2554
+ # @scope class
2555
+ attach_function :aubio_io_validate_channels, :aubio_io_validate_channels, %i[string string uint], :uint
2556
+
2557
+ # (Not documented)
2558
+ class AubioSinkAppleAudioT < FFI::Struct
2559
+ layout :dummy, :char
2560
+ end
2561
+
2562
+ # (Not documented)
2563
+ #
2564
+ # @method new_aubio_sink_apple_audio(uri, samplerate)
2565
+ # @param [String] uri
2566
+ # @param [Integer] samplerate
2567
+ # @return [AubioSinkAppleAudioT]
2568
+ # @scope class
2569
+ attach_function :new_aubio_sink_apple_audio, :new_aubio_sink_apple_audio, %i[string uint], AubioSinkAppleAudioT
2570
+
2571
+ # (Not documented)
2572
+ #
2573
+ # @method aubio_sink_apple_audio_preset_samplerate(s, samplerate)
2574
+ # @param [AubioSinkAppleAudioT] s
2575
+ # @param [Integer] samplerate
2576
+ # @return [Integer]
2577
+ # @scope class
2578
+ attach_function :aubio_sink_apple_audio_preset_samplerate, :aubio_sink_apple_audio_preset_samplerate, [AubioSinkAppleAudioT, :uint], :uint
2579
+
2580
+ # (Not documented)
2581
+ #
2582
+ # @method aubio_sink_apple_audio_preset_channels(s, channels)
2583
+ # @param [AubioSinkAppleAudioT] s
2584
+ # @param [Integer] channels
2585
+ # @return [Integer]
2586
+ # @scope class
2587
+ attach_function :aubio_sink_apple_audio_preset_channels, :aubio_sink_apple_audio_preset_channels, [AubioSinkAppleAudioT, :uint], :uint
2588
+
2589
+ # (Not documented)
2590
+ #
2591
+ # @method aubio_sink_apple_audio_get_samplerate(s)
2592
+ # @param [AubioSinkAppleAudioT] s
2593
+ # @return [Integer]
2594
+ # @scope class
2595
+ attach_function :aubio_sink_apple_audio_get_samplerate, :aubio_sink_apple_audio_get_samplerate, [AubioSinkAppleAudioT], :uint
2596
+
2597
+ # (Not documented)
2598
+ #
2599
+ # @method aubio_sink_apple_audio_get_channels(s)
2600
+ # @param [AubioSinkAppleAudioT] s
2601
+ # @return [Integer]
2602
+ # @scope class
2603
+ attach_function :aubio_sink_apple_audio_get_channels, :aubio_sink_apple_audio_get_channels, [AubioSinkAppleAudioT], :uint
2604
+
2605
+ # (Not documented)
2606
+ #
2607
+ # @method aubio_sink_apple_audio_do(s, write_data, write)
2608
+ # @param [AubioSinkAppleAudioT] s
2609
+ # @param [FvecT] write_data
2610
+ # @param [Integer] write
2611
+ # @return [nil]
2612
+ # @scope class
2613
+ attach_function :aubio_sink_apple_audio_do, :aubio_sink_apple_audio_do, [AubioSinkAppleAudioT, FvecT, :uint], :void
2614
+
2615
+ # (Not documented)
2616
+ #
2617
+ # @method aubio_sink_apple_audio_do_multi(s, write_data, write)
2618
+ # @param [AubioSinkAppleAudioT] s
2619
+ # @param [FmatT] write_data
2620
+ # @param [Integer] write
2621
+ # @return [nil]
2622
+ # @scope class
2623
+ attach_function :aubio_sink_apple_audio_do_multi, :aubio_sink_apple_audio_do_multi, [AubioSinkAppleAudioT, FmatT, :uint], :void
2624
+
2625
+ # (Not documented)
2626
+ #
2627
+ # @method aubio_sink_apple_audio_close(s)
2628
+ # @param [AubioSinkAppleAudioT] s
2629
+ # @return [Integer]
2630
+ # @scope class
2631
+ attach_function :aubio_sink_apple_audio_close, :aubio_sink_apple_audio_close, [AubioSinkAppleAudioT], :uint
2632
+
2633
+ # (Not documented)
2634
+ #
2635
+ # @method del_aubio_sink_apple_audio(s)
2636
+ # @param [AubioSinkAppleAudioT] s
2637
+ # @return [nil]
2638
+ # @scope class
2639
+ attach_function :del_aubio_sink_apple_audio, :del_aubio_sink_apple_audio, [AubioSinkAppleAudioT], :void
2640
+
2641
+ # (Not documented)
2642
+ class AubioSinkSndfileT < FFI::Struct
2643
+ layout :dummy, :char
2644
+ end
2645
+
2646
+ # (Not documented)
2647
+ #
2648
+ # @method new_aubio_sink_sndfile(uri, samplerate)
2649
+ # @param [String] uri
2650
+ # @param [Integer] samplerate
2651
+ # @return [AubioSinkSndfileT]
2652
+ # @scope class
2653
+ attach_function :new_aubio_sink_sndfile, :new_aubio_sink_sndfile, %i[string uint], AubioSinkSndfileT
2654
+
2655
+ # (Not documented)
2656
+ #
2657
+ # @method aubio_sink_sndfile_preset_samplerate(s, samplerate)
2658
+ # @param [AubioSinkSndfileT] s
2659
+ # @param [Integer] samplerate
2660
+ # @return [Integer]
2661
+ # @scope class
2662
+ attach_function :aubio_sink_sndfile_preset_samplerate, :aubio_sink_sndfile_preset_samplerate, [AubioSinkSndfileT, :uint], :uint
2663
+
2664
+ # (Not documented)
2665
+ #
2666
+ # @method aubio_sink_sndfile_preset_channels(s, channels)
2667
+ # @param [AubioSinkSndfileT] s
2668
+ # @param [Integer] channels
2669
+ # @return [Integer]
2670
+ # @scope class
2671
+ attach_function :aubio_sink_sndfile_preset_channels, :aubio_sink_sndfile_preset_channels, [AubioSinkSndfileT, :uint], :uint
2672
+
2673
+ # (Not documented)
2674
+ #
2675
+ # @method aubio_sink_sndfile_get_samplerate(s)
2676
+ # @param [AubioSinkSndfileT] s
2677
+ # @return [Integer]
2678
+ # @scope class
2679
+ attach_function :aubio_sink_sndfile_get_samplerate, :aubio_sink_sndfile_get_samplerate, [AubioSinkSndfileT], :uint
2680
+
2681
+ # (Not documented)
2682
+ #
2683
+ # @method aubio_sink_sndfile_get_channels(s)
2684
+ # @param [AubioSinkSndfileT] s
2685
+ # @return [Integer]
2686
+ # @scope class
2687
+ attach_function :aubio_sink_sndfile_get_channels, :aubio_sink_sndfile_get_channels, [AubioSinkSndfileT], :uint
2688
+
2689
+ # (Not documented)
2690
+ #
2691
+ # @method aubio_sink_sndfile_do(s, write_data, write)
2692
+ # @param [AubioSinkSndfileT] s
2693
+ # @param [FvecT] write_data
2694
+ # @param [Integer] write
2695
+ # @return [nil]
2696
+ # @scope class
2697
+ attach_function :aubio_sink_sndfile_do, :aubio_sink_sndfile_do, [AubioSinkSndfileT, FvecT, :uint], :void
2698
+
2699
+ # (Not documented)
2700
+ #
2701
+ # @method aubio_sink_sndfile_do_multi(s, write_data, write)
2702
+ # @param [AubioSinkSndfileT] s
2703
+ # @param [FmatT] write_data
2704
+ # @param [Integer] write
2705
+ # @return [nil]
2706
+ # @scope class
2707
+ attach_function :aubio_sink_sndfile_do_multi, :aubio_sink_sndfile_do_multi, [AubioSinkSndfileT, FmatT, :uint], :void
2708
+
2709
+ # (Not documented)
2710
+ #
2711
+ # @method aubio_sink_sndfile_close(s)
2712
+ # @param [AubioSinkSndfileT] s
2713
+ # @return [Integer]
2714
+ # @scope class
2715
+ attach_function :aubio_sink_sndfile_close, :aubio_sink_sndfile_close, [AubioSinkSndfileT], :uint
2716
+
2717
+ # (Not documented)
2718
+ #
2719
+ # @method del_aubio_sink_sndfile(s)
2720
+ # @param [AubioSinkSndfileT] s
2721
+ # @return [nil]
2722
+ # @scope class
2723
+ attach_function :del_aubio_sink_sndfile, :del_aubio_sink_sndfile, [AubioSinkSndfileT], :void
2724
+
2725
+ # (Not documented)
2726
+ class AubioSinkWavwriteT < FFI::Struct
2727
+ layout :dummy, :char
2728
+ end
2729
+
2730
+ # (Not documented)
2731
+ #
2732
+ # @method new_aubio_sink_wavwrite(uri, samplerate)
2733
+ # @param [String] uri
2734
+ # @param [Integer] samplerate
2735
+ # @return [AubioSinkWavwriteT]
2736
+ # @scope class
2737
+ attach_function :new_aubio_sink_wavwrite, :new_aubio_sink_wavwrite, %i[string uint], AubioSinkWavwriteT
2738
+
2739
+ # (Not documented)
2740
+ #
2741
+ # @method aubio_sink_wavwrite_preset_samplerate(s, samplerate)
2742
+ # @param [AubioSinkWavwriteT] s
2743
+ # @param [Integer] samplerate
2744
+ # @return [Integer]
2745
+ # @scope class
2746
+ attach_function :aubio_sink_wavwrite_preset_samplerate, :aubio_sink_wavwrite_preset_samplerate, [AubioSinkWavwriteT, :uint], :uint
2747
+
2748
+ # (Not documented)
2749
+ #
2750
+ # @method aubio_sink_wavwrite_preset_channels(s, channels)
2751
+ # @param [AubioSinkWavwriteT] s
2752
+ # @param [Integer] channels
2753
+ # @return [Integer]
2754
+ # @scope class
2755
+ attach_function :aubio_sink_wavwrite_preset_channels, :aubio_sink_wavwrite_preset_channels, [AubioSinkWavwriteT, :uint], :uint
2756
+
2757
+ # (Not documented)
2758
+ #
2759
+ # @method aubio_sink_wavwrite_get_samplerate(s)
2760
+ # @param [AubioSinkWavwriteT] s
2761
+ # @return [Integer]
2762
+ # @scope class
2763
+ attach_function :aubio_sink_wavwrite_get_samplerate, :aubio_sink_wavwrite_get_samplerate, [AubioSinkWavwriteT], :uint
2764
+
2765
+ # (Not documented)
2766
+ #
2767
+ # @method aubio_sink_wavwrite_get_channels(s)
2768
+ # @param [AubioSinkWavwriteT] s
2769
+ # @return [Integer]
2770
+ # @scope class
2771
+ attach_function :aubio_sink_wavwrite_get_channels, :aubio_sink_wavwrite_get_channels, [AubioSinkWavwriteT], :uint
2772
+
2773
+ # (Not documented)
2774
+ #
2775
+ # @method aubio_sink_wavwrite_do(s, write_data, write)
2776
+ # @param [AubioSinkWavwriteT] s
2777
+ # @param [FvecT] write_data
2778
+ # @param [Integer] write
2779
+ # @return [nil]
2780
+ # @scope class
2781
+ attach_function :aubio_sink_wavwrite_do, :aubio_sink_wavwrite_do, [AubioSinkWavwriteT, FvecT, :uint], :void
2782
+
2783
+ # (Not documented)
2784
+ #
2785
+ # @method aubio_sink_wavwrite_do_multi(s, write_data, write)
2786
+ # @param [AubioSinkWavwriteT] s
2787
+ # @param [FmatT] write_data
2788
+ # @param [Integer] write
2789
+ # @return [nil]
2790
+ # @scope class
2791
+ attach_function :aubio_sink_wavwrite_do_multi, :aubio_sink_wavwrite_do_multi, [AubioSinkWavwriteT, FmatT, :uint], :void
2792
+
2793
+ # (Not documented)
2794
+ #
2795
+ # @method aubio_sink_wavwrite_close(s)
2796
+ # @param [AubioSinkWavwriteT] s
2797
+ # @return [Integer]
2798
+ # @scope class
2799
+ attach_function :aubio_sink_wavwrite_close, :aubio_sink_wavwrite_close, [AubioSinkWavwriteT], :uint
2800
+
2801
+ # (Not documented)
2802
+ #
2803
+ # @method del_aubio_sink_wavwrite(s)
2804
+ # @param [AubioSinkWavwriteT] s
2805
+ # @return [nil]
2806
+ # @scope class
2807
+ attach_function :del_aubio_sink_wavwrite, :del_aubio_sink_wavwrite, [AubioSinkWavwriteT], :void
2808
+
2809
+ # (Not documented)
2810
+ class AubioSourceAppleAudioT < FFI::Struct
2811
+ layout :dummy, :char
2812
+ end
2813
+
2814
+ # (Not documented)
2815
+ #
2816
+ # @method new_aubio_source_apple_audio(uri, samplerate, hop_size)
2817
+ # @param [String] uri
2818
+ # @param [Integer] samplerate
2819
+ # @param [Integer] hop_size
2820
+ # @return [AubioSourceAppleAudioT]
2821
+ # @scope class
2822
+ attach_function :new_aubio_source_apple_audio, :new_aubio_source_apple_audio, %i[string uint uint], AubioSourceAppleAudioT
2823
+
2824
+ # (Not documented)
2825
+ #
2826
+ # @method aubio_source_apple_audio_do(s, read_to, read)
2827
+ # @param [AubioSourceAppleAudioT] s
2828
+ # @param [FvecT] read_to
2829
+ # @param [FFI::Pointer(*UintT)] read
2830
+ # @return [nil]
2831
+ # @scope class
2832
+ attach_function :aubio_source_apple_audio_do, :aubio_source_apple_audio_do, [AubioSourceAppleAudioT, FvecT, :pointer], :void
2833
+
2834
+ # (Not documented)
2835
+ #
2836
+ # @method aubio_source_apple_audio_do_multi(s, read_to, read)
2837
+ # @param [AubioSourceAppleAudioT] s
2838
+ # @param [FmatT] read_to
2839
+ # @param [FFI::Pointer(*UintT)] read
2840
+ # @return [nil]
2841
+ # @scope class
2842
+ attach_function :aubio_source_apple_audio_do_multi, :aubio_source_apple_audio_do_multi, [AubioSourceAppleAudioT, FmatT, :pointer], :void
2843
+
2844
+ # (Not documented)
2845
+ #
2846
+ # @method aubio_source_apple_audio_get_samplerate(s)
2847
+ # @param [AubioSourceAppleAudioT] s
2848
+ # @return [Integer]
2849
+ # @scope class
2850
+ attach_function :aubio_source_apple_audio_get_samplerate, :aubio_source_apple_audio_get_samplerate, [AubioSourceAppleAudioT], :uint
2851
+
2852
+ # (Not documented)
2853
+ #
2854
+ # @method aubio_source_apple_audio_get_channels(s)
2855
+ # @param [AubioSourceAppleAudioT] s
2856
+ # @return [Integer]
2857
+ # @scope class
2858
+ attach_function :aubio_source_apple_audio_get_channels, :aubio_source_apple_audio_get_channels, [AubioSourceAppleAudioT], :uint
2859
+
2860
+ # (Not documented)
2861
+ #
2862
+ # @method aubio_source_apple_audio_get_duration(s)
2863
+ # @param [AubioSourceAppleAudioT] s
2864
+ # @return [Integer]
2865
+ # @scope class
2866
+ attach_function :aubio_source_apple_audio_get_duration, :aubio_source_apple_audio_get_duration, [AubioSourceAppleAudioT], :uint
2867
+
2868
+ # (Not documented)
2869
+ #
2870
+ # @method aubio_source_apple_audio_seek(s, pos)
2871
+ # @param [AubioSourceAppleAudioT] s
2872
+ # @param [Integer] pos
2873
+ # @return [Integer]
2874
+ # @scope class
2875
+ attach_function :aubio_source_apple_audio_seek, :aubio_source_apple_audio_seek, [AubioSourceAppleAudioT, :uint], :uint
2876
+
2877
+ # (Not documented)
2878
+ #
2879
+ # @method aubio_source_apple_audio_close(s)
2880
+ # @param [AubioSourceAppleAudioT] s
2881
+ # @return [Integer]
2882
+ # @scope class
2883
+ attach_function :aubio_source_apple_audio_close, :aubio_source_apple_audio_close, [AubioSourceAppleAudioT], :uint
2884
+
2885
+ # (Not documented)
2886
+ #
2887
+ # @method del_aubio_source_apple_audio(s)
2888
+ # @param [AubioSourceAppleAudioT] s
2889
+ # @return [nil]
2890
+ # @scope class
2891
+ attach_function :del_aubio_source_apple_audio, :del_aubio_source_apple_audio, [AubioSourceAppleAudioT], :void
2892
+
2893
+ # (Not documented)
2894
+ class AubioSourceAvcodecT < FFI::Struct
2895
+ layout :dummy, :char
2896
+ end
2897
+
2898
+ # (Not documented)
2899
+ #
2900
+ # @method new_aubio_source_avcodec(uri, samplerate, hop_size)
2901
+ # @param [String] uri
2902
+ # @param [Integer] samplerate
2903
+ # @param [Integer] hop_size
2904
+ # @return [AubioSourceAvcodecT]
2905
+ # @scope class
2906
+ attach_function :new_aubio_source_avcodec, :new_aubio_source_avcodec, %i[string uint uint], AubioSourceAvcodecT
2907
+
2908
+ # (Not documented)
2909
+ #
2910
+ # @method aubio_source_avcodec_do(s, read_to, read)
2911
+ # @param [AubioSourceAvcodecT] s
2912
+ # @param [FvecT] read_to
2913
+ # @param [FFI::Pointer(*UintT)] read
2914
+ # @return [nil]
2915
+ # @scope class
2916
+ attach_function :aubio_source_avcodec_do, :aubio_source_avcodec_do, [AubioSourceAvcodecT, FvecT, :pointer], :void
2917
+
2918
+ # (Not documented)
2919
+ #
2920
+ # @method aubio_source_avcodec_do_multi(s, read_to, read)
2921
+ # @param [AubioSourceAvcodecT] s
2922
+ # @param [FmatT] read_to
2923
+ # @param [FFI::Pointer(*UintT)] read
2924
+ # @return [nil]
2925
+ # @scope class
2926
+ attach_function :aubio_source_avcodec_do_multi, :aubio_source_avcodec_do_multi, [AubioSourceAvcodecT, FmatT, :pointer], :void
2927
+
2928
+ # (Not documented)
2929
+ #
2930
+ # @method aubio_source_avcodec_get_samplerate(s)
2931
+ # @param [AubioSourceAvcodecT] s
2932
+ # @return [Integer]
2933
+ # @scope class
2934
+ attach_function :aubio_source_avcodec_get_samplerate, :aubio_source_avcodec_get_samplerate, [AubioSourceAvcodecT], :uint
2935
+
2936
+ # (Not documented)
2937
+ #
2938
+ # @method aubio_source_avcodec_get_channels(s)
2939
+ # @param [AubioSourceAvcodecT] s
2940
+ # @return [Integer]
2941
+ # @scope class
2942
+ attach_function :aubio_source_avcodec_get_channels, :aubio_source_avcodec_get_channels, [AubioSourceAvcodecT], :uint
2943
+
2944
+ # (Not documented)
2945
+ #
2946
+ # @method aubio_source_avcodec_seek(s, pos)
2947
+ # @param [AubioSourceAvcodecT] s
2948
+ # @param [Integer] pos
2949
+ # @return [Integer]
2950
+ # @scope class
2951
+ attach_function :aubio_source_avcodec_seek, :aubio_source_avcodec_seek, [AubioSourceAvcodecT, :uint], :uint
2952
+
2953
+ # (Not documented)
2954
+ #
2955
+ # @method aubio_source_avcodec_get_duration(s)
2956
+ # @param [AubioSourceAvcodecT] s
2957
+ # @return [Integer]
2958
+ # @scope class
2959
+ attach_function :aubio_source_avcodec_get_duration, :aubio_source_avcodec_get_duration, [AubioSourceAvcodecT], :uint
2960
+
2961
+ # (Not documented)
2962
+ #
2963
+ # @method aubio_source_avcodec_close(s)
2964
+ # @param [AubioSourceAvcodecT] s
2965
+ # @return [Integer]
2966
+ # @scope class
2967
+ attach_function :aubio_source_avcodec_close, :aubio_source_avcodec_close, [AubioSourceAvcodecT], :uint
2968
+
2969
+ # (Not documented)
2970
+ #
2971
+ # @method del_aubio_source_avcodec(s)
2972
+ # @param [AubioSourceAvcodecT] s
2973
+ # @return [nil]
2974
+ # @scope class
2975
+ attach_function :del_aubio_source_avcodec, :del_aubio_source_avcodec, [AubioSourceAvcodecT], :void
2976
+
2977
+ # (Not documented)
2978
+ class AubioSourceSndfileT < FFI::Struct
2979
+ layout :dummy, :char
2980
+ end
2981
+
2982
+ # (Not documented)
2983
+ #
2984
+ # @method new_aubio_source_sndfile(uri, samplerate, hop_size)
2985
+ # @param [String] uri
2986
+ # @param [Integer] samplerate
2987
+ # @param [Integer] hop_size
2988
+ # @return [AubioSourceSndfileT]
2989
+ # @scope class
2990
+ attach_function :new_aubio_source_sndfile, :new_aubio_source_sndfile, %i[string uint uint], AubioSourceSndfileT
2991
+
2992
+ # (Not documented)
2993
+ #
2994
+ # @method aubio_source_sndfile_do(s, read_to, read)
2995
+ # @param [AubioSourceSndfileT] s
2996
+ # @param [FvecT] read_to
2997
+ # @param [FFI::Pointer(*UintT)] read
2998
+ # @return [nil]
2999
+ # @scope class
3000
+ attach_function :aubio_source_sndfile_do, :aubio_source_sndfile_do, [AubioSourceSndfileT, FvecT, :pointer], :void
3001
+
3002
+ # (Not documented)
3003
+ #
3004
+ # @method aubio_source_sndfile_do_multi(s, read_to, read)
3005
+ # @param [AubioSourceSndfileT] s
3006
+ # @param [FmatT] read_to
3007
+ # @param [FFI::Pointer(*UintT)] read
3008
+ # @return [nil]
3009
+ # @scope class
3010
+ attach_function :aubio_source_sndfile_do_multi, :aubio_source_sndfile_do_multi, [AubioSourceSndfileT, FmatT, :pointer], :void
3011
+
3012
+ # (Not documented)
3013
+ #
3014
+ # @method aubio_source_sndfile_get_samplerate(s)
3015
+ # @param [AubioSourceSndfileT] s
3016
+ # @return [Integer]
3017
+ # @scope class
3018
+ attach_function :aubio_source_sndfile_get_samplerate, :aubio_source_sndfile_get_samplerate, [AubioSourceSndfileT], :uint
3019
+
3020
+ # (Not documented)
3021
+ #
3022
+ # @method aubio_source_sndfile_get_channels(s)
3023
+ # @param [AubioSourceSndfileT] s
3024
+ # @return [Integer]
3025
+ # @scope class
3026
+ attach_function :aubio_source_sndfile_get_channels, :aubio_source_sndfile_get_channels, [AubioSourceSndfileT], :uint
3027
+
3028
+ # (Not documented)
3029
+ #
3030
+ # @method aubio_source_sndfile_seek(s, pos)
3031
+ # @param [AubioSourceSndfileT] s
3032
+ # @param [Integer] pos
3033
+ # @return [Integer]
3034
+ # @scope class
3035
+ attach_function :aubio_source_sndfile_seek, :aubio_source_sndfile_seek, [AubioSourceSndfileT, :uint], :uint
3036
+
3037
+ # (Not documented)
3038
+ #
3039
+ # @method aubio_source_sndfile_get_duration(s)
3040
+ # @param [AubioSourceSndfileT] s
3041
+ # @return [Integer]
3042
+ # @scope class
3043
+ attach_function :aubio_source_sndfile_get_duration, :aubio_source_sndfile_get_duration, [AubioSourceSndfileT], :uint
3044
+
3045
+ # (Not documented)
3046
+ #
3047
+ # @method aubio_source_sndfile_close(s)
3048
+ # @param [AubioSourceSndfileT] s
3049
+ # @return [Integer]
3050
+ # @scope class
3051
+ attach_function :aubio_source_sndfile_close, :aubio_source_sndfile_close, [AubioSourceSndfileT], :uint
3052
+
3053
+ # (Not documented)
3054
+ #
3055
+ # @method del_aubio_source_sndfile(s)
3056
+ # @param [AubioSourceSndfileT] s
3057
+ # @return [nil]
3058
+ # @scope class
3059
+ attach_function :del_aubio_source_sndfile, :del_aubio_source_sndfile, [AubioSourceSndfileT], :void
3060
+
3061
+ # (Not documented)
3062
+ class AubioSourceWavreadT < FFI::Struct
3063
+ layout :dummy, :char
3064
+ end
3065
+
3066
+ # (Not documented)
3067
+ #
3068
+ # @method new_aubio_source_wavread(uri, samplerate, hop_size)
3069
+ # @param [String] uri
3070
+ # @param [Integer] samplerate
3071
+ # @param [Integer] hop_size
3072
+ # @return [AubioSourceWavreadT]
3073
+ # @scope class
3074
+ attach_function :new_aubio_source_wavread, :new_aubio_source_wavread, %i[string uint uint], AubioSourceWavreadT
3075
+
3076
+ # (Not documented)
3077
+ #
3078
+ # @method aubio_source_wavread_do(s, read_to, read)
3079
+ # @param [AubioSourceWavreadT] s
3080
+ # @param [FvecT] read_to
3081
+ # @param [FFI::Pointer(*UintT)] read
3082
+ # @return [nil]
3083
+ # @scope class
3084
+ attach_function :aubio_source_wavread_do, :aubio_source_wavread_do, [AubioSourceWavreadT, FvecT, :pointer], :void
3085
+
3086
+ # (Not documented)
3087
+ #
3088
+ # @method aubio_source_wavread_do_multi(s, read_to, read)
3089
+ # @param [AubioSourceWavreadT] s
3090
+ # @param [FmatT] read_to
3091
+ # @param [FFI::Pointer(*UintT)] read
3092
+ # @return [nil]
3093
+ # @scope class
3094
+ attach_function :aubio_source_wavread_do_multi, :aubio_source_wavread_do_multi, [AubioSourceWavreadT, FmatT, :pointer], :void
3095
+
3096
+ # (Not documented)
3097
+ #
3098
+ # @method aubio_source_wavread_get_samplerate(s)
3099
+ # @param [AubioSourceWavreadT] s
3100
+ # @return [Integer]
3101
+ # @scope class
3102
+ attach_function :aubio_source_wavread_get_samplerate, :aubio_source_wavread_get_samplerate, [AubioSourceWavreadT], :uint
3103
+
3104
+ # (Not documented)
3105
+ #
3106
+ # @method aubio_source_wavread_get_channels(s)
3107
+ # @param [AubioSourceWavreadT] s
3108
+ # @return [Integer]
3109
+ # @scope class
3110
+ attach_function :aubio_source_wavread_get_channels, :aubio_source_wavread_get_channels, [AubioSourceWavreadT], :uint
3111
+
3112
+ # (Not documented)
3113
+ #
3114
+ # @method aubio_source_wavread_seek(s, pos)
3115
+ # @param [AubioSourceWavreadT] s
3116
+ # @param [Integer] pos
3117
+ # @return [Integer]
3118
+ # @scope class
3119
+ attach_function :aubio_source_wavread_seek, :aubio_source_wavread_seek, [AubioSourceWavreadT, :uint], :uint
3120
+
3121
+ # (Not documented)
3122
+ #
3123
+ # @method aubio_source_wavread_get_duration(s)
3124
+ # @param [AubioSourceWavreadT] s
3125
+ # @return [Integer]
3126
+ # @scope class
3127
+ attach_function :aubio_source_wavread_get_duration, :aubio_source_wavread_get_duration, [AubioSourceWavreadT], :uint
3128
+
3129
+ # (Not documented)
3130
+ #
3131
+ # @method aubio_source_wavread_close(s)
3132
+ # @param [AubioSourceWavreadT] s
3133
+ # @return [Integer]
3134
+ # @scope class
3135
+ attach_function :aubio_source_wavread_close, :aubio_source_wavread_close, [AubioSourceWavreadT], :uint
3136
+
3137
+ # (Not documented)
3138
+ #
3139
+ # @method del_aubio_source_wavread(s)
3140
+ # @param [AubioSourceWavreadT] s
3141
+ # @return [nil]
3142
+ # @scope class
3143
+ attach_function :del_aubio_source_wavread, :del_aubio_source_wavread, [AubioSourceWavreadT], :void
3144
+
3145
+ # (Not documented)
3146
+ #
3147
+ # @method fvec_mean(s)
3148
+ # @param [FvecT] s
3149
+ # @return [Float]
3150
+ # @scope class
3151
+ attach_function :fvec_mean, :fvec_mean, [FvecT], :float
3152
+
3153
+ # (Not documented)
3154
+ #
3155
+ # @method fvec_max(s)
3156
+ # @param [FvecT] s
3157
+ # @return [Float]
3158
+ # @scope class
3159
+ attach_function :fvec_max, :fvec_max, [FvecT], :float
3160
+
3161
+ # (Not documented)
3162
+ #
3163
+ # @method fvec_min(s)
3164
+ # @param [FvecT] s
3165
+ # @return [Float]
3166
+ # @scope class
3167
+ attach_function :fvec_min, :fvec_min, [FvecT], :float
3168
+
3169
+ # (Not documented)
3170
+ #
3171
+ # @method fvec_min_elem(s)
3172
+ # @param [FvecT] s
3173
+ # @return [Integer]
3174
+ # @scope class
3175
+ attach_function :fvec_min_elem, :fvec_min_elem, [FvecT], :uint
3176
+
3177
+ # (Not documented)
3178
+ #
3179
+ # @method fvec_max_elem(s)
3180
+ # @param [FvecT] s
3181
+ # @return [Integer]
3182
+ # @scope class
3183
+ attach_function :fvec_max_elem, :fvec_max_elem, [FvecT], :uint
3184
+
3185
+ # (Not documented)
3186
+ #
3187
+ # @method fvec_shift(v)
3188
+ # @param [FvecT] v
3189
+ # @return [nil]
3190
+ # @scope class
3191
+ attach_function :fvec_shift, :fvec_shift, [FvecT], :void
3192
+
3193
+ # (Not documented)
3194
+ #
3195
+ # @method fvec_ishift(v)
3196
+ # @param [FvecT] v
3197
+ # @return [nil]
3198
+ # @scope class
3199
+ attach_function :fvec_ishift, :fvec_ishift, [FvecT], :void
3200
+
3201
+ # (Not documented)
3202
+ #
3203
+ # @method fvec_sum(v)
3204
+ # @param [FvecT] v
3205
+ # @return [Float]
3206
+ # @scope class
3207
+ attach_function :fvec_sum, :fvec_sum, [FvecT], :float
3208
+
3209
+ # (Not documented)
3210
+ #
3211
+ # @method fvec_local_hfc(v)
3212
+ # @param [FvecT] v
3213
+ # @return [Float]
3214
+ # @scope class
3215
+ attach_function :fvec_local_hfc, :fvec_local_hfc, [FvecT], :float
3216
+
3217
+ # (Not documented)
3218
+ #
3219
+ # @method fvec_alpha_norm(v, p)
3220
+ # @param [FvecT] v
3221
+ # @param [Float] p
3222
+ # @return [Float]
3223
+ # @scope class
3224
+ attach_function :fvec_alpha_norm, :fvec_alpha_norm, [FvecT, :float], :float
3225
+
3226
+ # (Not documented)
3227
+ #
3228
+ # @method fvec_alpha_normalise(v, p)
3229
+ # @param [FvecT] v
3230
+ # @param [Float] p
3231
+ # @return [nil]
3232
+ # @scope class
3233
+ attach_function :fvec_alpha_normalise, :fvec_alpha_normalise, [FvecT, :float], :void
3234
+
3235
+ # (Not documented)
3236
+ #
3237
+ # @method fvec_add(v, c)
3238
+ # @param [FvecT] v
3239
+ # @param [Float] c
3240
+ # @return [nil]
3241
+ # @scope class
3242
+ attach_function :fvec_add, :fvec_add, [FvecT, :float], :void
3243
+
3244
+ # (Not documented)
3245
+ #
3246
+ # @method fvec_min_removal(v)
3247
+ # @param [FvecT] v
3248
+ # @return [nil]
3249
+ # @scope class
3250
+ attach_function :fvec_min_removal, :fvec_min_removal, [FvecT], :void
3251
+
3252
+ # (Not documented)
3253
+ #
3254
+ # @method fvec_moving_thres(v, tmp, post, pre, pos)
3255
+ # @param [FvecT] v
3256
+ # @param [FvecT] tmp
3257
+ # @param [Integer] post
3258
+ # @param [Integer] pre
3259
+ # @param [Integer] pos
3260
+ # @return [Float]
3261
+ # @scope class
3262
+ attach_function :fvec_moving_thres, :fvec_moving_thres, [FvecT, FvecT, :uint, :uint, :uint], :float
3263
+
3264
+ # (Not documented)
3265
+ #
3266
+ # @method fvec_adapt_thres(v, tmp, post, pre)
3267
+ # @param [FvecT] v
3268
+ # @param [FvecT] tmp
3269
+ # @param [Integer] post
3270
+ # @param [Integer] pre
3271
+ # @return [nil]
3272
+ # @scope class
3273
+ attach_function :fvec_adapt_thres, :fvec_adapt_thres, [FvecT, FvecT, :uint, :uint], :void
3274
+
3275
+ # (Not documented)
3276
+ #
3277
+ # @method fvec_median(v)
3278
+ # @param [FvecT] v
3279
+ # @return [Float]
3280
+ # @scope class
3281
+ attach_function :fvec_median, :fvec_median, [FvecT], :float
3282
+
3283
+ # (Not documented)
3284
+ #
3285
+ # @method fvec_quadratic_peak_pos(x, p)
3286
+ # @param [FvecT] x
3287
+ # @param [Integer] p
3288
+ # @return [Float]
3289
+ # @scope class
3290
+ attach_function :fvec_quadratic_peak_pos, :fvec_quadratic_peak_pos, [FvecT, :uint], :float
3291
+
3292
+ # (Not documented)
3293
+ #
3294
+ # @method fvec_quadratic_peak_mag(x, p)
3295
+ # @param [FvecT] x
3296
+ # @param [Float] p
3297
+ # @return [Float]
3298
+ # @scope class
3299
+ attach_function :fvec_quadratic_peak_mag, :fvec_quadratic_peak_mag, [FvecT, :float], :float
3300
+
3301
+ # (Not documented)
3302
+ #
3303
+ # @method aubio_quadfrac(s0, s1, s2, pf)
3304
+ # @param [Float] s0
3305
+ # @param [Float] s1
3306
+ # @param [Float] s2
3307
+ # @param [Float] pf
3308
+ # @return [Float]
3309
+ # @scope class
3310
+ attach_function :aubio_quadfrac, :aubio_quadfrac, %i[float float float float], :float
3311
+
3312
+ # (Not documented)
3313
+ #
3314
+ # @method fvec_peakpick(v, p)
3315
+ # @param [FvecT] v
3316
+ # @param [Integer] p
3317
+ # @return [Integer]
3318
+ # @scope class
3319
+ attach_function :fvec_peakpick, :fvec_peakpick, [FvecT, :uint], :uint
3320
+
3321
+ # (Not documented)
3322
+ #
3323
+ # @method aubio_is_power_of_two(a)
3324
+ # @param [Integer] a
3325
+ # @return [Integer]
3326
+ # @scope class
3327
+ attach_function :aubio_is_power_of_two, :aubio_is_power_of_two, [:uint], :uint
3328
+
3329
+ # (Not documented)
3330
+ #
3331
+ # @method aubio_next_power_of_two(a)
3332
+ # @param [Integer] a
3333
+ # @return [Integer]
3334
+ # @scope class
3335
+ attach_function :aubio_next_power_of_two, :aubio_next_power_of_two, [:uint], :uint
3336
+
3337
+ # (Not documented)
3338
+ #
3339
+ # @method aubio_autocorr(input, output)
3340
+ # @param [FvecT] input
3341
+ # @param [FvecT] output
3342
+ # @return [nil]
3343
+ # @scope class
3344
+ attach_function :aubio_autocorr, :aubio_autocorr, [FvecT, FvecT], :void
3345
+
3346
+ # (Not documented)
3347
+ class AubioPeakpickerT < FFI::Struct
3348
+ layout :dummy, :char
3349
+ end
3350
+
3351
+ # (Not documented)
3352
+ #
3353
+ # @method new_aubio_peakpicker()
3354
+ # @return [AubioPeakpickerT]
3355
+ # @scope class
3356
+ attach_function :new_aubio_peakpicker, :new_aubio_peakpicker, [], AubioPeakpickerT
3357
+
3358
+ # (Not documented)
3359
+ #
3360
+ # @method aubio_peakpicker_do(p, in_, out)
3361
+ # @param [AubioPeakpickerT] p
3362
+ # @param [FvecT] in_
3363
+ # @param [FvecT] out
3364
+ # @return [nil]
3365
+ # @scope class
3366
+ attach_function :aubio_peakpicker_do, :aubio_peakpicker_do, [AubioPeakpickerT, FvecT, FvecT], :void
3367
+
3368
+ # (Not documented)
3369
+ #
3370
+ # @method del_aubio_peakpicker(p)
3371
+ # @param [AubioPeakpickerT] p
3372
+ # @return [nil]
3373
+ # @scope class
3374
+ attach_function :del_aubio_peakpicker, :del_aubio_peakpicker, [AubioPeakpickerT], :void
3375
+
3376
+ # (Not documented)
3377
+ #
3378
+ # @method aubio_peakpicker_get_thresholded_input(p)
3379
+ # @param [AubioPeakpickerT] p
3380
+ # @return [FvecT]
3381
+ # @scope class
3382
+ attach_function :aubio_peakpicker_get_thresholded_input, :aubio_peakpicker_get_thresholded_input, [AubioPeakpickerT], FvecT
3383
+
3384
+ # (Not documented)
3385
+ #
3386
+ # @method aubio_peakpicker_set_threshold(p, threshold)
3387
+ # @param [AubioPeakpickerT] p
3388
+ # @param [Float] threshold
3389
+ # @return [Integer]
3390
+ # @scope class
3391
+ attach_function :aubio_peakpicker_set_threshold, :aubio_peakpicker_set_threshold, [AubioPeakpickerT, :float], :uint
3392
+
3393
+ # (Not documented)
3394
+ #
3395
+ # @method aubio_peakpicker_get_threshold(p)
3396
+ # @param [AubioPeakpickerT] p
3397
+ # @return [Float]
3398
+ # @scope class
3399
+ attach_function :aubio_peakpicker_get_threshold, :aubio_peakpicker_get_threshold, [AubioPeakpickerT], :float
3400
+
3401
+ # (Not documented)
3402
+ class AubioPitchfcombT < FFI::Struct
3403
+ layout :dummy, :char
3404
+ end
3405
+
3406
+ # (Not documented)
3407
+ #
3408
+ # @method aubio_pitchfcomb_do(p, input, output)
3409
+ # @param [AubioPitchfcombT] p
3410
+ # @param [FvecT] input
3411
+ # @param [FvecT] output
3412
+ # @return [nil]
3413
+ # @scope class
3414
+ attach_function :aubio_pitchfcomb_do, :aubio_pitchfcomb_do, [AubioPitchfcombT, FvecT, FvecT], :void
3415
+
3416
+ # (Not documented)
3417
+ #
3418
+ # @method new_aubio_pitchfcomb(buf_size, hop_size)
3419
+ # @param [Integer] buf_size
3420
+ # @param [Integer] hop_size
3421
+ # @return [AubioPitchfcombT]
3422
+ # @scope class
3423
+ attach_function :new_aubio_pitchfcomb, :new_aubio_pitchfcomb, %i[uint uint], AubioPitchfcombT
3424
+
3425
+ # (Not documented)
3426
+ #
3427
+ # @method del_aubio_pitchfcomb(p)
3428
+ # @param [AubioPitchfcombT] p
3429
+ # @return [nil]
3430
+ # @scope class
3431
+ attach_function :del_aubio_pitchfcomb, :del_aubio_pitchfcomb, [AubioPitchfcombT], :void
3432
+
3433
+ # (Not documented)
3434
+ class AubioPitchmcombT < FFI::Struct
3435
+ layout :dummy, :char
3436
+ end
3437
+
3438
+ # (Not documented)
3439
+ #
3440
+ # @method aubio_pitchmcomb_do(p, in_fftgrain, out_cands)
3441
+ # @param [AubioPitchmcombT] p
3442
+ # @param [CvecT] in_fftgrain
3443
+ # @param [FvecT] out_cands
3444
+ # @return [nil]
3445
+ # @scope class
3446
+ attach_function :aubio_pitchmcomb_do, :aubio_pitchmcomb_do, [AubioPitchmcombT, CvecT, FvecT], :void
3447
+
3448
+ # (Not documented)
3449
+ #
3450
+ # @method new_aubio_pitchmcomb(buf_size, hop_size)
3451
+ # @param [Integer] buf_size
3452
+ # @param [Integer] hop_size
3453
+ # @return [AubioPitchmcombT]
3454
+ # @scope class
3455
+ attach_function :new_aubio_pitchmcomb, :new_aubio_pitchmcomb, %i[uint uint], AubioPitchmcombT
3456
+
3457
+ # (Not documented)
3458
+ #
3459
+ # @method del_aubio_pitchmcomb(p)
3460
+ # @param [AubioPitchmcombT] p
3461
+ # @return [nil]
3462
+ # @scope class
3463
+ attach_function :del_aubio_pitchmcomb, :del_aubio_pitchmcomb, [AubioPitchmcombT], :void
3464
+
3465
+ # (Not documented)
3466
+ class AubioPitchschmittT < FFI::Struct
3467
+ layout :dummy, :char
3468
+ end
3469
+
3470
+ # (Not documented)
3471
+ #
3472
+ # @method aubio_pitchschmitt_do(p, samples_in, cands_out)
3473
+ # @param [AubioPitchschmittT] p
3474
+ # @param [FvecT] samples_in
3475
+ # @param [FvecT] cands_out
3476
+ # @return [nil]
3477
+ # @scope class
3478
+ attach_function :aubio_pitchschmitt_do, :aubio_pitchschmitt_do, [AubioPitchschmittT, FvecT, FvecT], :void
3479
+
3480
+ # (Not documented)
3481
+ #
3482
+ # @method new_aubio_pitchschmitt(buf_size)
3483
+ # @param [Integer] buf_size
3484
+ # @return [AubioPitchschmittT]
3485
+ # @scope class
3486
+ attach_function :new_aubio_pitchschmitt, :new_aubio_pitchschmitt, [:uint], AubioPitchschmittT
3487
+
3488
+ # (Not documented)
3489
+ #
3490
+ # @method del_aubio_pitchschmitt(p)
3491
+ # @param [AubioPitchschmittT] p
3492
+ # @return [nil]
3493
+ # @scope class
3494
+ attach_function :del_aubio_pitchschmitt, :del_aubio_pitchschmitt, [AubioPitchschmittT], :void
3495
+
3496
+ # (Not documented)
3497
+ class AubioPitchspecacfT < FFI::Struct
3498
+ layout :dummy, :char
3499
+ end
3500
+
3501
+ # (Not documented)
3502
+ #
3503
+ # @method aubio_pitchspecacf_do(o, samples_in, cands_out)
3504
+ # @param [AubioPitchspecacfT] o
3505
+ # @param [FvecT] samples_in
3506
+ # @param [FvecT] cands_out
3507
+ # @return [nil]
3508
+ # @scope class
3509
+ attach_function :aubio_pitchspecacf_do, :aubio_pitchspecacf_do, [AubioPitchspecacfT, FvecT, FvecT], :void
3510
+
3511
+ # (Not documented)
3512
+ #
3513
+ # @method new_aubio_pitchspecacf(buf_size)
3514
+ # @param [Integer] buf_size
3515
+ # @return [AubioPitchspecacfT]
3516
+ # @scope class
3517
+ attach_function :new_aubio_pitchspecacf, :new_aubio_pitchspecacf, [:uint], AubioPitchspecacfT
3518
+
3519
+ # (Not documented)
3520
+ #
3521
+ # @method del_aubio_pitchspecacf(o)
3522
+ # @param [AubioPitchspecacfT] o
3523
+ # @return [nil]
3524
+ # @scope class
3525
+ attach_function :del_aubio_pitchspecacf, :del_aubio_pitchspecacf, [AubioPitchspecacfT], :void
3526
+
3527
+ # (Not documented)
3528
+ #
3529
+ # @method aubio_pitchspecacf_get_tolerance(o)
3530
+ # @param [AubioPitchspecacfT] o
3531
+ # @return [Float]
3532
+ # @scope class
3533
+ attach_function :aubio_pitchspecacf_get_tolerance, :aubio_pitchspecacf_get_tolerance, [AubioPitchspecacfT], :float
3534
+
3535
+ # (Not documented)
3536
+ #
3537
+ # @method aubio_pitchspecacf_set_tolerance(o, tol)
3538
+ # @param [AubioPitchspecacfT] o
3539
+ # @param [Float] tol
3540
+ # @return [Integer]
3541
+ # @scope class
3542
+ attach_function :aubio_pitchspecacf_set_tolerance, :aubio_pitchspecacf_set_tolerance, [AubioPitchspecacfT, :float], :uint
3543
+
3544
+ # (Not documented)
3545
+ #
3546
+ # @method aubio_pitchspecacf_get_confidence(o)
3547
+ # @param [AubioPitchspecacfT] o
3548
+ # @return [Float]
3549
+ # @scope class
3550
+ attach_function :aubio_pitchspecacf_get_confidence, :aubio_pitchspecacf_get_confidence, [AubioPitchspecacfT], :float
3551
+
3552
+ # (Not documented)
3553
+ class AubioPitchyinT < FFI::Struct
3554
+ layout :dummy, :char
3555
+ end
3556
+
3557
+ # (Not documented)
3558
+ #
3559
+ # @method new_aubio_pitchyin(buf_size)
3560
+ # @param [Integer] buf_size
3561
+ # @return [AubioPitchyinT]
3562
+ # @scope class
3563
+ attach_function :new_aubio_pitchyin, :new_aubio_pitchyin, [:uint], AubioPitchyinT
3564
+
3565
+ # (Not documented)
3566
+ #
3567
+ # @method del_aubio_pitchyin(o)
3568
+ # @param [AubioPitchyinT] o
3569
+ # @return [nil]
3570
+ # @scope class
3571
+ attach_function :del_aubio_pitchyin, :del_aubio_pitchyin, [AubioPitchyinT], :void
3572
+
3573
+ # (Not documented)
3574
+ #
3575
+ # @method aubio_pitchyin_do(o, samples_in, cands_out)
3576
+ # @param [AubioPitchyinT] o
3577
+ # @param [FvecT] samples_in
3578
+ # @param [FvecT] cands_out
3579
+ # @return [nil]
3580
+ # @scope class
3581
+ attach_function :aubio_pitchyin_do, :aubio_pitchyin_do, [AubioPitchyinT, FvecT, FvecT], :void
3582
+
3583
+ # (Not documented)
3584
+ #
3585
+ # @method aubio_pitchyin_set_tolerance(o, tol)
3586
+ # @param [AubioPitchyinT] o
3587
+ # @param [Float] tol
3588
+ # @return [Integer]
3589
+ # @scope class
3590
+ attach_function :aubio_pitchyin_set_tolerance, :aubio_pitchyin_set_tolerance, [AubioPitchyinT, :float], :uint
3591
+
3592
+ # (Not documented)
3593
+ #
3594
+ # @method aubio_pitchyin_get_tolerance(o)
3595
+ # @param [AubioPitchyinT] o
3596
+ # @return [Float]
3597
+ # @scope class
3598
+ attach_function :aubio_pitchyin_get_tolerance, :aubio_pitchyin_get_tolerance, [AubioPitchyinT], :float
3599
+
3600
+ # (Not documented)
3601
+ #
3602
+ # @method aubio_pitchyin_get_confidence(o)
3603
+ # @param [AubioPitchyinT] o
3604
+ # @return [Float]
3605
+ # @scope class
3606
+ attach_function :aubio_pitchyin_get_confidence, :aubio_pitchyin_get_confidence, [AubioPitchyinT], :float
3607
+
3608
+ # (Not documented)
3609
+ class AubioPitchyinfftT < FFI::Struct
3610
+ layout :dummy, :char
3611
+ end
3612
+
3613
+ # (Not documented)
3614
+ #
3615
+ # @method aubio_pitchyinfft_do(o, samples_in, cands_out)
3616
+ # @param [AubioPitchyinfftT] o
3617
+ # @param [FvecT] samples_in
3618
+ # @param [FvecT] cands_out
3619
+ # @return [nil]
3620
+ # @scope class
3621
+ attach_function :aubio_pitchyinfft_do, :aubio_pitchyinfft_do, [AubioPitchyinfftT, FvecT, FvecT], :void
3622
+
3623
+ # (Not documented)
3624
+ #
3625
+ # @method new_aubio_pitchyinfft(samplerate, buf_size)
3626
+ # @param [Integer] samplerate
3627
+ # @param [Integer] buf_size
3628
+ # @return [AubioPitchyinfftT]
3629
+ # @scope class
3630
+ attach_function :new_aubio_pitchyinfft, :new_aubio_pitchyinfft, %i[uint uint], AubioPitchyinfftT
3631
+
3632
+ # (Not documented)
3633
+ #
3634
+ # @method del_aubio_pitchyinfft(o)
3635
+ # @param [AubioPitchyinfftT] o
3636
+ # @return [nil]
3637
+ # @scope class
3638
+ attach_function :del_aubio_pitchyinfft, :del_aubio_pitchyinfft, [AubioPitchyinfftT], :void
3639
+
3640
+ # (Not documented)
3641
+ #
3642
+ # @method aubio_pitchyinfft_get_tolerance(o)
3643
+ # @param [AubioPitchyinfftT] o
3644
+ # @return [Float]
3645
+ # @scope class
3646
+ attach_function :aubio_pitchyinfft_get_tolerance, :aubio_pitchyinfft_get_tolerance, [AubioPitchyinfftT], :float
3647
+
3648
+ # (Not documented)
3649
+ #
3650
+ # @method aubio_pitchyinfft_set_tolerance(o, tol)
3651
+ # @param [AubioPitchyinfftT] o
3652
+ # @param [Float] tol
3653
+ # @return [Integer]
3654
+ # @scope class
3655
+ attach_function :aubio_pitchyinfft_set_tolerance, :aubio_pitchyinfft_set_tolerance, [AubioPitchyinfftT, :float], :uint
3656
+
3657
+ # (Not documented)
3658
+ #
3659
+ # @method aubio_pitchyinfft_get_confidence(o)
3660
+ # @param [AubioPitchyinfftT] o
3661
+ # @return [Float]
3662
+ # @scope class
3663
+ attach_function :aubio_pitchyinfft_get_confidence, :aubio_pitchyinfft_get_confidence, [AubioPitchyinfftT], :float
3664
+
3665
+ # (Not documented)
3666
+ class AubioBeattrackingT < FFI::Struct
3667
+ layout :dummy, :char
3668
+ end
3669
+
3670
+ # (Not documented)
3671
+ #
3672
+ # @method new_aubio_beattracking(winlen, hop_size, samplerate)
3673
+ # @param [Integer] winlen
3674
+ # @param [Integer] hop_size
3675
+ # @param [Integer] samplerate
3676
+ # @return [AubioBeattrackingT]
3677
+ # @scope class
3678
+ attach_function :new_aubio_beattracking, :new_aubio_beattracking, %i[uint uint uint], AubioBeattrackingT
3679
+
3680
+ # (Not documented)
3681
+ #
3682
+ # @method aubio_beattracking_do(bt, dfframes, out)
3683
+ # @param [AubioBeattrackingT] bt
3684
+ # @param [FvecT] dfframes
3685
+ # @param [FvecT] out
3686
+ # @return [nil]
3687
+ # @scope class
3688
+ attach_function :aubio_beattracking_do, :aubio_beattracking_do, [AubioBeattrackingT, FvecT, FvecT], :void
3689
+
3690
+ # (Not documented)
3691
+ #
3692
+ # @method aubio_beattracking_get_period(bt)
3693
+ # @param [AubioBeattrackingT] bt
3694
+ # @return [Float]
3695
+ # @scope class
3696
+ attach_function :aubio_beattracking_get_period, :aubio_beattracking_get_period, [AubioBeattrackingT], :float
3697
+
3698
+ # (Not documented)
3699
+ #
3700
+ # @method aubio_beattracking_get_period_s(bt)
3701
+ # @param [AubioBeattrackingT] bt
3702
+ # @return [Float]
3703
+ # @scope class
3704
+ attach_function :aubio_beattracking_get_period_s, :aubio_beattracking_get_period_s, [AubioBeattrackingT], :float
3705
+
3706
+ # (Not documented)
3707
+ #
3708
+ # @method aubio_beattracking_get_bpm(bt)
3709
+ # @param [AubioBeattrackingT] bt
3710
+ # @return [Float]
3711
+ # @scope class
3712
+ attach_function :aubio_beattracking_get_bpm, :aubio_beattracking_get_bpm, [AubioBeattrackingT], :float
3713
+
3714
+ # (Not documented)
3715
+ #
3716
+ # @method aubio_beattracking_get_confidence(bt)
3717
+ # @param [AubioBeattrackingT] bt
3718
+ # @return [Float]
3719
+ # @scope class
3720
+ attach_function :aubio_beattracking_get_confidence, :aubio_beattracking_get_confidence, [AubioBeattrackingT], :float
3721
+
3722
+ # (Not documented)
3723
+ #
3724
+ # @method del_aubio_beattracking(p)
3725
+ # @param [AubioBeattrackingT] p
3726
+ # @return [nil]
3727
+ # @scope class
3728
+ attach_function :del_aubio_beattracking, :del_aubio_beattracking, [AubioBeattrackingT], :void
3729
+
3730
+ # (Not documented)
3731
+ class AubioHistT < FFI::Struct
3732
+ layout :dummy, :char
3733
+ end
3734
+
3735
+ # (Not documented)
3736
+ #
3737
+ # @method new_aubio_hist(flow, fhig, nelems)
3738
+ # @param [Float] flow
3739
+ # @param [Float] fhig
3740
+ # @param [Integer] nelems
3741
+ # @return [AubioHistT]
3742
+ # @scope class
3743
+ attach_function :new_aubio_hist, :new_aubio_hist, %i[float float uint], AubioHistT
3744
+
3745
+ # (Not documented)
3746
+ #
3747
+ # @method del_aubio_hist(s)
3748
+ # @param [AubioHistT] s
3749
+ # @return [nil]
3750
+ # @scope class
3751
+ attach_function :del_aubio_hist, :del_aubio_hist, [AubioHistT], :void
3752
+
3753
+ # (Not documented)
3754
+ #
3755
+ # @method aubio_hist_do(s, input)
3756
+ # @param [AubioHistT] s
3757
+ # @param [FvecT] input
3758
+ # @return [nil]
3759
+ # @scope class
3760
+ attach_function :aubio_hist_do, :aubio_hist_do, [AubioHistT, FvecT], :void
3761
+
3762
+ # (Not documented)
3763
+ #
3764
+ # @method aubio_hist_do_notnull(s, input)
3765
+ # @param [AubioHistT] s
3766
+ # @param [FvecT] input
3767
+ # @return [nil]
3768
+ # @scope class
3769
+ attach_function :aubio_hist_do_notnull, :aubio_hist_do_notnull, [AubioHistT, FvecT], :void
3770
+
3771
+ # (Not documented)
3772
+ #
3773
+ # @method aubio_hist_mean(s)
3774
+ # @param [AubioHistT] s
3775
+ # @return [Float]
3776
+ # @scope class
3777
+ attach_function :aubio_hist_mean, :aubio_hist_mean, [AubioHistT], :float
3778
+
3779
+ # (Not documented)
3780
+ #
3781
+ # @method aubio_hist_weight(s)
3782
+ # @param [AubioHistT] s
3783
+ # @return [nil]
3784
+ # @scope class
3785
+ attach_function :aubio_hist_weight, :aubio_hist_weight, [AubioHistT], :void
3786
+
3787
+ # (Not documented)
3788
+ #
3789
+ # @method aubio_hist_dyn_notnull(s, input)
3790
+ # @param [AubioHistT] s
3791
+ # @param [FvecT] input
3792
+ # @return [nil]
3793
+ # @scope class
3794
+ attach_function :aubio_hist_dyn_notnull, :aubio_hist_dyn_notnull, [AubioHistT, FvecT], :void
3795
+
3796
+ # (Not documented)
3797
+ class AubioScaleT < FFI::Struct
3798
+ layout :dummy, :char
3799
+ end
3800
+
3801
+ # create a scale object
3802
+ #
3803
+ # @method new_aubio_scale(flow, fhig, ilow, ihig)
3804
+ # @param [Float] flow lower value of output function
3805
+ # @param [Float] fhig higher value of output function
3806
+ # @param [Float] ilow lower value of input function
3807
+ # @param [Float] ihig higher value of output function
3808
+ # @return [AubioScaleT]
3809
+ # @scope class
3810
+ attach_function :new_aubio_scale, :new_aubio_scale, %i[float float float float], AubioScaleT
3811
+
3812
+ # delete a scale object
3813
+ #
3814
+ # @method del_aubio_scale(s)
3815
+ # @param [AubioScaleT] s scale object as returned by new_aubio_scale
3816
+ # @return [nil]
3817
+ # @scope class
3818
+ attach_function :del_aubio_scale, :del_aubio_scale, [AubioScaleT], :void
3819
+
3820
+ # scale input vector
3821
+ #
3822
+ # @method aubio_scale_do(s, input)
3823
+ # @param [AubioScaleT] s scale object as returned by new_aubio_scale
3824
+ # @param [FvecT] input vector to scale
3825
+ # @return [nil]
3826
+ # @scope class
3827
+ attach_function :aubio_scale_do, :aubio_scale_do, [AubioScaleT, FvecT], :void
3828
+
3829
+ # modify scale parameters after object creation
3830
+ #
3831
+ # @method aubio_scale_set_limits(s, ilow, ihig, olow, ohig)
3832
+ # @param [AubioScaleT] s scale object as returned by new_aubio_scale
3833
+ # @param [Float] ilow lower value of input function
3834
+ # @param [Float] ihig higher value of output function
3835
+ # @param [Float] olow lower value of output function
3836
+ # @param [Float] ohig higher value of output function
3837
+ # @return [Integer]
3838
+ # @scope class
3839
+ attach_function :aubio_scale_set_limits, :aubio_scale_set_limits, [AubioScaleT, :float, :float, :float, :float], :uint
3840
+ end