Tone Generator
{{ frequency.toFixed(1) }} Hz
{{ waveformLabel }} waveform
Volume {{ (volume * 100).toFixed(0) }}% Note {{ nearestNote }} {{ playing ? 'Playing' : 'Stopped' }}
{{ frequency.toFixed(1) }} Hz
{{ (volume * 100).toFixed(0) }}%
MetricValueCopy
{{ row.label }} {{ row.value }}
Priority Sound note Rationale
{{ note.priority }} {{ note.note }} {{ note.rationale }}

        
:

Introduction

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.

Everyday Use & Decision Guide:

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.

  • If you want a neutral reference tone, use Sine, keep volume low, and watch the nearest-note label while you fine-tune the frequency.
  • If you want to compare timbre rather than pitch, keep the frequency fixed and switch only the waveform so the harmonic change is obvious.
  • If you are prototyping an alert cue, check the Sound Notes after moving above the midrange. The package becomes more cautionary at high frequency or higher volume.
  • If you are aiming for a softer ambient cue, stay at the lower end of the range, use a gentler waveform, and remember that your device volume still matters as much as the on-page slider.

Technical Details:

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.

m = round(12×log2(f440)+69) octave = m12-1
Core package behaviors for the tone generator
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.

Step-by-Step Guide:

  1. Set the Frequency slider near the pitch or test tone you want to hear.
  2. Leave Waveform on Sine for a first pass unless you already know you want a brighter harmonic profile.
  3. Choose the Monitor mode that best matches your purpose so the advisory notes use the right framing.
  4. Keep Volume conservative, then press Start to begin playback.
  5. Watch the summary badges and the Details tab. If the nearest-note label is not what you want, move frequency in small increments until it lands on the target note.
  6. Open Sound Notes when you want package-specific guidance about audibility, timbre, or comfort at the current settings.
  7. Stop playback when you are done, then export CSV, DOCX, or JSON if you need to keep the setup.

Interpreting Results:

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.

How to read the main outputs
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.

Worked Examples:

  1. A clean A4 reference

    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.

  2. A composition pitch anchor

    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.

  3. A sharper alert cue prototype

    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.

FAQ:

Does this tool detect the pitch of my instrument or microphone input?

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.

Why can the same frequency sound brighter after I change waveform?

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.

Why does the note label jump suddenly near a boundary?

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.

Does monitor mode change the sound itself?

No. It changes only the advisory text in Sound Notes. Frequency, waveform, and volume are still the only settings that shape the tone.

Is the volume readout a hearing-safety measurement?

No. It is the package's relative gain value. Real loudness depends on your device output, speakers or headphones, and how long you listen.

Why do I have to press Start before anything plays?

Browsers normally require a user action before generated audio can begin. The manual start keeps playback intentional and compatible with those audio rules.

Glossary:

Frequency
The number of waveform cycles per second, expressed here in hertz.
Waveform
The repeating shape of the generated signal, which affects harmonic content and timbre.
Harmonic
A frequency component above the fundamental that changes how bright or complex a tone sounds.
Nearest note
The closest equal-tempered note label derived from the selected frequency.
Gain
The package's internal level control for the generated sound.