File: test_vad_context.rb

package info (click to toggle)
whisper.cpp 1.8.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 32,228 kB
  • sloc: cpp: 188,765; ansic: 121,729; lisp: 10,221; sh: 4,272; objc: 2,159; ruby: 1,682; python: 1,177; javascript: 594; makefile: 144
file content (50 lines) | stat: -rw-r--r-- 1,253 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
require_relative "helper"

class TestVADContext < TestBase
  def test_initialize
    context = Whisper::VAD::Context.new("silero-v6.2.0")
    assert_instance_of Whisper::VAD::Context, context
  end

  def test_detect
    context = Whisper::VAD::Context.new("silero-v6.2.0")
    segments = context.detect(AUDIO, Whisper::VAD::Params.new)
    assert_instance_of Whisper::VAD::Segments, segments

    i = 0
    segments.each do |segment|
      i += 1
      assert_instance_of Whisper::VAD::Segment, segment
    end
    assert i > 0

    segments.each_with_index do |segment, index|
      assert_instance_of Integer, index
    end

    assert_instance_of Enumerator, segments.each

    segment = segments.each.first
    assert_instance_of Float, segment.start_time
    assert_instance_of Float, segment.end_time

    segment => {start_time:, end_time:}
    assert_equal segment.start_time, start_time
    assert_equal segment.end_time, end_time

    assert_equal 4, segments.length
  end

  def test_invalid_model_type
    assert_raise TypeError do
      Whisper::VAD::Context.new(Object.new)
    end
  end

  def test_allocate
    vad = Whisper::VAD::Context.allocate
    assert_raise do
      vad.detect(AUDIO, Whisper::VAD::Params.new)
    end
  end
end