Things for the Ears
- card: A physical device. Within pulseaudio this is a mostly organizational unit above input output devices that allows control over what abilities can be offered.
- port: A physical port of a device. For example 'Headphones' and 'Speakers' port.
- profile: A configurational profile of a card, regulating which ports can be used interchangeably. For example Headphones and Speakers are both stereo so one profile will be able to offer both ports as options. Surround 5.1 however can have streams with up to 6 channels which makes it impossible to directly switch to Headphones.
- device: An input or output device. Each card has usually 0-1 inputs and 0-1 outputs.
- stream: A virtual output entity created by an application. A stream will either be an input or output stream and will have exactly one device it outputs to or gets input from.
- application: A piece of software using one or more streams to generate output or obtain input.
- volume: Is the loudness of either a device or a stream.
Technically Possible Features
- Change volume of a device (lowering/increasing the volume of all streams on this device).
- Change volume of a stream.
- Change volume of all streams of one application.
- Move one or more streams of one application to a different device.
- Set the default/fallback device for all streams at once (i.e. reroute all output to a different device or all input to a different device)?
- Set the port of a card. Ports are for the most part actual physical ports on the hardware, for example the Headphones and the Speaker port. Changing the port offers necessary control over which physical ports will actually output the sound.
- Set the profile of a card. Profiles are essentially controlling which ports will be available. For example one card might offer Surround 5.1 which would result in limited port selections (those that can do 5.1) while a Stereo profile would offer both Headphones and Stereo as available ports as both can produce stereo sound.
- Set the port and profile of a card.
- "Virtual" stream for notification/event sounds controlling their volume outside the regular application->stream->device scope.
- Volume overdrive. Pulseaudio allows the volume to be increased beyond 100%. This is an often requested feature and should be supported in some form. It likely needs visual cues as to where 100% is and where the overdrive limit is (usually applications will allow up to 130% although technically much more is possible).
- Terminate a stream. This is pretty much a kill feature killing the entire stream. Since this is roughly equal to simply muting a * stream I find it a questionable feature at best and with unaware applications this can actually mess up the application such that it requires a restart to output audio again.
- Multi-channel volume control (i.e. volume balance). This actually has some inherent design problems from PulseAudio which makes me not want to spend to much brain power on it. For now I consider this very advanced feature.
- Display of virtual devices (e.g. monitors allowing the use an output device's output as input) and virtual streams (I don't think there is anything implementing a virtual stream at this point).
- Rename a device.
- Change device latency (technically this is a port-dependent latency).
For Plasma users Plasma Volume provides a way to change relevant sound volume in a quick and easy manner. Unlike KMix it is built using Plasma and integrates visually into the Plasma system tray. Unlike veromix it doesn't bury the user in options they will not ever need.
Susan, 34, Recreational user. While Susan seldom uses her computer for work, it has become an essential part of her social life. With her computer, she can be creative and spread this creativity in the world. She chats with her friends, shares music, playlists and other media, creates videos and uploads them to her web space, and runs a blog with her own style. She can't imagine a life without her laptop. Still, she is a fun person and does not want to worry about technical details. She expects her machine to work.
What to do with the professionals? or well, the people that want to do weird things with their audio setup
- Susan wants to watch a video on the web. She goes to the website, the video loads, but Susan can barely hear anything even though the video player is set to maximum volume. She scrolls on the speaker icon in the Plasma systray to increase the overall system volume.
- A friend calls Susan on Skype. She answers, but her friend complains that they can't hear her. Susan opens the volume applet and moves the Microphone slider until her friend can hear her speaking.
- Susan is still on the Skype call when her neighbors start drilling a hole into a wall causing very loud noise. The noise makes it impossible for Susan's friend to understand her through the laptop built-in microphone and Susan also has a hard time understanding anything because the laptop speakers are too weak. Susan plugs in her USB headphones. All her sound is now running through the headphones.
- Having plugged in her headphones, Susan's friend again complains about not being able to hear her. Susan again opens the volume applet and adjusts the Microphone slider until her friend can hear her.
- It's night time and Susan opens opens her browser because she needs to check something. Previously she was watching a metal music video on youtube. Her browser is very smart and restores the previous tabs when being opened. The previously watched video starts playing at full volume and is about to wake up everyone in the neighborhood. Susan middle clicks on the speaker icon in her tray to silence everything immediately.
more professional thingums
- does voice call with haedphones and music on the speakers? (vice versa?) (not at all?)
- move on application from one device to another (TV HDMI for dragon while rest uses headphones)
- game without volume control?