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"