首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建数字音频工作站

创建数字音频工作站
EN

Stack Overflow用户
提问于 2011-02-02 12:21:06
回答 3查看 21K关注 0票数 12

我正在尝试编写我自己的DAW,主要是为了学习如何处理信号以获得效果的数学知识,但也是为了好玩。(这是一个相当大的任务,但我现在有时间)。我希望它能像Propellerhead's Record一样工作,特别是在机架上。

我在Mac上运行,所以我正在考虑使用Audio Units作为不同的部分,然后使用Core Audio作为脚手架部分。因此,整个代码将用C或Obj-C编写。

然而,我以前没有使用过Audio Units或Core-Audio,而且互联网对学习也没有任何帮助。

有人知道我在哪里可以学到这些吗?或者Java (我唯一觉得舒服的另一种语言)会更好,或者是我在试图找到一种“简单”的方法时完全忽略了什么?

谢谢,乔恩

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-02 13:41:30

如果你想写一个DAW:

  • 至少,让你的脚接触一个现有的项目。如果我要亲自选择一个项目,我会为热情做出贡献。
  • DAW中的信号处理相对简单。您必须使用混音器、文件和图形。如果你已经习惯了编写应用程序,那么你可能学不到太多(除了基础知识之外)。当然,您可以找到一个现有的项目,并使用与您想要学习的内容相关的功能来扩展它;您可以为它编写插件或可视化。

如果更喜欢使用信号处理:

  • AU或VST插件将是一个很好的介绍-有许多现有的项目,你可以参考。最终,您将厌倦等待主机加载以测试您的程序。

语言:

rendering.

  • java不适用于实时音频
  • objc对于此应用程序来说非常少见。实际上有一些用于AU和CoreAudio的包装器...
  • 大多数音响商店(据我所知)都在使用C++,而不是C (硬件是不同的)。这似乎真的是你列表中的一个奇怪的遗漏--大多数DAW和插件都使用C++,而这也是你能找到最多例子的语言。如果您已经对C和Java感到满意,我建议您使用C++,因为这是面向桌面的行业标准语言。
票数 13
EN

Stack Overflow用户

发布于 2011-02-02 12:30:30

看看跨平台的C++库JUCE,它是开源的,可以选择许可代码(价格也不错)。很多专业的DAW和VST开发人员都在使用它,我就是其中之一。

https://www.juce.com/

警告,这个库玩起来很有趣。它重新唤起了我对C++的兴趣,这是一个不小的壮举。

票数 5
EN

Stack Overflow用户

发布于 2013-05-08 21:10:14

你的假设是正确的,即核心音频和音频单元可以构成一个系统的基础(它可能不需要是一个完全成熟的DAW,但可以具有多轨音频记录、编辑、回放等的某种组合……)比起担心跨平台的问题,像Juce,ASIO和其他绕过操作系统的庞大的包罗万象的框架要容易得多。我想你会发现音频编程是一门专门的学科,而在stackoverflow上的大多数人都没有准备好提供有用的建议。由于时间限制和许多关键循环在相当低的层次上工作的需要,Java是相当不适合的,正如C#一样,对于音频,特别是对于多声道音频、DSP等,解释语言也是不合适的。您可以在developer.apple.com上找到所需的文档(您必须进行登录),并且可以直接在xcode中找到您感兴趣的shell示例……祝好运

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4870740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档