The Audio page describes the sound effect themes that are already available on Habitica. A Bard desiring to create a new theme should read that page to learn which sound effects will need to be made. The information below will then help you create your theme.
If you have questions about the process or about whether a theme you have in mind would be suitable, ask them in the Aspiring Legends: Habitica Helpers guild.
Sound File FormatsEdit
The sound files you create must have both an ogg and an mp3 version to be supported in all browsers (e.g., for a reward sound effect you would create both
There are various tools for converting between sound formats. If you are creating the sounds initially as *.wav files, you might like to use the oggenc and lame command-line tools:
# convert wav to ogg: oggenc -q 3 filename.wav
# convert wav to mp3: lame -V 5 filename.wav
It is important to use the correct filenames for your sound files.
- If you are creating a new theme, view the filenames used for the existing themes and use exactly the same names for your own files.
- If you are creating new sound effects that do not yet exist in that theme, try to choose filenames that are similar in style to the ones already used. Please note that new sound effects might not be able to be implemented - ask in in the Aspiring Legends: Habitica Helpers guild first.
Add your Files to the "habitica" RepositoryEdit
After your sound effect files have been created, they need to be uploaded to the habitica repository on GitHub and various changes must be made to files on the Habitica site. This section describes how to do that.
If you do not feel comfortable doing this yourself, a Blacksmith (a developer) will help you! Upload your sound effect files to any location on the internet in a zip file and then visit the Aspiring Blacksmiths (Habitica Coders) guild. Explain there that you've made a new sound effect theme, tell them what its name is (e.g., "Frankie's Theme", "Brave Warrior Theme"), and give them the link to the zip file. Also tell them to read this wiki page for information about how to proceed because they might not know that this page exists. If you don't receive a response after a few days, ask again. It might take several days before a developer has free time, but someone will help you!
The information below should be followed by the Bard or Blacksmith who is adding the sound effect theme to GitHub.
- Read Guidance for Blacksmiths for information about coding for Habitica.
- Follow the instructions in Setting up Habitica Locally to to create a local install of Habitica.
- To create a change that implements the audio files, follow all the instructions in Using Your Local Install to Modify Habitica's Website and API and also the steps below, which will give you extra information that is specific to audio themes.
- To add new sound effects to an existing theme, copy the sound files to the appropriate subdirectory under website/assets/audio/ in your new branch.
- To add a new theme:
- Create a new subdirectory under website/assets/audio/ (for example, business), and copy the sound files there. Do not put spaces or punctuation in the subdirectory name.
- Edit website/assets/locales/en/generic.json and add text that is similar to what has been done for the existing themes (search through the file for audioTheme_). The key for the text that you add must be "audioTheme_xyz" where "xyz" is the exact name of the directory that you created under website/assets/audio/.
- Open website/server/models/user/schema.js in an editor and search through it for the name of an existing theme (e.g., "danielTheBard"). You will find one line that contains the list of themes. Add the new theme to that line, using exactly the same syntax as is used for the existing themes. The text that you add must be the exact name of the directory that you created.
- Open website/views/shared/header/menu.jade in an editor and search through it for the name of an existing theme (e.g., "danielTheBard"). You will find one line that contains the list of themes. Add the new theme to that line, using exactly the same syntax as is used for the existing themes. The text that you add must be the exact name of the directory that you created.
- When you are testing your change manually in your local website, test the new audio menu entry and all of the sounds. It is not necessary to create automated tests for this kind of change.
- When you create a pull request, if you were not the person who created the audio files, state the creator in the pull request. If possible, include their Habitica profile name and their Habitica user ID.
Contributor Tier Process Edit
You're in luck! Bards and the Blacksmiths who help them do not need to do anything special to earn Contributor Tiers. Credit towards appropriate Contributor Tiers will be granted by the admins as they review and accept the submissions. Both Bard and Blacksmith will be credited.
Collaborative Projects Edit
Pirate Foley Edit
Refer to the Pirate Foley guild.
Don't know how to use audio editing software? We can help you learn for free!