@@ -77,6 +77,7 @@ describe('audio processor', () => {
7777 const { initProcessor, handleAudioData } = await loadProcessor ( )
7878 initProcessor ( {
7979 getAsrProvider : ( ) => null ,
80+ getASRConfig : ( ) => ( { provider : 'glm' , region : 'cn' , apiKeys : { cn : '' , intl : '' } } ) ,
8081 initializeASRProvider : vi . fn ( ) ,
8182 } )
8283
@@ -105,6 +106,12 @@ describe('audio processor', () => {
105106 const getAsrProvider = vi . fn ( ( ) => ( { transcribe } ) as any )
106107 initProcessor ( {
107108 getAsrProvider,
109+ getASRConfig : ( ) => ( {
110+ provider : 'glm' ,
111+ region : 'cn' ,
112+ apiKeys : { cn : '' , intl : '' } ,
113+ lowVolumeMode : true ,
114+ } ) ,
108115 initializeASRProvider : vi . fn ( ) ,
109116 } )
110117
@@ -115,7 +122,9 @@ describe('audio processor', () => {
115122 await vi . runAllTimersAsync ( )
116123 vi . useRealTimers ( )
117124
118- expect ( mockConvertToMP3 ) . toHaveBeenCalled ( )
125+ expect ( mockConvertToMP3 ) . toHaveBeenCalledWith ( expect . any ( String ) , expect . any ( String ) , {
126+ gainDb : 10 ,
127+ } )
119128 expect ( transcribe ) . toHaveBeenCalled ( )
120129 expect ( mockUpdateSession ) . toHaveBeenCalledWith ( {
121130 transcription : 'hello world' ,
@@ -149,6 +158,7 @@ describe('audio processor', () => {
149158
150159 initProcessor ( {
151160 getAsrProvider : ( ) => ( { transcribe } ) as any ,
161+ getASRConfig : ( ) => ( { provider : 'glm' , region : 'cn' , apiKeys : { cn : '' , intl : '' } } ) ,
152162 initializeASRProvider : vi . fn ( ) ,
153163 } )
154164
@@ -171,6 +181,7 @@ describe('audio processor', () => {
171181
172182 initProcessor ( {
173183 getAsrProvider : ( ) => null ,
184+ getASRConfig : ( ) => ( { provider : 'glm' , region : 'cn' , apiKeys : { cn : '' , intl : '' } } ) ,
174185 initializeASRProvider : vi . fn ( ) ,
175186 } )
176187
@@ -208,6 +219,7 @@ describe('audio processor', () => {
208219
209220 initProcessor ( {
210221 getAsrProvider : ( ) => ( { transcribe } ) as any ,
222+ getASRConfig : ( ) => ( { provider : 'glm' , region : 'cn' , apiKeys : { cn : '' , intl : '' } } ) ,
211223 initializeASRProvider : vi . fn ( ) ,
212224 getLlmProvider : ( ) =>
213225 ( {
@@ -248,6 +260,7 @@ describe('audio processor', () => {
248260
249261 initProcessor ( {
250262 getAsrProvider : ( ) => ( { transcribe } ) as any ,
263+ getASRConfig : ( ) => ( { provider : 'glm' , region : 'cn' , apiKeys : { cn : '' , intl : '' } } ) ,
251264 initializeASRProvider : vi . fn ( ) ,
252265 getLlmProvider : ( ) =>
253266 ( {
@@ -267,4 +280,71 @@ describe('audio processor', () => {
267280 } )
268281 expect ( mockInjectText ) . toHaveBeenCalledWith ( 'raw text' )
269282 } )
283+
284+ it ( 'does not apply gain when low volume mode is disabled' , async ( ) => {
285+ const { initProcessor, handleAudioData } = await loadProcessor ( )
286+ const session = {
287+ id : 'session-1' ,
288+ startTime : new Date ( ) ,
289+ status : 'recording' ,
290+ duration : 1200 ,
291+ }
292+ mockGetCurrentSession . mockReturnValue ( session )
293+
294+ const transcribe = vi . fn ( ) . mockResolvedValue ( {
295+ text : 'hello world' ,
296+ id : 't-5' ,
297+ created : Date . now ( ) ,
298+ model : 'glm' ,
299+ } )
300+ initProcessor ( {
301+ getAsrProvider : ( ) => ( { transcribe } ) as any ,
302+ getASRConfig : ( ) => ( {
303+ provider : 'glm' ,
304+ region : 'cn' ,
305+ apiKeys : { cn : '' , intl : '' } ,
306+ lowVolumeMode : false ,
307+ } ) ,
308+ initializeASRProvider : vi . fn ( ) ,
309+ } )
310+
311+ await handleAudioData ( Buffer . from ( 'audio' ) )
312+
313+ expect ( mockConvertToMP3 ) . toHaveBeenCalledWith ( expect . any ( String ) , expect . any ( String ) , {
314+ gainDb : undefined ,
315+ } )
316+ } )
317+
318+ it ( 'applies default gain when low volume mode is undefined' , async ( ) => {
319+ const { initProcessor, handleAudioData } = await loadProcessor ( )
320+ const session = {
321+ id : 'session-1' ,
322+ startTime : new Date ( ) ,
323+ status : 'recording' ,
324+ duration : 1200 ,
325+ }
326+ mockGetCurrentSession . mockReturnValue ( session )
327+
328+ const transcribe = vi . fn ( ) . mockResolvedValue ( {
329+ text : 'hello world' ,
330+ id : 't-6' ,
331+ created : Date . now ( ) ,
332+ model : 'glm' ,
333+ } )
334+ initProcessor ( {
335+ getAsrProvider : ( ) => ( { transcribe } ) as any ,
336+ getASRConfig : ( ) => ( {
337+ provider : 'glm' ,
338+ region : 'cn' ,
339+ apiKeys : { cn : '' , intl : '' } ,
340+ } ) ,
341+ initializeASRProvider : vi . fn ( ) ,
342+ } )
343+
344+ await handleAudioData ( Buffer . from ( 'audio' ) )
345+
346+ expect ( mockConvertToMP3 ) . toHaveBeenCalledWith ( expect . any ( String ) , expect . any ( String ) , {
347+ gainDb : 10 ,
348+ } )
349+ } )
270350} )
0 commit comments