Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Devesh Kumar
summer-of-code-ideas-list
Commits
98b322c0
Commit
98b322c0
authored
Mar 18, 2018
by
Jonathan Wilkes
Browse files
add two more project ideas
parent
7cdf62f1
Changes
1
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
98b322c0
...
@@ -23,6 +23,11 @@
...
@@ -23,6 +23,11 @@
[
Vintage Platform Audio Emulation Library
](
#vintage-platform-audio-emulation-library
)
[
Vintage Platform Audio Emulation Library
](
#vintage-platform-audio-emulation-library
)
[
Library for Data-Over-Audio Communication
](
#data-over-audio-messaging
)
[
Library for Data-Over-Audio Communication
](
#data-over-audio-messaging
)
[
Interaction with Audio Plugins
](
#plugins
)
[
JIT-compiled signal graph for the audio engine
](
#jit
)
Automated Testing Framework
Automated Testing Framework
---------------------------
---------------------------
...
@@ -604,3 +609,91 @@ between machines.
...
@@ -604,3 +609,91 @@ between machines.
Pd (Purr Data is a fork of the software Pure Data-- the visual language itself
Pd (Purr Data is a fork of the software Pure Data-- the visual language itself
is usually referred to as Pd.) However, the library may also be written in
is usually referred to as Pd.) However, the library may also be written in
C.
C.
Interaction with Audio Plugins
------------------------------
### Goal
Make sure that Purr Data has a well-documented way to accept input from
standard audio plugin APIs like VST, LADSP, and LV2. Also
make sure Purr Data can be used as a plugin in other environments.
### Details
There are multiple audio plugin APIs that aim at seamlessly mixing and
matching audio filters, synthesizers, and analysis tools in different
languages and applications.
Purr Data has some libraries to interface with at least two of these
standards (VST and LADSPA). There is also a library for LV2 that
Purr Data can leverage. However, not all of these libraries run on
all the supported platforms (OSX, Windows, Linux).
Purr Data also has all the APIs necessary to act as a plugin itself
in other applications. But work must be done to ensure this works
properly and that it is properly documented how to do it.
### Difficulty: Moderate. There is a lot of pre-existing technology
here, but it needs to be tested rigorously on all platforms.
### Languages
C. Also, familiarity with shell scripting as well as Gnu make.
Interaction with Audio Plugins
------------------------------
### Goal
Make sure that Purr Data has a well-documented way to accept input from
standard audio plugin APIs like VST, LADSP, and LV2. Also
make sure Purr Data can be used as a plugin in other environments.
### Details
There are multiple audio plugin APIs that aim at seamlessly mixing and
matching audio filters, synthesizers, and analysis tools in different
languages and applications.
Purr Data has some libraries to interface with at least two of these
standards (VST and LADSPA). There is also a library for LV2 that
Purr Data can leverage. However, not all of these libraries run on
all the supported platforms (OSX, Windows, Linux).
Purr Data also has all the APIs necessary to act as a plugin itself
in other applications. But work must be done to ensure this works
properly and that it is properly documented how to do it.
### Difficulty: Moderate. There is a lot of pre-existing technology
here, but it needs to be tested rigorously on all platforms.
### Languages
C. Also, familiarity with shell scripting as well as Gnu make.
JIT-compiled Signal Graph for the Audio Engine
----------------------------------------------
### Goal
Leverage LLVM to make a jit-compiler for Purr Data's DSP graph.
### Details
Alex Norman has shown that it is possible to build a jit compiler
for one of Pd's "workhorse" libraries-- the "expr" library. This
library essentially lets users specify a mathematical expression
that can operate on both vectors and on the sample level. The
current library parses the tokens of the expression and requires
a separate function call for each unit. This is similar to the
way Pd's DSP graph itself gets executed.
The jit compiler produces assembly which has superior performance
to the current "expr" library. Extending that process to the entire
signal graph (or at least core classes within it) would benefit
performance on a greater level.
### Difficulty: Moderate to difficult. Since there is pre-existing
work done with the jit "expr" library, a good start would be to help
test that library and improve it. Once the student gains a mental
model of the process the student can begin to extend it to Purr Data's
DSP graph itself.
### Languages
C.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment