Differences Between Standard and Robot Voices
This tool includes two completely different speech synthesis engines: "Standard Voice" for listening to entered text as audio, and "Robot Voice" for exporting it as a file.
First, the Standard Voice calls the Web Speech API built into your OS and browser. It reads text using the speech engine provided by your environment, but voice tone and pronunciation quality depend on that environment, and audio cannot be retrieved directly as a file due to the API specification.
It is positioned strictly as a preview-only feature.
On the other hand, Robot Voice is a mode where this tool generates waveforms independently using the browser's Web Audio API for export.
It approximates vowel and consonant frequency characteristics (formants) of entered characters by combining audio nodes such as oscillators and filters, outputting an electronic synthesizer sound.
Therefore, the saved audio has a mechanical, retro robot-like tone that differs completely from the standard voice during preview.
Even when switching the synthesis mode to "Robot Voice", pressing the preview button always plays the standard voice, so please keep in mind that it does not match the tone actually exported to a file.
Handling of Input Characters and Kanji
How entered text in the text area is processed and voiced differs greatly depending on the selected synthesis engine. Raw text input is limited to 2,000 characters, and raw text exceeding this limit is rejected even for Standard Voice previews, while Robot Voice generation requires an estimated duration of 60 seconds or less.
When previewing with Standard Voice, the OS speech synthesis engine interprets readings and context to some extent, reading aloud with natural intonation.
However, in Robot Voice mode, which exports the actual audio file, character interpretation is extremely limited.
Robot Voice assigns simplified phonemes strictly to ASCII letters and digits, whitespace characters, hiragana, and katakana. Kanji and unsupported symbols are stripped during normalization, and input containing only kanji or symbols is rejected.
Because characters map mechanically to individual sound units, natural English pronunciation, fluent pitch accents, or context-aware Japanese readings are not guaranteed.
For Japanese text containing kanji, convert characters into hiragana or katakana beforehand.
Pitch and Speed
This tool provides two sliders, pitch and speed (speech rate), as parameters for adjusting the acoustic characteristics of generated audio.
Both settings allow values from a minimum of 0.5 to a maximum of 2.0 in increments of 0.1, based on the default value of 1.0.
For pitch adjustments, Standard Voice alters voice height and tone, while Robot Voice directly scales the fundamental frequency (the base oscillator frequency) of the synthesized waveform.
Setting a higher pitch produces higher-pitched electronic tones, while a lower pitch produces deeper mechanical tones. Speed adjustment controls speech tempo.
Larger values shorten the pronunciation duration per character, resulting in faster speech.
These parameter changes apply to both preview playback with Standard Voice and recording/export processing with Robot Voice. However, for Standard Voice, responsiveness and boundary limits to pitch or speed changes may vary depending on the OS engine, and configured numbers might not be reflected linearly.
In contrast, Robot Voice calculates pronunciation duration and frequency in milliseconds based on specified parameters, generating and playing waveforms to timing on the audio context.
Environment Dependency of Previews
The preview playback feature using "Standard Voice" heavily depends on user runtime environments (OS type, version, browser used, etc.) for its quality and behavior.
The tool extracts voices whose language codes start with ja (Japanese) or en (English) recognized by the browser and provides them as options.
Built-in voice options vary across platforms such as Windows, macOS, iOS, and Android, and the selection menu lists only available Japanese and English voices exposed by your browser rather than every installed system package.
When a selected voice reports a localService value of false, synthesis requests may be routed to external remote services under platform settings instead of processing audio locally.
Consequently, how text entered for preview playback is handled is left to the internal specifications of the selected voice model.
While instructions to generate audio data from input text are issued inside the browser, please check the characteristics of your environment and selected voice engine before using the preview feature.
Robot Recording and WAV Conditions
Executing the "Generate Audio File" button in Robot Voice mode initiates a real-time recording process inside the browser using the MediaRecorder API.
During processing, busy and generation guards prevent duplicate starts and stale updates while locking input text, voice type, pitch, and rate settings.
It does not use external input devices like microphones (getUserMedia), capturing an internally generated stream from real-time Web Audio API synthesizer waveforms while also connecting playback to the speakers during recording.
Recording continues for the speech duration calculated from character count and speed with an added 0.4-second margin. When recording settles, media tracks are stopped, and the AudioContext is closed in a finally block; on errors, empty chunks, or missing stop events, an additional 10-second watchdog timer ensures the process eventually settles, though not all browser-specific behaviors can be guaranteed.
The resulting Blob URL from a successful recording is kept active for playback and download until it is replaced by a new generation or revoked upon unmounting.
If post-recording audio decoding fails or does not finish within 5 seconds, it falls back to the native recording format instead of exporting a 16-bit PCM WAV file.
The final format of the exported audio file branches depending on processing success. Once recording finishes, an attempt is made to re-decode the captured media data (typically WebM or MP4 depending on the browser) on the audio context.
If this decoding succeeds, it converts the extracted raw audio buffer into 16-bit uncompressed WAV binary data playable across wider applications and exports it after calculating the output size.
On the other hand, if decoding fails in a specific environment, a fallback mechanism operates rather than aborting with an error, providing the recorded WebM or MP4 data generated by MediaRecorder in its original format for saving.
Pre-Use Verification and Audio Data Handling
Before using this tool, please understand the technical processes regarding the handling of input text and generated audio data. This system utilizes standard Web APIs implemented in browsers (SpeechSynthesis, Web Audio, MediaRecorder, etc.) and achieves its functionality entirely through front-end JavaScript processing.
In file export via Robot Voice, all computations mapping input characters to vowel and consonant frequency parameters and constructing waveforms are executed entirely within current browser memory.
No mechanism is built into the tool to transmit text or recorded audio data to a specific database for persistence. However, general HTTP requests for site operation, such as retrieving necessary web page resources, may transmit cookies and related information separately.
Furthermore, as mentioned in Chapter 4, preview with Standard Voice may select voice models that involve external processing depending on the environment, so data communication varies by user environment.
Please clearly distinguish the functional scope and boundaries of browser processing, and verify intended formats and character restrictions (such as kanji exclusion) before exporting.