[[!template id=project

title="Audio visualizer for the NetBSD base system (350h)"

contact="""
[nia](mailto:nia@NetBSD.org)
"""

mentors="""
[nia](mailto:nia@NetBSD.org)
"""

category="userland"
difficulty="medium"
duration="350h"

description="""

NetBSD includes various simple, command-line audio tools by default,
such as audioplay(1), audiorecord(1), mixerctl(1),
aiomixer(1), audiocfg(1)...

These tools are useful because they provide almost everything a user
needs to test basic functionality of their audio hardware.
They are critically important for basic diagnostics.

It would be nice to have a tool to easily visualize audio input
using a simple Curses interface. Some ideas for its possible
functionality:

* Display basic live-updating frequency graph using bars
* Display channels separately
* 'Echo' option (play back audio as it is input)
* pad(4) support (NetBSD has support for 'virtual' audio devices.
This is useful because you can record the output of an application
by having it output to the audio device that opening `/dev/pad`
creates. This can also 'echo' by outputting the data read
from the pad device.)

You need NetBSD installed on physical hardware (older laptops work
well and are cheaply available) and a microphone for this project.
Applicants should be familiar with the C programming language.

"""
]]

[[!tag gsoc]]
[[!tag gsoc350h]]