音乐DSP和音频编程资源的策划列表

2021-04-24 03:28:23

这是我最喜欢的音乐DSP和音频编程资源的策划列表。这最初是官方"令人敬畏的清单"但显然你不是打算在第一个人中写下,所以现在这是一个"更令人敬畏和#34;列表。

iplug2 - iplug(最初由Cockos创建)是一个很棒的插件框架。自从〜2011年以来,我正在维持它的叉子,它被称为WDL-OL,现在由IPLUG2取代。 2018年Alex Harker和我努力更新并继续工作。 iplug' s语法是超简单的,例如,在UI中创建参数或控制只是一个单行的C ++代码。

Juce - Juce是一个无疑的令人敬畏的C ++应用/插件框架,有音频根。它为音乐软件的开发提供了大量功能,包括对几乎所有插件格式和平台的支持。 Juce广泛用于音乐科技行业,它具有出色的文档,代码标准,功能和支持。 Juce Team组织了音频开发人员' S会议(ADC),这是您喜欢音频编程的最令人敬畏的会议。到目前为止,所有ADC的所有视频都可以在YouTube上获得。

vstgui - vstgui是steinberg' s跨平台UI工具包,用于音频插件。它在BSD许可证下发布,它'令人印象深刻的工作,许多插件开发人员为他们的产品使用它。

audiokit - 嗯,我要违反规则,包括奥迪奥特使用Swift编程语言,因为如果你想为Apple和#39的应用程序制作这是一个很好的选择,虽然如果你想要做低级别的东西,你仍然必须深入研究C / C ++。它'是一个用于音频的DSP和UI工具包,所以在此类别中进行。 Audiokit团队还发布了一个很好的AUV3模板项目。

WDL - WDL是Cockos'可重复使用的C ++代码库,用于为DAW REAPER供电,在其他内容中。虽然传统上是一个框架,这里有很多好东西,强烈推荐 - 虽然旁边没有文件,所以它不是为了胆小的心灵。有关WDL的各个部分的更多信息(可以独立使用),请检查核对网站

aspik - 这是一个新的框架,它是Pirkle(陪同他的书),它基于VST3 SDK和IT' S AU / AAX包装,以及VST GUI及其运行时UI编辑器。它包括一个项目创造者和大量额外的"坚果和螺栓"插件开发的代码。

DPF - Distrho插件框架是Falktx的一个很好的C ++插件框架,支持大量的Linux格式。

jamba - 建立在VST3SDK&amp之上的新框架; VSTGUI,有一些有用的额外小部件和良好的CMake支持

dplug - 使用D编程语言的插件框架,多年来已经有大量工作。我自己尝试过它,但我决定在这里将其与作者团结在一起。作为一个开源框架Dev,它'很好,如果人们知道你的工作!

Gamma - Gamma是一个非常棒的C ++ DSP框架,Lance Putnam - 一个开发人员,其名称I'从综合日以来已知。伽玛的美丽是确定某些技术的简明。 STFT是一种痛苦的痛苦,涉及重叠的FFT Windows等 - 这对简洁的最终用户实现方式。

Hiir - Hiir是Laurent de Soras的严重酷炫的过采样图书馆。过采样是我们经常在音频DSP中需要的东西,这个图书馆优雅地处理 - 为低延迟IIR半带滤波提供各种类(包括SIMD优化)。最初这有一个LGPL许可,但现在它是' s在wtfpl下提供 - 我最喜欢的许可证。

HOALIBRARY - 一种灵活的DSP库,用于高阶amisisonics(HOA) - 由于VR(GPL许可证)变得越来越多的空间音频平台。

Hisstools图书馆 - Alex Harker的一个很好的BSD许可的图书馆,包括FFT抽象和多通道卷积,包括在其他方面

空间音频框架 - ambisonics和其他空间音频相关处理的另一个优秀库

德星 - 兰迪琼斯' DSP库非常令人敬畏,因为它是为SIMD处理而设计的。

FAUST - FAUST是一个强大的功能DSL,用于音频DSP,具有许多选择,可快速编译为不同的“架构”,包括音频插件和嵌入式设备。浮士精语不是像Puredata / MAX / SuperColler / JavaScript等编程语言一样解释,它被编译为C ++和各种其他编程语言或字节码格式,如Web组件(WASM)。此功能适用于快速原型设计,但也可以生产强大而性能的二进制文件。虽然浮士斯的快速原型可能性对我有吸引力,但我最喜欢它的是高质量DSP的广泛图书馆,特别是对于物理建模合成以及您可以使用以下语法构成算法的方式。浮士电包括JIT编译器" libfaust"基于LLVM,我集成到Juce模块中。 I' ve也集成了IPLUG2的浮士福音支持,并用它用来制作印度塔布拉的物理模型。

灵魂 - 是Jules Storer和Cesare Ferrari在Roli创建的令人兴奋的新DSL,也使用LLVM编译器技术(见ADC18主题演讲)。它有一个用于快速工作流的JIT编译器,可以吐出C ++和WASM和Read-Go Juce项目。该语言旨在实现允许音频DSP运行的目标"更接近金属"以类似的方式,GPU着色器语言如GLSL可以安全地运行图形硬件。灵魂是一种势在必行的语言,与C / C ++ / JavaScript比浮大更相似。它有几个优点,例如多速率处理,在我看来,它更适合将事件处理与DSP混合的代码更适合,因为福斯特对DSP处理的谨慎块有利。由于浮士电可以通过Faust2oul输出灵魂代码,因此您可以一起使用它们!这是我所做的一个灵魂。

DSPFilters - Vinno Falco制作了这款优秀的麻省理工学院许可的IIR过滤器库。这是一个与最新的juce一起使用的叉子。另见IIR1,似乎是一个更新的版本和改进的版本。

这是一小部分书籍,对我有用。还有很多看起来绝对伟大,但我还没有在愤怒中使用它们。

Pirkle - 将写两本书,这是一个非常宝贵的吸引力插件开发者 - "在C ++和#34中设计音频效果插件;和#34;在C ++和#34中设计软件合成器插件;这些书包含有关重要音频DSP的详细信息,包括现代虚拟模拟技术,以及用于完整的Sythesizers的示例代码,其声音很好。我唯一的批评是,一大部分书与定制插件框架有关,提供多种格式的信息,AU,VST3可能有点压倒,并禁止内容。尽管如此,我强烈推荐这些书籍。有关更多信息请参阅此处

Dodge and Jerse - 计算机音乐:合成,组成和性能,第2版 - 这是我绝对最喜欢的簿推荐给学生学习计算机音乐/音频合成。我发现这本书不会像其他一些电脑音乐文本一样约会。音乐-N样式块图是迷人的,并且很好地讨论了这些技术。

UDOZölzer(ed) - Dafx:数字音频效果 - 这是音频DSP的一本很好的书,由各种领域专家编写,它包括Matlab代码示例。

JOS - Julius Smith' S网站和他的四本书是一个惊人的资源。包括MATLAB和浮士码示例!

DAFX会议档案 - DAFX会议上的所有文件都在线提供。另一个伟大的资源。

Earlevel Engineering - Nigel Redmond' S DSP博客包含一些非常精彩的书面解释。

Ross Bencina' S博客/网站 - 另一个澳大利亚撰写了很多有趣的软件和文章,关于锁定免费编程

略微转向偏离主题,这些是我在音频编程中找到有用的软件工具。 Xcode和Visual Studio社区是我使用的免费IDE,这两天都非常强大。

骑自行车' 74 max - max是用于原型音频插件的很好的环境。只有这么多的选择来集成不同的技术,强烈推荐它 - 即使如今我所做的大多数Max修补程序都只包括一些物体!

Desmos - 这是一个令人敬畏的在线图形计算器。查看我制作Saw Square Reso1的一些互动CASIO CZ波形

Coliru - 这是一个在线交互式C ++编译器,它可以是测试语言的特定功能的非常好的和快捷方式,而无需构建二进制文件。

Compiler Explorer - Compiler Explorer是检查不同编译器会产生的汇编代码的一个很好的工具。

Faust Web IDE - 这是一个在线浮士文IDE和编译器,可让您使用WebAudio测试浮士码。然后,您可以告诉它以便为首选平台输出一个ZIP文件。这为您提供了在本地计算机上安装浮士秒及其依赖关系的所有问题。

Matplotlib-CPP - 一个C ++接口到Matplotlib Python绘图工具。允许您使用可以在生产中使用的相同代码可视化算法。

Xeus-cling - 这是一个非常酷的项目,允许您在Jupyter笔记本中使用JIT编译的C ++ - 如上面的Matplotlib-CPP非常适合使用您可以在生产中使用的相同代码的可视化算法,而在流行的Jupyter Notebook格式内部。以下是如何通过准备好的码头图像轻松使用这些东西的示例。

Studiorack Plugin Manager - 开源音频插件管理器工具和GitHub插件模板,可自动构建跨平台音频插件。

我通过为Max和Synthedit进行对象进行C / C ++进行编程。学习如何将SDK用于其中一个或以下开放源包中的一个是一个很好的方式来从我看来开始,因为你不需要考虑太多东西。什么'更多 - 这些伟大的项目都向您展示了如何实现某些任务......代码有关您需要查看。它可能需要一段时间才能找到它,有时代码可能很难理解,但它们都有振荡器,过滤器等。也有许多第三方对象,也是开源的。

Puredata - 我不认为PD需要介绍!还要查看Libpd,您可以在C ++音频插件中用作嵌入式DSP运行时等。

SuperCollider - 同样,但请确保您查看DSP内容的SCSynth部分。

CSound - CSound已看到较晚的Renaisannce,可用作嵌入式DSP库

VCVRACK - 虽然此列表中的其他项目已经存在一段时间,但有一些术语代码基础,这是非常新的,API非常干净简单。我认为制作VCVRACK模块它是进入音频编程的好方法。

Tracktion引擎 - 使用现代C ++的整个DAW引擎的源代码。学习各种事物的令人惊叹的资源,包括如何构建和架构大型音频项目。 GPL /商业许可证。

musicdsp.org - "一系列算法,思想和片段,聚集在音乐DSP社区和#34;最近经过修改的长服务网站。请注意:大多数代码都写了很久以前,而优化技巧等,可能与现代机器无关。此外,除C ++之外,还有很多代码片段编程语言(Delphi,Java,C#等)。可以做一些策法。

WebKit' S Web Audio API - 这是WebKit的C ++代码,用于Web音频API的Web Audio API,如Safari所使用的。

Scrice - Surge是一个非常有才华的开发人员和它最近开放的产品和更新的优秀产品,以与现代版本的VSTGUI合作。

Helm - Helm是一个全面的合成合成器,具有与Juce的现代用户界面,使用OpenGL用于可视化小部件。

obxd - obxd是一个伟大的oberheim仿真,用juce编写。 DISCODSP已更新它,它也被移植到Web作为WebAudiodule

Dexed - Dexed是raphevien' s" shod&#34的音乐合成器是一个卓越的DX7仿真。还移植到Web上的WebAudioModule

Audiokit Synthone - Synthone是一个使用Audiokit建造的一个伟大的开源项目,对于寻求构建IOS合成器的人来说,这将非常有趣。

airwindows插件 - 一系列GUI的插件开源,但通过Patreon支持,请参阅AirWindows网站

变形仪器 - Emilie Gillet'工作非常鼓舞人心。虽然为微控制器编写了,但是从这里学习了很多东西。它与vcvrack移植到vcvrack,所以您可以在桌面上尝试。

Zita Stuff - Fons Adriaensen' Sinux音频项目为声学测量,空间音频等提供了很多伟大的工具 - 主要是杰克应用程序。

我所做的大多数音频编程都与插件有关,但我发现了几个硬件平台,我真的很喜欢开发(主要是因为这些设备的写作代码没有如此不同,无法制作插件)。

猫头鹰踏板/模块 - 这是一个可编程的斯化盒和欧洲咖啡箱模块,即i' Ve以来一直在踢球运动员的罢工活动来推出它。它'是一个非常好的小单位,您可以在C ++,Faust,PD或Max Gen中编程。我发现有4个控件的有限界面让我非常仔细地思考关于我的DSP算法的重要&#39。您可以在用户库中找到我为其制作的一些修补程序(使用C ++和Faust的混合)和此处的原始代码。

贝拉 - 贝拉是一个很棒的小型SoC +音频接口,它非常革命性,允许超级低延迟音频和传感器I / O一起时钟,在一个微小的包装中。我为贝拉写了浮士电支持课。您还可以使用C ++或Libpd,甚至SuperCollider进行编程。

ELK AUDIO OS - 一个新的嵌入式Linux OS&开发套件,运行vst2& vst3插件。

Theaudioprogrammer - 包括关于Web Audio等东西的关于Juce的大量教程。

TheNENOPROJECT - 虽然该频道专注于游戏开发,但C ++系列非常出色。强烈推荐。

教自己制作音乐软件:Steve Duda在谈话中|循环 - 对一个关于杀手合成器的伟大开发人员的鼓舞人心的面试。

Sean Costello(Valhalla DSP)在混响设计 - 另一个伟大的插件开发人员的伟大谈话

以下是互联网和现实世界的各个角落的几个链接,如果你喜欢这种东西,你可能想闲逛......

MusicDSP邮件列表 - 这些天音乐DSP邮件列表非常安静,但仍然值得注册,尽管Web 0-1首页。每一个又一个音乐dsp传奇帖子有趣。

KVR Audio DSP和插件开发论坛 - 这可能是音频DSP最活跃的论坛,其与特定插件框架未对齐。有一些非常聪明的人,一些小牛和一些普通的怪人在这里闲逛。

Juce论坛 - 这是一系列以嘉厄所在的东西为中心的论坛。 由于有很多人使用juce制作音频软件,因此这里有很多良好的信息。 古诗论坛 - 另一个围绕古典古典的论坛集合; 包括一个用于WDL / IPLUG的工具,一个用于REAPER JS。 音频开发人员会议(ADC) - 虽然这里提到的另一个地方都是虚拟的,这是一个真正的会议,你可以去哪里与真正的人面对面,谁做音频编程 - 强烈推荐!