7 #define SND_BUFFERSIZE 384 // output 2ms sound data at 48KHz
8 #define DSP_STREAMBUFFER_SIZE 1152 // input 2ms sound data at max. 144KHz
10 #define DSP_DEFAULT_FREQ 48000
12 #define VOICE_STATE_STOPPED 0
13 #define VOICE_STATE_RUNNING 1
14 #define VOICE_STATE_STREAM 2
16 #define VOICE_MONO8 0x00000000
17 #define VOICE_STEREO8 0x00000001
18 #define VOICE_MONO16 0x00000002
19 #define VOICE_STEREO16 0x00000003
21 #define VOICE_FREQ32KHZ 32000
22 #define VOICE_FREQ48KHZ 48000
28 typedef struct aesndpb_t AESNDPB
;
30 typedef void (*AESNDVoiceCallback
)(AESNDPB
*pb
,u32 state
);
31 typedef void (*AESNDAudioCallback
)(void *audio_buffer
,u32 len
);
35 void AESND_Pause(bool pause
);
36 u32
AESND_GetDSPProcessTime();
37 f32
AESND_GetDSPProcessUsage();
38 AESNDAudioCallback
AESND_RegisterAudioCallback(AESNDAudioCallback cb
);
40 AESNDPB
* AESND_AllocateVoice(AESNDVoiceCallback cb
);
41 void AESND_FreeVoice(AESNDPB
*pb
);
42 void AESND_SetVoiceStop(AESNDPB
*pb
,bool stop
);
43 void AESND_SetVoiceMute(AESNDPB
*pb
,bool mute
);
44 void AESND_SetVoiceLoop(AESNDPB
*pb
,bool loop
);
45 void AESND_SetVoiceFormat(AESNDPB
*pb
,u32 format
);
46 void AESND_SetVoiceStream(AESNDPB
*pb
,bool stream
);
47 void AESND_SetVoiceFrequency(AESNDPB
*pb
,u32 freq
);
48 void AESND_SetVoiceVolume(AESNDPB
*pb
,u16 volume_l
,u16 volume_r
);
49 void AESND_SetVoiceBuffer(AESNDPB
*pb
,const void *buffer
,u32 len
);
50 void AESND_PlayVoice(AESNDPB
*pb
,u32 format
,const void *buffer
,u32 len
,u32 freq
,u32 delay
,bool looped
);
51 AESNDVoiceCallback
AESND_RegisterVoiceCallback(AESNDPB
*pb
,AESNDVoiceCallback cb
);