@@ -29,27 +29,24 @@ vi.stubGlobal('OfflineAudioContext', MockOfflineAudioContext); // Stub the globa
2929
3030describe ( 'AudioUtils' , ( ) => {
3131 it ( 'all silent' , ( ) => {
32- const silences = findSilences ( new Float32Array ( 100 ) . fill ( 1 ) , - 50 , 100 , 100 ) ;
32+ const silences = findSilences ( new Float32Array ( 100 ) . fill ( 0 ) , - 50 , 100 , 100 ) ;
3333 expect ( silences ) . toEqual ( [ {
3434 start : new Timestamp ( 0 ) ,
3535 stop : new Timestamp ( 100 ) ,
3636 } ] ) ;
3737 } ) ;
3838
3939 it ( 'no silences' , ( ) => {
40- const silences = findSilences ( new Float32Array ( 100 ) . fill ( 0 ) , - 50 , 100 , 100 ) ;
40+ const silences = findSilences ( new Float32Array ( 100 ) . fill ( 1 ) , - 50 , 100 , 100 ) ;
4141 expect ( silences ) . toEqual ( [ ] ) ;
4242 } ) ;
4343
4444 it ( 'find silences correctly' , ( ) => {
4545 const samples = Array . from ( { length : 500 } , ( _ , index ) => index > 300 ? ( index < 400 ? 0 : 1 ) : - 1 ) ;
4646 const silences = findSilences ( new Float32Array ( samples ) , - 50 , 100 , 5000 ) ;
4747 expect ( silences ) . toEqual ( [ {
48- start : new Timestamp ( 0 ) ,
49- stop : new Timestamp ( 3010 ) ,
50- } , {
51- start : new Timestamp ( 4000 ) ,
52- stop : new Timestamp ( 5000 ) ,
48+ start : new Timestamp ( 3010 ) ,
49+ stop : new Timestamp ( 4000 ) ,
5350 } ] ) ;
5451 } ) ;
5552} ) ;
@@ -63,18 +60,32 @@ describe('AudioSource', () => {
6360 } ) ;
6461
6562 it ( 'find silences correctly' , async ( ) => {
63+ const audioBuffer = {
64+ duration : 16 ,
65+ sampleRate : 1000 ,
66+ length : 16000 ,
67+ getChannelData : ( ) => new Float32Array ( 16000 ) . fill ( 0 ) , // Return a dummy Float32Array
68+ } as any as AudioBuffer ;
69+ audioSource . audioBuffer = audioBuffer ;
6670 const silences = await audioSource . silences ( { } ) ;
6771 expect ( silences ) . toEqual ( [ {
6872 start : new Timestamp ( 0 ) ,
69- stop : new Timestamp ( 5000 ) ,
73+ stop : new Timestamp ( 16000 ) ,
7074 } ] ) ;
7175 } ) ;
7276
7377 it ( 'find silences correctly with too high minDuration' , async ( ) => {
78+ const audioBuffer = {
79+ duration : 16 ,
80+ sampleRate : 1000 ,
81+ length : 16000 ,
82+ getChannelData : ( ) => new Float32Array ( 16000 ) . fill ( 0 ) , // Return a dummy Float32Array
83+ } as any as AudioBuffer ;
84+ audioSource . audioBuffer = audioBuffer ;
7485 const silences = await audioSource . silences ( { minDuration : 1e10 } ) ;
7586 expect ( silences ) . toEqual ( [ {
7687 start : new Timestamp ( 0 ) ,
77- stop : new Timestamp ( 5000 ) ,
88+ stop : new Timestamp ( 16000 ) ,
7889 } ] ) ;
7990 } ) ;
8091
0 commit comments