> HERTZ is a web-based Digital Audio Workstation (DAW) utility designed for instant vocal polishing.
I appreciate you have aspirations for the project beyond its current form, but this isn't an accurate description of what it is now. It:
- Uses wavesurfer + the wavesurfer regions plugin to display a waveform and allow a subsection of the uploaded audio to be selected
- Loads the uploaded audio into a buffer with the web audio API's decodeAudioData and then cuts the selected region out of it
- Applies a compression to the selection with the web audio API using hard-coded values (based on a screenshot you gave the LLM apparently according to the comment in the source)
- Normalizes the audio with the web audio API
- Encodes the audio as a WAV and then feeds that to ffmpeg to convert it to an mp3 for download
It seems complete for your use case, to me. You might consider asking the LLM to reword the readme and present it as a tool that applies these compression and normalization settings to a section of an audio file in the browser:
// 1. SETTINGS FROM YOUR SCREENSHOTS
const COMPRESSOR_OPTS = {
threshold: -20.0,
ratio: 3.1,
knee: 5.0,
attack: 0.03,
release: 0.1,
};
const NORMALIZE_TARGET_DB = -3.0;
It doesn't make a lot of sense as the basis for a web-based DAW right now. I like that you tried to keep it simple and small, though. Even so, you could improve readability by making this all a single HTML file since it's so small. As a learning exercise, you could try doing that yourself without the LLM. It would be a good way to get to know your project.