什么是改变AudioPitch与Out Noise的最佳方式
我很新的语音转换器应用程序。可以任何一个请建议我改变音调像女孩的声音的方式。什么是改变AudioPitch与Out Noise的最佳方式
这里是我使用的代码。
audioPlayerNode=[[AVAudioPlayerNode alloc]init];
[audioEngine attachNode:audioPlayerNode];
changePitchEffect=[[AVAudioUnitTimePitch alloc]init];
changePitchEffect.pitch=pitch;
[audioEngine attachNode:changePitchEffect];
[audioEngine connect:audioPlayerNode to:changePitchEffect format:audioFile.processingFormat ];
[audioEngine connect:changePitchEffect to:audioEngine.outputNode format:processingFormat];
[audioPlayerNode scheduleFile:audioFile atTime:nil completionHandler:nil ];
AVAudioInputNode *input = [audioEngine inputNode];
AVAudioFormat *format = [input outputFormatForBus: 0];
[audioEngine prepare];
[audioEngine startAndReturnError:nil];
改变AUDIOFILE的间距后,我缺少透明度和得到更多的disturbance.can任何一个建议此
的解决方案,它不是一个简单的任务。基本上你必须改变声音formants而不是整体音高。
想象一个男人和一个女人在唱同一个音符。尽管他们在唱同样的音符(意思是他们的声音实际上处于相同的音高),但你仍然可以认识到男女之间的差异。原因因此是不同的formants。您可以将频谱中的formants视为预设范围。
我不知道Obj-C/Swift框架提供共振峰转换。我假设你会在那里找到基本的C++解决方案。
如果你想/必须自己实现它,你很可能必须使用Core Audio并自己完成DSP。在这种情况下,我建议在开始在Obj-C/Swift中实现之前,使用Matlab/Octave或图形化DSP编程软件(如Native Instrument的“Reaktor”)创建一个工作原型。
如上所述,这是一项不重要的任务。
根据您的要求,你当然可以用不同的组合和音调变化和均衡器设置进行试验,但结果永远是“玩具一样”。
一些示例代码好吧,你可以建议C++解决方案,它支持arm64.recently我被用于Dirac音频播放器。为此,我刚刚删除arm64.but完成后,我功能。当我验证上传到Appstore时,我得到了Arm64支持missing.Do有任何想法关于this.Could建议任何DSP音频播放器,这将对我非常有用。 –
不幸的不是。 – shallowThought
你能帮助我的格式和目标c –