| Metric | Value | Copy |
|---|---|---|
| {{ row.label }} | {{ row.value }} |
| Priority | Sound note | Rationale |
|---|---|---|
| {{ note.priority }} | {{ note.note }} | {{ note.rationale }} |
A reference tone is a steady periodic sound used to check pitch relationships, cue attention, or provide a simple test signal. It matters because hearing a frequency directly is often more useful than reading a number in isolation, especially when you are matching a note, comparing timbre, or trying to judge whether a sound will feel gentle, bright, or piercing.
This generator produces that kind of signal from a chosen frequency, waveform, and output level, then adds a nearest-note label and a short set of package-specific sound notes. That makes it suitable for quick tasks such as checking A4 at 440 Hz, hearing how a sawtooth differs from a sine at the same pitch, or building a rough alert cue before you move to a fuller audio workflow.
The appeal of a tool like this is its restraint. You are not navigating envelopes, modulation, filters, sequencing, or recording. One oscillator starts, one tone plays, and the result tables stay small enough that a change in frequency or waveform remains easy to hear and easy to document.
That simplicity also sets the boundary. The package does not listen to a microphone, detect the pitch of an instrument, measure room acoustics, or report real loudness in decibels. The note label is derived from the selected frequency, and the volume slider controls only the generator's relative gain inside the browser session.
The most dependable first pass is plain: set the waveform to Sine, keep the volume modest, and start around the frequency you actually care about. For neutral checking, 440 Hz is the obvious baseline because the package will label it A4, and a sine wave minimizes extra harmonics that can make pitch feel brighter than the fundamental alone.
Waveform choice matters more than the compact interface suggests. Sine is the clean reference option. Triangle stays relatively soft but adds more edge. Square and Sawtooth add stronger harmonic content, which can make the same nominal frequency feel more assertive and easier to notice in a noisy room. If your task is calibration or pitch matching, start clean. If your task is audibility or character, compare waveforms at the same frequency before you move the slider again.
Monitor mode is a guidance layer rather than a synthesis mode. The generated tone itself is still determined by frequency, waveform, and volume. What changes is the language in the Sound Notes tab: calibration mode favors cleaner sine references, composition mode highlights pitch anchoring, alert mode warns sooner about very bright settings, and relaxation mode nudges you toward lower, less intrusive combinations.
The package creates a single browser-generated oscillator after a manual start action. Frequency is clamped to 20 to 20000 Hz, waveform is restricted to sine, square, triangle, or sawtooth, and volume is clamped to a normalized 0 to 1 range. If playback is already running, changes to any of those values are pushed directly into the active oscillator or gain node so you hear the update immediately.
The nearest-note label is a derived convenience, not a separate sound source. The code rounds the selected frequency to the nearest equal-tempered semitone relative to A4 = 440 Hz, converts that semitone number into one of the twelve pitch classes, and then derives the octave number. Small slider moves around the midpoint between two notes can therefore flip the label abruptly because the package always reports the closest semitone rather than cents deviation.
Monitor mode affects only the advisory notes. Calibration mode prefers sine because it minimizes harmonic clutter. Composition mode emphasizes the note name as a pitch anchor. Alert mode becomes more cautious when frequency rises into the package's high band or when volume is high. Relaxation mode favors lower frequencies and lower levels. Those notes are generated from a small threshold model inside the package, not from room analysis or hearing measurements.
The result tabs expose the same state in three forms. Details lists the current frequency, waveform, monitor mode, volume, nearest note, and playing state. Sound Notes ranks the package's own advisory messages with short rationales. JSON exports a structured snapshot containing the timestamp, frequency, waveform, monitor mode, volume, and nearest note.
The note-mapping logic is the main calculation here. It converts frequency to the nearest MIDI note number, then turns that number into a pitch class and octave label.
| Area | What the package does | Why it matters |
|---|---|---|
| Frequency | Accepts and clamps values from 20 to 20000 Hz. | Keeps the generator within the package's intended audible-range bounds. |
| Waveform | Switches among sine, square, triangle, and sawtooth. | Changes harmonic content without changing the chosen pitch. |
| Monitor mode | Changes advisory notes only. | Prevents users from mistaking descriptive guidance for hidden DSP changes. |
| Volume | Stores a normalized value from 0 to 1. | Represents relative gain, not measured sound pressure at your ear. |
| Exports | Details table copies or downloads as CSV and DOCX; state can also be copied or downloaded as JSON. | Makes short reference setups easy to save or share. |
The advisory thresholds are precise inside the code. The package treats frequencies below 90 Hz as a low band, frequencies at or above 4000 Hz as a high band, and volume at or above 0.65 as a louder setting. Those cut points shape the Sound Notes language, especially the alert and relaxation messages, but they should be read as product heuristics rather than universal acoustics rules.
Privacy behavior is simple. Audio is generated locally after you press Start, the details and JSON payload are built in the browser, and this package declares no tool-specific upload or storage path. Safe listening still depends on your system volume, speakers or headphones, and session length, not just the on-page slider position.
The most important output is still the sound itself. The table and JSON views are there to document what you asked the generator to produce. If the heard result and the listed frequency disagree in practice, the problem is likely your listening setup or expectations, not a hidden second tone inside the package.
| Output | Read it as | Do not read it as |
|---|---|---|
| Frequency (Hz) | The oscillator target frequency. | A measurement of another sound source in your room. |
| Nearest note | The closest equal-tempered note label to the chosen frequency. | A cents-accurate tuning diagnosis. |
| Waveform | The harmonic shape of the generated tone. | A loudness or quality grade by itself. |
| Volume | The package's relative output gain. | A decibel reading or hearing-safety guarantee. |
| Sound Notes | Package heuristics tied to the current settings. | Clinical, occupational, or hearing-protection advice. |
The thresholds in Sound Notes are worth reading literally. Below 90 Hz, the package starts describing the tone as part of a lower relaxation bed. At 4000 Hz or above, it treats the tone as part of a higher and potentially more piercing band. At 65% volume or above, it becomes more cautious about extended listening. Those are package decision points, not universally safe or unsafe lines.
The main false-confidence trap is assuming the note label makes this a tuner. It does not. The package rounds the frequency you selected. It never listens back to confirm what your instrument, speaker, or room is actually producing.
Set frequency to 440 Hz, waveform to Sine, monitor mode to Calibration, and keep volume low. The details table will show Nearest note = A4, and the advisory notes will prefer the sine waveform because it minimizes extra harmonics.
That is a good baseline when you want a simple pitch anchor rather than a characterful sound.
Move the slider to about 523.25 Hz and switch monitor mode to Composition. The nearest-note label resolves to C5, and the sound notes emphasize that the current tone can act as a quick interval or reference anchor.
This is useful when you want a note prompt without opening a larger keyboard or notation tool.
Choose a mid-to-high frequency such as 2000 Hz, switch to Square, set monitor mode to Alert cue, and raise volume only as much as needed. The pitch stays the same, but the waveform adds more edge, and the package begins warning more strongly if you also push the settings into its higher-frequency or higher-volume bands.
That combination can make the cue easier to notice, but it is also the clearest example of why the generator should be used conservatively for long listening sessions.
No. It generates a tone from the settings you choose. It does not listen to external audio and it does not compare your instrument against the generated note.
Because the pitch stays the same while the harmonic content changes. Square and sawtooth shapes add stronger upper partials than a sine wave, which makes the sound feel sharper or more prominent.
The package rounds to the nearest semitone. Once the chosen frequency crosses the midpoint between two note centers, the label flips to the next nearest note.
No. It changes only the advisory text in Sound Notes. Frequency, waveform, and volume are still the only settings that shape the tone.
No. It is the package's relative gain value. Real loudness depends on your device output, speakers or headphones, and how long you listen.
Browsers normally require a user action before generated audio can begin. The manual start keeps playback intentional and compatible with those audio rules.