This applet for the KDE Plasma desktop allows to reproduce ambient noise. Multiple noise components can be combined, controlling their individual volume. The applet reads noise files and their icons from a given, customisable folder. The noise and the icon must be in the same folder and share the same name, except for the file extension.
The plasmoid remembers its state across reboots, including play/pause status, volume, and active noise components. To prevent it from playing sound at start-up, even if it was still playing at the time of the last shutdown, go to the plasmoid settings and tick "Paused at start-up".
The applet can be installed locally with
git clone https://github.com/m-pilia/plasma-applet-ambientnoise
cd plasma-applet-ambientnoise/
kpackagetool6 -t Plasma/Applet --install plasmoid
or globally with
git clone https://github.com/m-pilia/plasma-applet-ambientnoise
cd plasma-applet-ambientnoise/
mkdir build
cmake . -B build
cmake --build build
sudo cmake --install build
To see the plasmoid, you may need to restart plasmashell
kquitapp6 plasmashell
kstart plasmashell
The plasmoid does not include any sounds by itself as part of the installation, users can however add arbitrary sounds to it.
To add sounds to the plasmoid's library, simply copy your favourite noise audio
files and their corresponding icons to the sound folder (its default location
is /usr/share/anoise/sounds
but it can be customized in the settings).
Supported extensions are .ogg
, .flac
, .mp3
, .wav
, Use snake case for
the file names (it will be automatically converted to sentence case in the UI),
and use the same name (besides different file extension) for each audio file
and its corresponding icon.
For example, the layout of the sound folder should look like:
/usr/share/anoise/sounds
|- coffee_shop.ogg
|- coffee_shop.png
|- fire.ogg
|- fire.png
|- forest.ogg
|- forest.png
Free noises in a ready-to-use format for this plasmoid can be found in the anoise project, which was a source of inspiration for this plasmoid.
Arch Linux users can get a collection of user-generated sounds to work
out-of-the-box by installing the anoise-community-extension
packages from the
AUR (1,
2,
3,
4,
5).
This project intentionally avoids bundling any sounds, for a few reasons:
- I prefer to avoid shipping multimedia assets under other people's or project's intellectual property (even under permissive licenses).
- De gustibus non est disputandum. The choice is quintessentially a matter of taste, and no two users will have the same taste. Building a library of sounds that is variegated enough to appeal to most users would be non-trivial, and a large library would consume resources for sounds users might not like or want. Users should not pay for what they not need.
- I do not want to keep multimedia assets under version control in git, but I currently also want to avoid relying on a third party storage and having to integrate it in the plasmoid's build process.
For these reasons, pull requests trying to add multimedia assets to the project will be rejected.
Questions, bug reports, and feature requests are welcome. Feel free to open an issue on GitHub.
New translations are welcome. Translation files are located in the translations folder. To add a new translation:
- Copy the template
file
plasma_applet_org.kde.plasma.ambientnoise.pot
toplasma_applet_org.kde.plasma.ambientnoise_XX.po
(whereXX
is the ISO 639-1 code for the language you are adding). - Fill all the fields inside the file.
- Add two lines to
plasmoid/metadata.desktop
as follows, next to the corresponding pre-existing lines (once again,XX
represents the ISO code of the new language):Name[XX]=...
filled with a translation of the name;Comment[XX]=...
filled with a translation of the comment.
- Commit and open a pull request on GitHub.
In case something seems not to be working, launch the plasmoid in debug mode
from a console, with plasmoidviewer -a org.kde.plasma.ambientnoise
or
plasmawindowed org.kde.plasma.ambientnoise
, and look for relevant log
messages. Especially when it comes to audio playback, most of the troubles come
from bad configuration of the multimedia back-end.
The project is licensed under GPL 3. See LICENSE file for the full license.