Singing Recorder — Mic, Monitor, Upload, Playback & Download
Record yourself singing in the browser: one strip for mic, optional headphone monitoring, record and review, timeline scrub, and export to WebM, MP3, WAV, OGG, or M4A — files stay on your device, and processing uses the same local Web Audio pipeline as the rest of MusicalBoard (no upload of your takes to our servers). WebM is the recording as captured; the other formats are decoded and re-encoded in the browser. Use this page when you want a dedicated recorder workflow; pair with the pitch monitor or spectrum tools from the nav when you also want visual feedback.
Record your vocal practice and hear yourself objectively
Playback reveals habits you might not notice while singing — breathiness, pitch drift, and phrase endings — so you can focus the next run on what actually needs work.
Real-time monitoring to catch pitch issues while you sing
Open monitoring when you want latency-safe foldback (headphones strongly recommended). Adjust the monitor gain from the strip’s volume icon menu; pair with the Vocal Pitch page when you want a visual trace at the same time.
How to export your vocal practice session for review
Open the download menu, pick a filled slot (A–D), then WebM, MP3, WAV, OGG, or M4A. Each take is its own file. Filenames include the slot letter and recording time. Everything stays on your device.
Compare independent takes from the session tray
The Takes and backing panel always shows four slots (A–D). Select an empty slot, then record or upload into it. Auto-Tune and Vocal Isolator do not overwrite a take by themselves — Save to take asks which slot to write, then a name. Each slot has an × to delete that take, plus Delete all.
Upload a file and analyze it with the same playback tools
Use the upload button in the strip to bring in an existing take and analyze it with the same playback-driven pitch, spectrum, and range pipeline. Upload analysis runs locally in the browser and then behaves like a finished take: press Play to drive charts and gauges from the uploaded history.
Practice with a backing track and choose whether it is written into the take
Load a local accompaniment from the Takes and backing panel, set the start point on the backing gauge, then turn on Play under take so the file starts from that cue when you hit record. Keep Voice only if the saved take should stay dry, or switch to Mix into take to bake the accompaniment into the recording. Pitch analysis still uses the microphone only.
How to use the Controller (shared strip)
This strip is the shared transport for the microphone graph tools: one activation feeds Vocal Pitch, Level & Waveform, and dashboard pitch widgets with the same buffers and timing. Metronome and Scale Generator do not use the mic path, but their cards sit in the same app shell—each saves its own settings in local storage separately from this strip.
Getting started
- Click the microphone button and allow browser access when prompted. The icon switches between mic-on and mic-off artwork while capture is live.
- Recording is tied to the audio pipeline: capture a take, then use Play to review it or open other tool pages—the last recording stays available until you record again or reset.
- Tooltips describe each icon on hover (desktop). On mobile, open the Controller entry in the header menu if the strip is collapsed.
Main controls
- Microphone — Starts or stops capture from your mic. Disabled while a recording is playing or when the host page temporarily locks controls.
- Monitor — Toggles live monitoring of your input (speaker vs muted-speaker icon). Prefer headphones and a conservative monitor level to avoid feedback.
- Monitor output level — Click to open a small panel with a range slider (0 up to the app’s maximum gain) and a percentage readout. Dragging updates foldback immediately; the chosen level is saved in browser local storage for next time.
- Play / Pause — Plays or pauses the last captured take. Disabled while the mic is recording, until a take exists, or while controls are locked.
- Jump to start — Moves the playhead to 0:00. If playback was running, it keeps playing from the beginning. Disabled under the same rules as Play when there is no take.
- A↔B loop — Toggles section loop mode (see A↔B section loop below). On desktop it sits before Upload; on the mobile Controller grid row 3 runs Loop, Upload, Download, then Takes and backing.
- Upload — Imports an audio file and converts it into playback history for the same analyzer views. During processing, transport and edit controls are temporarily locked; use Cancel in the processing overlay to abort (see Upload & restore processing below).
- Download — Opens a menu: pick a filled slot (A–D), then format (WebM, MP3, WAV, OGG, M4A). Each take is its own file. Disabled when there is nothing to export or while the mic is live.
- Takes and backing — Opens the session tray. Four slots stay visible. Select an empty slot and record into it, or save a processed file from Auto-Tune / Vocal Isolator. × deletes one take; Delete all clears the bank. Rename is under the selected filled slot.
Skip ±10 seconds (transport icons)
After you finish a recording or upload a file, two extra transport buttons appear on either side of Play. They use the same enable rules as Play (not available while the mic is capturing, during upload analysis, or when controls are locked).
- Back 10 seconds — Double left-pointing triangles (skip-back / “rewind” style). Moves the playhead 10 seconds earlier, clamped to the start of the take (0:00).
- Forward 10 seconds — Double right-pointing triangles (skip-forward style). Moves the playhead 10 seconds later, clamped to the end of the take.
- During playback, skipping does not stop audio: the engine seeks to the new time and keeps playing, and the pitch graph, spectrum, and Range Map LIVE readout follow the new position.
- While paused, only the timeline position changes until you press Play again.
- The progress bar, current time label, and chart playheads update immediately—same mechanism as dragging the scrubber.
- Desktop layout — Order is: … volume, devices, Jump to start, −10, Play, +10, loop, upload, download, takes and backing, then the progress bar.
Backing track
A backing track is a local accompaniment you hear while you sing. It is not sent to MusicalBoard servers. Open the overlapping-card icon (Takes and backing) on the Controller strip; Backing is the lower block. During a mic recording every backing control is disabled, and stopping the take also stops the backing and rewinds it to the gauge cue.
- Load backing — First row. With nothing loaded, tap to pick an
audio/*file from this device (the same formats your browser can decode: typically WAV, MP3, M4A/AAC, OGG, WebM). After load, the button keeps a fixed width; a long file name scrolls right-to-left like a music player. - Remove backing — When a file is loaded, tap that same first-row button (the file name) to stop playback, drop the file, and return the label to Load backing.
- Play backing / Pause backing — Second row. Previews the file on a loop so you can check level and arrangement before you record. The label switches to Pause backing while it is playing. Disabled until a file is loaded or while you are recording.
- Backing gauge — Same style as the take progress bar. Drag it to set the cue; the next recording starts the accompaniment from that time. While the backing is playing, the fill follows the playhead.
- Play under take — On by default after you load a file. When it is highlighted and you start a new mic recording, the backing seeks to the gauge cue and plays under you. Turn it off if you only want to preview and do not want the file to start with the next take.
- Voice only / Mix into take — Voice only (default) keeps the saved take dry. Mix into take bakes the accompaniment into the recorded file from the same gauge cue after you stop. Pitch, spectrum, and range still use the microphone only either way.
- What is analyzed and stored — Pitch, spectrum, range, and the A–D take queue use the microphone (or an uploaded take) only. Headphones are strongly recommended so the accompaniment does not leak into the mic and pull the pitch trace.
- What is saved — The backing file, cue, and mix choices are stored in IndexedDB with the A–D takes (about 24 hours). Refreshing or opening another tool and coming back restores them. A take saved with Mix into take keeps the mixed audio.
Use this when you want a piano track, a minus-one, or a metronome-free groove while you record a phrase. For click-only practice, the Metronome tool is still the better fit.
Take bank (A–D)
Open the overlapping-cards icon to see four slots. Takes live in this browser for about 24 hours (IndexedDB); nothing is uploaded.
- Slots A–D — Always visible. Tap an empty slot, then record or upload into it. Tap a filled slot to play that take. Each slot shows its name and length.
- Name — After you record or save, a dialog asks for a name. The default is the date and time. Rename from the panel any time.
- Overwrite — Recording, uploading, or Save to take into a filled slot asks first, and shows the take name that would be replaced.
- Delete — The × on a slot removes that take after confirm. Delete all clears every slot.
- Save to take — Auto-Tune and Vocal Isolator keep the processed file on the tool page until you press Save Auto-Tuned as Take or Save Vocal as Take, choose a slot, and name it. That writes a new independent take, not a version of the original.
A↔B section loop
Use the circular-arrow loop button to repeat a slice of the take without manually scrubbing back each time. Loop mode is designed around the waveform minimap (canvas under the progress bar) so the main gauge does not shift or break layout.
- Turn on — Tap the loop button after a take exists. The minimap stays open, shows the waveform overview, and draws A (orange) and B (teal) markers with a highlighted band between them. Default range: start at the current playhead, end about five seconds later (clamped to the take length).
- Adjust A and B — Drag the A or B badge on the minimap (about 14px hit target). Markers cannot move closer than ~0.5s. Timestamps appear on the badges while dragging.
- Scrub while looping — With loop on, the progress range input is non-interactive (display only). Click or drag on empty minimap canvas to seek; the playhead line and charts update the same way as gauge scrubbing.
- Automatic wrap — During playback, when the playhead reaches B, the engine seeks to A and continues if audio was playing—same seek event as manual scrubbing, so pitch/spectrum views stay in sync.
- Turn off — Tap loop again. The minimap closes unless you are hovering or dragging the gauge on desktop. Looping stops; playback is not paused if it was already running.
On desktop, hovering the progress bar still shows a transient minimap when loop is off. At 930px width and below, open the header Controller drawer for the same controls; row 2 of the grid holds Jump to start, ±10s, Play, and Loop across five equal-width slots (see Mobile layout).
Mobile layout (narrow screens)
- At 930px width and below (header Controller drawer and this detail page), buttons use a grid instead of a single crowded row:
- Row 1 (4) — Microphone, Monitor, Monitor volume, audio devices.
- Row 2 (4) — Jump to start, Back 10s, Play/Pause, Forward 10s.
- Row 3 (4) — A↔B loop, Upload, Download, Takes and backing.
- Row 4 — Full-width playback progress bar with time labels.
- Touch targets stay at least ~40px tall; icon artwork scales down slightly so the strip fits without horizontal scrolling.
Progress bar & waveform minimap
- Shows current time and total duration (mm:ss.cc — centiseconds, two digits after the decimal) next to a wide range control. Drag, click along the track, use touch to seek, or use the ±10s buttons beside Play when the mic is not recording.
- Seeking dispatches playback position to the analyzer so pitch and spectrum views jump to that moment in the take.
- The bar is disabled while the microphone is actively capturing so you do not scrub mid-take by mistake.
- A compact waveform minimap appears below the bar on hover (desktop) or while scrubbing. It mirrors the take overview and the current playhead position.
- When A↔B loop is on, the minimap stays visible, draws the loop region and A/B markers on the canvas, and receives all seek and marker-drag input; the range input above is dimmed and ignores pointer events.
Plot settings (on pitch pages)
- On Vocal Pitch and similar views, a separate bar above the chart still holds pitch plot options (MIDI range, overlays, sensitivity). Those values are stored per page, not inside the Controller strip.
Upload & restore processing (overlay)
A full-screen overlay appears while the browser decodes audio and rebuilds pitch/spectrum history. Progress is shown as a percentage. Transport and most strip actions stay locked until processing finishes or you cancel.
- Fresh upload — Message: Analyzing uploaded file…. Runs the same offline analysis pipeline as a finished mic recording. On success, the take behaves like a normal recorded session (Play, scrub, charts). Cancel aborts the job and dismisses the overlay; the previous IndexedDB cache (if any) is left unchanged.
- Restore after refresh or revisit — Message: Restoring your recording — rebuilding analysis…. Shown when you reload the page or open a pitch tool again and a non-expired take is still in IndexedDB. The app reads the stored audio bytes and re-runs analysis locally (history is not stored on disk, only audio + light metadata).
- Cancel on restore — Stops the rebuild immediately, closes the overlay, and deletes the cached take from IndexedDB plus any in-memory session snapshot. The next full page load will not prompt you to rebuild the same file again. Use this if you do not want the old take restored.
- Route changes without a full reload may still pass a take through an in-memory snapshot (no overlay); only the disk-restore path uses the rebuild overlay and Cancel-to-clear-cache behavior.
Recording cache and delete behavior
- After a recording finishes or an upload completes analysis, the audio bytes plus a small metadata record (sensitivity, playback time, MIME type, timestamps) are written to your browser's IndexedDB on this device. Nothing is uploaded to a server, and other browsers or other devices won't see the take.
- The cache lets takes A–D and the backing file survive a page refresh or a move to another tool: when you return, each take's audio is restored and analysis is rebuilt locally. The selected slot is analyzed first; the others fill in in the background.
- Retention is capped at roughly 1 day (24 hours) from when the take or backing was saved. Once an entry is older than that, the next page load drops it.
- Closing the tab does not wipe the cache immediately. The 1-day TTL is the cleanup guarantee. Delete still removes the selected take right away; a full reset clears the bank and backing.
- Recording or uploading writes into the slot you selected. If that slot already has a take, you must confirm overwrite first.
- The × on a slot removes that take after you confirm its name. Delete all clears every slot.
- Plot settings (MIDI range, overlays, sensitivity, monitor gain, etc.) live in `localStorage` and are not affected by Delete, restore Cancel, or cache expiry — they always persist between visits.
Tips
- Use wired headphones when monitoring to reduce feedback; on phones, keep monitor volume low.
- Safari / iOS may require a tap to resume audio after the page loads—if meters stay flat, tap the mic or reload once with permission granted.
- Upload guide: max duration is 10 minutes and max file size is 50MB. If either limit is exceeded, the app blocks analysis and shows a warning.
- Extension policy: there is no strict hardcoded extension whitelist in the UI; the picker accepts `audio/*` and actual support depends on your browser’s decoder. In practice, WAV, MP3, M4A/AAC, OGG, and WebM are usually safe choices.
- If a file extension or codec is not supported by your browser, decoding can fail during analysis. Convert the file to a common format (for example WAV or MP3) and upload again.
- After upload starts, wait for analysis to finish before interacting with playback controls; once complete, Play uses the uploaded timeline just like a recorded take.
- This Controller detail page keeps the analyzer hidden while the strip runs against a hidden PitchAnalyzer instance; on the dashboard, the same controls sit above the cards.
- Metronome BPM/meter/subdivision preferences and Scale Generator root/interval/BPM/direction preferences each have their own local storage keys—adjust them on those cards without affecting monitor gain here.
Vocal practice ideas
- Load a backing, set the gauge cue, enable Play under take, pick Voice only or Mix into take, record into slot A, then save an Auto-Tune or isolated pass into B with Save to take and compare playback.
- Enable A↔B loop on a shaky high note or melisma, drag A/B on the minimap, and let playback cycle while you watch the pitch graph at that moment.
- Use Jump to start before a full listen-through, then loop a problem bar for deliberate practice.
- Monitor while you vocalize to catch pitch or tension issues before they become habits.
- Export a warmup or lesson clip for a coach, or archive monthly to hear long-term progress.
Help · 1 / 9
Pitch monitor
This page is the pitch graph. The bar above the chart sets the register and what gets drawn. The canvas is the trace. Microphone, record, and playback stay in the header, so they stay available while you sing.
Help · 1 / 22
Singing recorder
This page is the recorder itself. The strip here is the same controller as the header, shown in the page so each control can be walked through. On a wide screen the buttons sit in a row. On a narrow screen they use the same grid as the header drawer: mic row, transport row, file row, then the gauge. The header copy of this strip is separate and is not part of this tour.
