; ; downlink_dynamics_media.dspg ; graphName downlink_dynamics_media ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Macros ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [def VOICE_INPUT_CHANNEL_COUNT 1] [def MIX_OUTPUT_CHANNEL_COUNT 1] [def IO_BLOCK_SIZE 256] [def IO_SAMPLE_RATE 48000] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Constants ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; AUDynamicDucker [def kAUDynamicDuckerParam_LocalVoiceProb 18] [def kAUDynamicDuckerProperty_MediaChatAllowingDucking aduk] [def kAUDynamicDuckerProperty_MacMediaChatDuckingAction ddda] [def kAUDynamicDuckerProperty_MacMediaChatOtherAudioDuckingLevel oadl] [def kAUDynamicDuckerProperty_MacMediaChatOtherAudioUnduckingLevel oaul] [def kAUDynamicDuckerProperty_MediaChatDuckingRampTimeSeconds drts] [def kAUDynamicDuckerProperty_MediaChatUnDuckingRampTimeSeconds urts] ; AUAGCV2 [def kAUAGCV2Param_CurrentGainDb 1] [def kAUAGCV2Param_MaxGain 8] [def kAUAGCV2Param_ExtVadSpeechProbability 35] [def kAUAGCV2Param_CalibrationLevelDb 43] ; AUDSPGraph [def kAUDSPGraphProperty_PropertyStripResourcePath prrp] ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; I/O ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; in VoiceInput out MixOutput ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Boxes ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; box VoiceChannelSelector (aufx clsl appl) 1 1 box AGCV2 (aufx agc2 appl) 1 1 box AGCV2DeadEnd dead 1 0 box AGCV2VoiceGain dbgn 1 1 box DNNVAD (aufx dspg appl) 1 1 box DNNVADDeadEnd dead 1 0 box DynDucker (aufx dydk appl) 1 2 box DynDuckerUplinkVAD parameter_multiply 0 0 box DynDuckerMuteNot parameter_logical_not 0 0 box DynDuckerVAD property_cast 0 0 box Meister (aufx mstk appl) 1 1 box Mix sum 2 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Wires ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; wire VoiceInput VoiceChannelSelector ([IO_SAMPLE_RATE] [VOICE_INPUT_CHANNEL_COUNT]) wire VoiceChannelSelector AGCV2 ([IO_SAMPLE_RATE] 1) wire AGCV2 AGCV2DeadEnd ([IO_SAMPLE_RATE] 1) wire VoiceChannelSelector DNNVAD ([IO_SAMPLE_RATE] 1) wire DNNVAD DNNVADDeadEnd ([IO_SAMPLE_RATE] 1) wire VoiceInput AGCV2VoiceGain ([IO_SAMPLE_RATE] [VOICE_INPUT_CHANNEL_COUNT]) wire AGCV2VoiceGain (DynDucker 0) ([IO_SAMPLE_RATE] [VOICE_INPUT_CHANNEL_COUNT]) wire (DynDucker 0) Meister ([IO_SAMPLE_RATE] [MIX_OUTPUT_CHANNEL_COUNT]) wire Meister (Mix 0) ([IO_SAMPLE_RATE] [MIX_OUTPUT_CHANNEL_COUNT]) wire (DynDucker 1) (Mix 1) ([IO_SAMPLE_RATE] [MIX_OUTPUT_CHANNEL_COUNT]) wire Mix MixOutput ([IO_SAMPLE_RATE] [MIX_OUTPUT_CHANNEL_COUNT]) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Parameters ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; param ulvm 0 in wireGraphParam ulvm (DynDuckerMuteNot 0 input 0) param uspf 0 in wireGraphParam uspf (DynDuckerUplinkVAD 0 input 0) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Properties ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; property tudp in wireGraphProperty tudp (DNNVAD [kAUDSPGraphProperty_PropertyStripResourcePath]) property mcda out wireGraphProperty mcda (DynDucker [kAUDynamicDuckerProperty_MacMediaChatDuckingAction]) property mcoa out wireGraphProperty mcoa (DynDucker [kAUDynamicDuckerProperty_MacMediaChatOtherAudioDuckingLevel]) property mcul out wireGraphProperty mcul (DynDucker [kAUDynamicDuckerProperty_MacMediaChatOtherAudioUnduckingLevel]) property mcdu out wireGraphProperty mcdu (DynDucker [kAUDynamicDuckerProperty_MediaChatDuckingRampTimeSeconds]) property mcud out wireGraphProperty mcud (DynDucker [kAUDynamicDuckerProperty_MediaChatUnDuckingRampTimeSeconds]) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Parameter wires ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; wireParam (AGCV2 [kAUAGCV2Param_CurrentGainDb]) (AGCV2VoiceGain 0) wireParam (DNNVAD sppf) (AGCV2 [kAUAGCV2Param_ExtVadSpeechProbability]) wireParam (DNNVAD sppb) (DynDuckerVAD 0 input) wireParam (DynDuckerMuteNot 0 output 0) (DynDuckerUplinkVAD 0 input 1) wireParam (DynDuckerUplinkVAD 0 output 0) (DynDucker [kAUDynamicDuckerParam_LocalVoiceProb]) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Property wires ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; wireProperty (DynDuckerVAD ui32 output) (DynDucker [kAUDynamicDuckerProperty_MediaChatAllowingDucking])