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) [Web App UI Cleanup](#web-app-ui-cleanup)
[Profile Purr Data CPU Usage in Realtime](#profile-purr-data-cpu-usage-in-realtime) [Profile Purr Data CPU Usage in Realtime](#profile-purr-data-cpu-usage-in-realtime)
[Terminal REPL](#terminal-repl) [Terminal REPL](#terminal-repl)
[Speedy Keyboard Entry Holy Grail](#speedy-keyboard-entry-holy-grail) [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) [Completed Projects From Previous Years](#completed-projects-from-previous-years)
[Core Accessibility](#core-accessibility) [Core Accessibility](#core-accessibility)
...@@ -16,9 +19,6 @@ ...@@ -16,9 +19,6 @@
[Streamlining Purr Data GUI-Pd communication](#streamlining-purr-data-gui-pd-communication) [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) [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 ...@@ -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 and vanilla Javascript. Or, implementing it in the backend, which means
C. 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 Completed Projects From Previous Years
-------------------------------------- --------------------------------------
...@@ -334,69 +394,6 @@ Javascript and C. ...@@ -334,69 +394,6 @@ Javascript and C.
### Potential Mentor ### Potential Mentor
Giulio Moro 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 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