Warning, /plasma/ocean-sound-theme/README.md is written in an unsupported language. File is not indexed.
0001 # Ocean Sound Theme 0002 0003 Ocean Sound Theme for Plasma 0004 0005 ## Folders 0006 0007 - **ocean**: Contains the sounds that are used in the sound theme. 0008 - **Project Files**: Contains the LMMS project file and the Audacity macro used for trimming the sounds. 0009 - **LICENSES**: Contains the terms of all of the licenses on this repository. 0010 0011 ## Intended usage 0012 0013 Each sound is intended to be used in a specific situation: 0014 0015 - **theme-demo**: A preview of the sound theme. 0016 0017 - **desktop-login**: Play this sound after the computer boots up and the Plasma session starts. 0018 0019 - **desktop-logout**: Play when exiting the Plasma session. 0020 0021 - **service-login**: Play when logging into an application. (e.g. Instant Messaging app). 0022 0023 - **service-logout**: Play when logging out of application. (e.g. Instant Messaging app). 0024 0025 - **audio-volume-change**: Feedback sound when changing volume. 0026 0027 - **dialog-warning**: Play when warning the user about something (e.g. "You have unsaved changes" dialog). 0028 0029 - **trash-empty**: Play after permanently deleting the contents of the trash folder. 0030 0031 - **message-new-instant**: Play for incoming messages. 0032 0033 - **dialog-question**: Play when asking the user a question (e.g. Dialog: Do you want to save?). 0034 0035 - **power-plug**: Play when plugging in the charger on the laptop or phone. 0036 0037 - **power-unplug**: Play when unplugging the charger. 0038 0039 - **device-added**: Play when a new device is inserted (e.g. New external drive, mouse, or bluetooth dongle). 0040 0041 - **device-removed**: Play when disconnecting a device. 0042 0043 - **battery-caution**: Play when the battery reaches a low level (e.g. 15%). 0044 0045 - **battery-low**: Play when the battery charge reaches a very low level and the computer is about to turn off (e.g. 5%). 0046 0047 - **battery-full**: Play when the battery charge reaches 100%. 0048 0049 - **dialog-information**: Play when giving the user some information (e.g. Dialog: You hid the title bar. Press ALT+F3 to enable it again). 0050 0051 - **bell-window-system**: Use when you need the computer to beep for some reason (e.g. When Audible bell is enabled in the accessibility settings). 0052 0053 - **outcome-success**: Used for actions with a successful outcome. 0054 0055 - **outcome-failure**: Used for actions that fail (Unlike errors, this is more generic. E.g. Can be used in a game). 0056 0057 - **dialog-error**: Play when an error occurs (e.g. Could not save file). 0058 0059 - **dialog-error-serious** and **dialog-error-critical**: Play when an unrecoverable error happens (e.g. The program has crashed). 0060 0061 - **completion-partial**: Play when text autocompletion only completes some words 0062 0063 - **completion-success**: Play when text autocompletion completes all words 0064 0065 - **completion-fail**: Play when text autocompletion fails to complete any words 0066 0067 - **completion-rotation**: Play when text autocompletion reaches the end of the page and starts from the top again 0068 0069 - **phone-incoming-call**: Play when receiving calls 0070 0071 - **alarm-clock-elapsed**: Play for alarms (e.g. timer or alarm clock) 0072 0073 - **complete-media-burn**: Play when optical media completes burning 0074 0075 - **complete-media-error**: Play when the optical media burning proccess is unsuccessful 0076 0077 - **media-insert-request**: Play when requesting the user to insert media 0078 0079 - **game-over-winner**: Play when the player wins in a game 0080 0081 - **game-over-loser**: Play when the player loses in a game 0082 0083 - **message-contact-in**: Play when someone in a instant messaging app logs in 0084 0085 - **message-contact-out**: Play when someone in a instant messaging app logs out 0086 0087 - **message-sent-instant**: Play when sending a message in an instant messaging app 0088 0089 - **message-highlight**: Play for a message in an instant messaging app that is important 0090 0091 - **message-attention**: Play for a message in an instant messaging app that needs attention 0092 0093 If you need a sound which is not provided by this pack, try to use Oxygen sounds as a fallback (e.g. minimize window sounds). 0094 0095 ## If anyone wants to make more sounds or modify the existing ones, here's some important observations: 0096 0097 - All sounds must adhere to the sound naming spec: https://specifications.freedesktop.org/sound-naming-spec/sound-naming-spec-latest.html 0098 0099 - I'd love to hear an improved version 2 made by someone in the community, so if you want to do that, follow the instructions below. :D 0100 0101 - Use the Flatpak version of LMMS to get all plugins working. 0102 0103 - Most instruments are based on LMMS's presets, but they're (mostly) heavily modified. Getting familiar with ZynAddSubFX is a good starting point. 0104 0105 - This sound theme is meant to sound soft, so if you want to make more sounds based on this, I suggest increasing the attack, release, and adding reverb (but not too much, unless we're talking about the login sound). This will help you keep the whole theme consistent. 0106 0107 - This sound theme is NOT meant to be modern or minimalistic. Plasma itself is not minimalistic, so it wouldn't make sense to make a minimalistic sound theme. My inspirations were KDE 3 and Windows Vista sounds. 0108 0109 - You may notice some tracks are disabled. The reason for that is that at some point I made the sound with the disabled instrument but then changed my mind. I kept them as backup. There's also an unused instrument for the "trash" sound. That instrument didn't fit very well with the rest of the theme, but I chose to leave it there just in case. 0110 0111 - As of the date I'm writing this, ZynAddSubFX does not seem to allow per-note stereo mixing. Use automation tracks to control the Pan value instead. 0112 0113 - You may notice there's always a detuned version of each sound. I did this to make the instruments sound fuller. The "Ultra Detune" in the login sound is a stylistic choice meant to make the sound feel more nostalgic, like a song playing from an old vinyl disc. Have you ever noticed the pitch changes as the disc wobbles and the speed slows down? :P 0114 0115 - Pay attention to phase cancellation and always test the sounds in a mono speaker. Most sounds (but not all, like a couple of the "completion" sounds) are totally fine in that regard. If you make changes to this project, make sure it's still okay. If you make new sounds and you wanna make sure there's no phasing problems, you can do the following test after exporting all the sounds into one file (I'm using Audacity 3.1.3): 0116 0117 1. Normalize the track to something consistent like -12dB. Effects >> Normalize - Select "Remove DC offset" and "Normalize peak amplitude to". This is not the level you'll want for the final sounds, but you need a baseline loudness level to be able to compare the volume. 0118 2. Make two copies of the main track so you can compare both (Select, copy, click outside and paste) 0119 3. Split the stereo channels in one of the tracks (leave the other as a backup). Click on the track name over the "Silence" and "Solo" buttons and click on "Split stereo track" (**DO NOT** select "Split Stereo to Mono", that will make two identical tracks and when you combine them again you WILL get phase cancelation and lose the stereo panning, always use "Split stereo track") 0120 4. Select one of the audio channels and use the "Invert" effect. Effects > Invert 0121 5. Combine both channels again into one stereo track by clicking on the same place as step 3 and selecting "Make stereo track" 0122 6. Mix the tracks down to mono (both the inverted and the backup). Go to Tracks >> Mix >> Mix Stereo Down to Mono 0123 7. Solo your inverted track, play it. Then do the same with the original. Check which version has the highest volume. Pay attention to the dB meter. The version suffering with phase cancellation will have a lower volume, and the spectrometer will also show that difference. You'll also notice some instruments sound muffled or completely disappear in the problematic version. 0124 0125 There's also the "Invert" effect in LMMS but I noticed I get more phase cancellation problems with it enabled. 0126 0127 - The LMMS export process seems to be non-deterministic, which means that every time you export a sound it can create a slightly different waveform. I noticed sometimes one side of the stereo track is slightly more silent, or sometimes I get a popping noise. At least with LMMS 1.2.2, there's a popping sound at the start of every sound when you export them. To work around that, I added some empty space before each sound, that way the popping gets reduced, but it doesn't go away in every case. If I re-export a few times the pop can go away. There also have been situations where the popping was only noticed after normalizing the sounds in post, so I had to re-export the sounds again (!!!). Keep that in mind and always remember to include the empty space while exporting to avoid the popping sound! You can remove the silence in post. Also remember to check the levels of each channel and, if the volume is too different between them, you can re-export or use the Loudness Normalization plugin in Audacity to normalize each channel independently. 0128 0129 - In post, all sounds got normalized in Audacity using the ReplayGain plugin set at -3dB and I also manually edited the ending of a few sounds to add a Fade Out effect and remove any unwanted artifacts, like noise or clicks with the DeClicker plugin. Download ReplayGain: https://forum.audacityteam.org/t/replaygain-plug-in/22589; Download DeClicker: https://forum.audacityteam.org/t/updated-de-clicker-and-new-de-esser-for-speech/34283. You can find instructions about how you can install a Nyquist plugin here: https://manual.audacityteam.org/man/nyquist_plug_in_installer.html 0130 0131 - In LMMS I exported the sounds at 96000hz 32-bit .wav (for greater flexibility while editing) and when editing I converted them in Audacity to 48000hz 16bit WAV. **Important:** Do not export directly to OGA in Audacity. For some reason, even at the highest quality setting it produces very low bitrate sounds, at around 60-70kbps. Use the following ffmpeg command in a terminal to convert all WAV sounds in the current directory to OGA, targeting 320kbps VBR encoding at 48000hz: `for i in *.wav; do ffmpeg -i "$i" -c:a libvorbis -q:a 9 -ar 48000 "${i%.*}.oga"; done` 0132 0133 ## Automate cutting and removing silence from sound using this Audacity macro 0134 0135 Below is the macro I used to automate part of the editing process. It sets the project to the right sample rate, cuts the beginning of each sound (leaving a little bit of silence at the beginning) and then removes silence at the end. To use it, just paste it in a .txt file, save, and import it into the macros window in Audacity. Then, import all tracks and run the macro. Note that I hard-coded the amount of tracks it will select, so, if it causes any trouble, change the number in TrackCount="20" to the number of tracks you imported into Audacity. 0136 0137 SetProject:Rate="48000" 0138 Select:End="2" Mode="Set" RelativeTo="ProjectStart" Start="0" Track="0" TrackCount="20" 0139 Delete: 0140 SelectAll: 0141 TruncateSilence:Action="Truncate Detected Silence" Compress="50" Independent="0" Minimum="1" Threshold="-70" Truncate="0"