; ========================================================================= ; Voice Isolation with single channel NNet ; ========================================================================= graphName "VoiceIsolation-default_arm" ; ------------------------------------------------------------------------- ; Definitions ; ------------------------------------------------------------------------- [def sampleRateIn 48000] ; overridden by ADM [def numChannelsIn 1] ; overridden by ADM [def processingRate 24000] [def blockSizeNNet 240] [def maxProcessedChannels 2] [def kAUNeuralNetParam_NeuralNetModelPathBaseOverride 40000] ; ------------------------------------------------------------------------- ; Graph Ins and Outs ; ------------------------------------------------------------------------- in Input box InSRC src 1 1 box ZeroConstant constant 0 1 box AUNeuralNet (aufx nnet appl) 1 1 box OutSRC src 1 1 out Output ; ------------------------------------------------------------------------- ; DSP Graph topology ; ------------------------------------------------------------------------- wire Input InSRC ([sampleRateIn] [numChannelsIn]) [if [== [numChannelsIn] 1] { box AUNeuralNetInputJoin join 2 1 box AUNeuralNetOutputSplit split 1 2 box AUNeuralNetResOutputDeadEnd dead 1 0 wire InSRC (AUNeuralNetInputJoin 0) ([processingRate] 1 [blockSizeNNet]) wire ZeroConstant (AUNeuralNetInputJoin 1) ([processingRate] 1 [blockSizeNNet]) wire AUNeuralNetInputJoin AUNeuralNet ([processingRate] 2 [blockSizeNNet]) wire AUNeuralNet AUNeuralNetOutputSplit ([processingRate] 2 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 0) OutSRC ([processingRate] 1 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 1) (AUNeuralNetResOutputDeadEnd 0) ([processingRate] 1 [blockSizeNNet]) }{}] [if [== [numChannelsIn] 2] { box Split split 1 2 box Join join 2 1 box AUNeuralNetInputJoin join 4 1 box AUNeuralNetOutputSplit split 1 4 box AUNeuralNetResOutputDeadEnd dead 2 0 wire InSRC Split ([processingRate] 2 [blockSizeNNet]) wire (Split 0) (AUNeuralNetInputJoin 0) ([processingRate] 1 [blockSizeNNet]) wire ZeroConstant (AUNeuralNetInputJoin 1) ([processingRate] 1 [blockSizeNNet]) wire (Split 1) (AUNeuralNetInputJoin 2) ([processingRate] 1 [blockSizeNNet]) wire ZeroConstant (AUNeuralNetInputJoin 3) ([processingRate] 1 [blockSizeNNet]) wire AUNeuralNetInputJoin AUNeuralNet ([processingRate] 4 [blockSizeNNet]) wire AUNeuralNet AUNeuralNetOutputSplit ([processingRate] 4 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 1) (AUNeuralNetResOutputDeadEnd 0) ([processingRate] 1 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 3) (AUNeuralNetResOutputDeadEnd 1) ([processingRate] 1 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 0) (Join 0) ([processingRate] 1 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 2) (Join 1) ([processingRate] 1 [blockSizeNNet]) wire Join OutSRC ([processingRate] 2 [blockSizeNNet]) }{}] [if [> [numChannelsIn] [maxProcessedChannels]] { [def numUnprocessedChannels [- [numChannelsIn] [maxProcessedChannels]]] box Split split 1 3 box Join join 3 1 box AUNeuralNetInputJoin join 4 1 box AUNeuralNetOutputSplit split 1 4 box AUNeuralNetResOutputDeadEnd dead 2 0 wire InSRC Split ([processingRate] [numChannelsIn] [blockSizeNNet]) wire (Split 0) (AUNeuralNetInputJoin 0) ([processingRate] 1 [blockSizeNNet]) wire ZeroConstant (AUNeuralNetInputJoin 1) ([processingRate] 1 [blockSizeNNet]) wire (Split 1) (AUNeuralNetInputJoin 2) ([processingRate] 1 [blockSizeNNet]) wire ZeroConstant (AUNeuralNetInputJoin 3) ([processingRate] 1 [blockSizeNNet]) wire AUNeuralNetInputJoin AUNeuralNet ([processingRate] 4 [blockSizeNNet]) wire AUNeuralNet AUNeuralNetOutputSplit ([processingRate] 4 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 1) (AUNeuralNetResOutputDeadEnd 0) ([processingRate] 1 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 3) (AUNeuralNetResOutputDeadEnd 1) ([processingRate] 1 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 0) (Join 0) ([processingRate] 1 [blockSizeNNet]) wire (AUNeuralNetOutputSplit 2) (Join 1) ([processingRate] 1 [blockSizeNNet]) wire (Split 2) (Join 2) ([processingRate] [numUnprocessedChannels] [blockSizeNNet]) wire Join OutSRC ([processingRate] [numChannelsIn] [blockSizeNNet]) }{}] wire OutSRC Output ([sampleRateIn] [numChannelsIn]) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Properties ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; property tudp in ; Tuning Directory Path wireGraphProperty tudp (AUNeuralNet [kAUNeuralNetParam_NeuralNetModelPathBaseOverride])