Commit efe9dc2b authored by Jonathan Wilkes's avatar Jonathan Wilkes
Browse files

clean up a few more ideas so they are appropriate for the shortened program

parent 2b4bd1d4
[Web App UI Cleanup](#web-app-ui-cleanup)
[Profile Purr Data CPU Usage in Realtime](#profile-purr-data-cpu-usage-in-realtime)
[Terminal REPL](#terminal-repl)
[Speedy Keyboard Entry Holy Grail](#speedy-keyboard-entry-holy-grail)
[Vintage Platform Audio Emulation Library](#vintage-platform-audio-emulation-library)
[Library for Data-Over-Audio Communication](#data-over-audio-messaging)
[Completed Projects From Previous Years](#completed-projects-from-previous-years)
[Core Accessibility](#core-accessibility)
......@@ -16,9 +19,6 @@
[Streamlining Purr Data GUI-Pd communication](#streamlining-purr-data-gui-pd-communication)
[Vintage Platform Audio Emulation Library](#vintage-platform-audio-emulation-library)
[Library for Data-Over-Audio Communication](#data-over-audio-messaging)
[Interaction with Audio Plugins](#interaction-with-audio-plugins)
......@@ -158,6 +158,66 @@ A choice of implementing most of this in the frontend, which means HTML5
and vanilla Javascript. Or, implementing it in the backend, which means
C.
Vintage Platform Audio Emulation Library
----------------------------------------
### Goal
Create a library with objects that emulate the hardware from
old hardware like the atari 2600, NES, and others.
### Details
There are a lot of resources online for emulating old
hardware. Purr Data would benefit by having a library
that provides a consistent interface for objects that
take input into an emulation of a piece of hardware and
output one or more audio signals.
### Challenges
Finding a common interface that makes it easy for users to leverage
these classes while at the same time being expressive enough to allow
decent control of the chip being emulated.
### Languages
Pd (Purr Data is a fork of the software Pure Data-- the visual language itself
is usually referred to as Pd.) Also, C, or C++ if desired.
Data Over Audio Messaging
-------------------------
### Goal
Create a library that allows two instances of Purr Data to pass data messages
to each other using sound as the transmission medium.
### Details
Pd messages consist mainly of space-separated numbers and symbols.
Semicolons mark the end of a message.
Sometimes it would be helpful to be able to pass messages from
one instance of Purr Data to another-- especially if each instance is
on a different machine in the same room. This is currently done either
by setting up socket listener/receiver between the two instances or by
leveraging a separate message-passing system outside of Purr Data.
Since Purr Data is concerned mainly with analyzing and sythesizing sound,
machines running Purr Data typically have a mic and speakers connected to
a running instance. If it were possible for the user to simply create
objects which send/receive messages by sending audio signals to/from each
other it would greatly simplify sending at least small amounts of data
between machines.
### Challenges
Finding a decent interface for users without relying on a big set
of dependencies.
### Bonus Challenge
Send the data in the range of human hearing in a form that is *pleasing*
to the ear. (There is actually some prior art on techniques to do this.)
### Languages
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
C, or C++.
Completed Projects From Previous Years
--------------------------------------
......@@ -334,69 +394,6 @@ Javascript and C.
### Potential Mentor
Giulio Moro
Vintage Platform Audio Emulation Library
----------------------------------------
### Goal
Create a library with objects that emulate the hardware from
old hardware like the atari 2600, NES, and others.
### Details
There are a lot of resources online for emulating old
hardware. Purr Data would benefit by having a library
that provides a consistent interface for objects that
take input into an emulation of a piece of hardware and
output one or more audio signals.
If possible, it would be beneficial if most of the interface
could be built as a set of abstractions. That way more
developers would be able to understand and improve the library.
There is a TIA chip emulator written in C in externals/mmonoplayer
that can be used as a starting point.
### Challenges
Finding a common interface that makes it easy for users to leverage
these classes while at the same time being expressive enough to allow
decent control of the chip being emulated.
### Languages
Pd (Purr Data is a fork of the software Pure Data-- the visual language itself
is usually referred to as Pd.) Also, C.
Data Over Audio Messaging
-------------------------
### Goal
Create a library that allows two instances of Purr Data to pass data messages
to each other using sound as the transmission medium.
### Details
Pd messages consist mainly of space-separated numbers and symbols.
Semicolons mark the end of a message.
Sometimes it would be helpful to be able to pass messages from
one instance of Purr Data to another-- especially if each instance is
on a different machine in the same room. This is currently done either
by setting up socket listener/receiver between the two instances or by
leveraging a separate message-passing system outside of Purr Data.
Since Purr Data is concerned mainly with analyzing and sythesizing sound,
machines running Purr Data typically have a mic and speakers connected to
a running instance. If it were possible for the user to simply create
objects which send/receive messages by sending audio signals to/from each
other it would greatly simplify sending at least small amounts of data
between machines.
### Challenges
Finding a decent interface for users without relying on a big set
of dependencies.
### Languages
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
C.
Interaction with Audio Plugins
------------------------------
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment