고객 사례

Sapienza Università di Roma学生通过开发实时音频处理应用程序学习信号处理

挑战

让学生参与研究生水平的多媒体信号处理课程

解决方案

使用MATLAB和音频系统工具箱,使学生能够直接在MATLAB或VST插件中实时验证音频处理算法

结果

  • 算法开发时间减半
  • 消除实验时间限制
  • 学生参与度提高

“当用c++编程时,我的学生不仅在实时实现上有困难,而且在理解上也有困难。MATLAB使他们更容易实现算法并直接听到效果,帮助他们更好地理解数学理论。”

Michele Scarpiniti, Sapienza Università di Roma
斯卡皮尼蒂博士实验室里的混音器。

斯卡皮尼蒂博士实验室里的混音器。


在第二年,Sapienza Università di Roma信息工程、电子和电信系的研究生被鼓励参加强调工程概念实际应用的课程。在这些课程中,最受欢迎的是一门关于多媒体信号处理的课程,学生在这门课程中使用MATLAB®和音频系统工具箱™开发和部署实时音频处理应用程序。

“当重点完全放在理论上时,教授信号处理可能具有挑战性,”罗马大学(Sapienza Università di Roma)的研究员兼讲师Michele Scarpiniti博士说。“通过MATLAB,我的学生可以实现实时音频处理算法。当他们听到自己编程的效果时,他们往往会爱上这项工作,并对算法背后的理论有更深入的理解。”

挑战

斯卡皮尼蒂的大多数学生都有信号处理或多媒体通信工程的背景。虽然许多人对编程有些熟悉,但很少有人是专家,更少人有实时编程的经验。

斯卡皮尼蒂希望让课堂上的学生能够开发音频处理算法,然后通过声卡或数字音频工作站听到他们的工作结果。他发现,用C/ c++、Python或类似语言实现和调试复杂的信号处理算法可能会让学生感到沮丧。他希望简化开发过程,这样他们就可以专注于应用新学到的概念,而不是处理低层次的实现细节。

此外,他希望学生们可以自由地在自己的电脑上和自己的时间表上完成作业,而不是在实验室里。

使用音频系统工具箱开发、测试和调优实现回声效果的插件

使用音频系统工具箱开发、测试和调优实现回声效果的插件。

解决方案

Sapienza获得了MATLAB和相关产品的校园许可,使Scarpiniti班上的学生可以在家里或校园的任何地方进行课程项目下载188bet金宝搏。

多媒体信号处理课程每周上课5小时。课程通常以讲座开始,Scarpiniti在讲座中介绍了一个新的信号处理主题或技术,然后演示了它在MATLAB中的实现。然后学生们用Scarpiniti提出的MATLAB算法进行实验。

课程作业分为三个阶段。在第一阶段,学生开发并测试以批处理模式离线运行的算法。例如,他们创建了一个MATLAB算法,从文件中读取录制的音频,用梳状滤波器添加混响效果,并将结果保存到新文件中。他们通过在MATLAB中生成时域和频域图来可视化结果。

在第二阶段,学生们创建早期开发的许多相同算法的在线版本。他们使用MATLAB中实现的环形缓冲区来逐个样本读取和处理输入数据,而不是一次读取和处理所有数据。

最后一个阶段的重点是实时算法。学生使用音频系统工具箱中的audioDeviceReader和audioDeviceWriter系统对象™连接到笔记本电脑中的声卡。然后他们更新他们的在线算法来读取和写入声卡。

学生随后使用音频系统工具箱从他们的MATLAB代码生成虚拟工作室技术(VST)插件,使他们能够在数字音频工作站上部署和测试他们的算法。

学生通过完成他们选择的主题的项目来结束课程。最近的项目包括一个用MATLAB开发的VST插件,它集成了限制、展开、压缩和其他动态效果。

明年,斯卡皮尼蒂将再次教授多媒体信号处理课程,这门课程预计将吸引到该大学所有实用研究生课程中最大的注册人数。

结果

  • 算法开发时间减半。“当我的学生用c++而不是MATLAB编程时,他们需要10到20倍多的代码行,而且不可避免地会有更多的bug,”Scarpiniti说。“当他们在MATLAB中工作时,他们对代码有了更深入的理解,可以专注于真正的工程任务,而不是用软件解决问题。”
  • 消除实验时间限制。斯卡皮尼蒂说:“当我第一次教授这门课程时,学生必须在实验室完成所有的工作,这是一个挑战。”“有了校园范围的许可证,他们在自己的计算机上有MATLAB,使他们工作和我的教学变得更容易。”
  • 学生的参与度提高了。斯卡皮尼蒂说:“弹吉他的学生可以用MATLAB开发自己的算法,为数字音频工作站生成插件,并听到效果。”“这种水平的互动对学生来说是一种强大的动力,极大地提高了他们的参与度。”