Retro Audio Maker is a web-based tool that transforms your uploaded audio files into retro, 90s game-style sound effects. I built this project because I needed a way to generate retro audio for a project I'm working on. The app applies a series of audio processing effects—including downsampling, low-pass filtering, bit crushing, and distortion—to give your audio that vintage feel.
Live Demo: https://retroaudiomaker.vercel.app/
GitHub Repository: https://github.com/AD-Archer/retroaudiomaker
- Audio Upload: Supports WAV, MP3, and OGG formats.
- Retro Processing: Applies effects such as downsampling to a lower sample rate (e.g., 8000Hz), low-pass filtering, bit crushing, and distortion using a custom wave shaper.
- Playback & Download: Listen to the processed audio and download it as a WAV file.
- Node.js
- Express
- JavaScript
- HTML & CSS
- Web Audio API
- AudioWorklet API
- OfflineAudioContext
- FileReader API
Prerequisites: Node.js (v14 or later) and npm (or yarn)
-
Clone the repository:
git clone https://github.com/AD-Archer/retroaudiomaker.git cd retroaudiomaker -
Install dependencies (use either npm or yarn):
npm install
or
yarn install
-
Start the server:
npm start
The application should now be running at http://localhost:3000.
- Open your browser and navigate to http://localhost:3000.
- Upload an audio file using the provided file input.
- Click on the Process Audio button to apply the retro effects.
- Listen to your processed audio in the browser.
- Download the processed audio file by clicking the download link.
Modify script.js to tweak parameters such as the target sample rate, filter frequencies, and bit crusher settings. Customize the look and feel by editing the CSS. Adjust the custom audio processing by editing bit-crusher-processor.js.
Contributions are welcome! Fork the repository and submit a pull request. For issues, open an issue on GitHub.
This project is licensed under the MIT License.
Thanks to the developers and maintainers of the Web Audio API and AudioWorklet API. Special thanks to the community for providing valuable resources and documentation.