C码错误:Temp方法转换为C不会有效

1次查看(最近30天)
David Besonen.
David Besonen. 2020年3月9日
评论: David Besonen.2020年3月12日
我试图转换matlab的 沥青法 使用MatLab Coder应用程序C,但我遇到了一个错误,我不理解。我试图将这种方法转换为C为使用在一个实时音高移位程序,将工作在C比它在MatLab中做得更好。我在主脚本中使用音调变换的音调方法。以下是我目前尝试将音高方法转换为C的方法:
我打开Coder应用程序并输入下面的脚本来自动定义pitch方法的变量类型。在这个例子中, mysignal. 是一个1024x1的double。
音高(mySignal, 1852.2,“NumChannels”,大小(1024,2),“SamplesPerChannel”、大小(1024 1),“范围”,[50,400],“WindowLength”,圆形(1852.2 * 0.052),'overlaplencth',圆形(1852.2 * 0.042),'方法'“NCF”“MedianFilterLength”1);
然后我得到以下自动定义的变量定义:
从这里开始,我尝试运行MEX测试生成器来检测错误。下面的图片详细说明了我收到的错误:
我的自动定义变量和MatLab有一些问题 setProperties() 方法:
任何帮助你都可以给予它,我非常欣赏。我需要这个在不到一个月的学校项目,我只是对问题的损失。该方法应该能够转换,因为它包含其MATLAB文档页面上的C代标。谢谢您的帮助,如果您需要任何澄清,请告诉我。

接受的答案

Brian Hemmat
Brian Hemmat 20月10日
嗨大卫,
您指定了一对不是实际参数的致致名称值对( NumChannels. Samplesperchannel. ).记录功能的参数 在这里
此外,它看起来您指定了许多您不必的参数(因为您只是指定其默认值)。以下为我生成代码,我相信是您之后的内容:
mysignal = Pinknoise(1024);
fs = 1.8522 e + 03;
Codegen.距参数{mySignal, fs}
如果您的项目不要求您实际实施音高转化,您也可能看看 shiftPitch 函数(您可以生成代码)或audioptuinexample.pitchshifter(在 音频插件库 ).你可以从audiopluginexample.PitchShifter生成一个VST插件。
5点评论

登录评论。

更多答案(0)

s manbetx 845


释放

R2019b

社区宝藏狩猎

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!