This guide will walk you through the process of creating and adding custom keyboard sounds to the project.
- Audio recording equipment (preferably a condenser microphone)
- Audio editing software (e.g., Audacity or Adobe Audition)
- FFmpeg for audio file processing
- Audio files in .wav format for initial recording
- Basic understanding of audio editing software
-
Choose Your Sound Style
- Decide on your desired sound type:
- Mechanical keyboard clicks
- Soft keystrokes
- Musical notes
- Custom sound effects
- Decide on your desired sound type:
-
Recording Setup
- Use a condenser microphone for best quality
- Record in a quiet environment
- Maintain consistent recording distance and levels
-
Record Individual Sounds
- Record separate sounds for:
- Alphabetical keys
- Spacebar
- Enter key
- Backspace
- Other special keys
- Record separate sounds for:
-
Basic Audio Editing
- Trim silence from start and end of recordings
- Normalize audio levels for consistency
- Remove any background noise
-
Optional Enhancements
- Apply equalization (EQ)
- Add subtle reverb if desired
- Adjust audio compression
-
Export Settings
- Sample rate: 44.1kHz
- Bit depth: 16-bit
- Format: .wav (for processing) or .ogg (final format)
- Keep file sizes under 1MB for optimal performance
-
Combine Sounds (if required)
- Create a filelist.txt containing your sound files:
file 'custom_sounds/a.wav' file 'custom_sounds/b.wav' file 'custom_sounds/c.wav'
- Use FFmpeg to combine files:
ffmpeg -f concat -safe 0 -i filelist.txt -c:a libvorbis sound.ogg
-
Configure Sound Mappings
- Create config.json for key mappings:
{ "defines": { "KeyA": [0, 150], "KeyB": [150, 120], "Space": [270, 180], "Enter": [450, 200] // etc. etc. }, "name": "Custom Sound Pack", "key_define_type": "single", "sound": "sound.ogg" }
-
File Organization
-
Create a new directory for your sound pack in:
/Users/{your_username}/Library/Application Support/xyz.waveapps.keyecho/sounds/
-
Use lowercase letters and underscores for directory and filenames
-
Example structure:
/Users/{your_username}/Library/Application Support/xyz.waveapps.keyecho/sounds/your_soundpack_name/ ├── sound.ogg └── config.json
-
-
Sound Pack Configuration
-
Ensure your config.json is properly formatted
-
Place it alongside your sound.ogg file in your sound pack directory
-
Example:
{ "name": "Your Sound Pack Name", "key_define_type": "single", "sound": "sound.ogg", "defines": { // your key mappings } }
-
-
Update System Configuration
- The application will automatically detect new sound packs in the sounds directory
- Restart the application if necessary to detect new sound packs
-
Sound Testing
- Test each key sound individually
- Verify consistent volume levels
- Check for audio artifacts
- Test across different devices and browsers
-
Performance Checks
- Monitor memory usage
- Check loading times
- Verify browser compatibility
If your sounds aren't working:
- Verify file paths and permissions
- Check audio file format compatibility
- Confirm sound registration in config files
- Review browser console for errors
- Validate JSON syntax in configuration files
- Maintain consistent volume levels across all sounds
- Keep backup copies of original recordings
- Use version control for configuration files
- Document any special processing or effects used
- Test thoroughly before deployment