音声 へ戻る
モールス音声エンコーダ — テキスト → 欧文・和文モールス WAV/MP3 (CW)

モールス音声エンコーダ — テキスト → 欧文・和文モールス WAV/MP3 (CW)

**テキスト** を **モールス符号 (CW)** の **音声 (WAV / MP3)** に変換します。**欧文 (ITU-R M.1677)** と **和文 (いろは)** の両方に対応。**WPM** (5-50)、**周波数** (300-1500 Hz)、**音量**、**サンプルレート** (8 / 22.05 / 44.1 / 48 kHz) を調整可能。**Farnsworth タイミング** (文字 WPM と実効 WPM を分離して文字間ギャップだけ伸ばす CW 学習用) も実装。**プレビュー再生** で in-browser に確認 → WAV (16-bit PCM mono) / MP3 (lamejs) でダウンロード。**morse-decode-audio** に流して符号化が正しいか相互検証可能。CW 練習音源の自作、CTF 問題作成、アマチュア無線局識別子のテスト送出、レトロ電信教材に。**完全にブラウザ内** で合成、入力テキストはサーバーに送信されません。

音声開発

使い方

**符号系** ラジオで **欧文 (ITU)** または **和文 (いろは)** を選び、テキストを入力します。**WPM** (Words Per Minute、デフォルト 20)、**周波数** (デフォルト 600 Hz、世界中の CW 練習標準)、**音量** (デフォルト 60%)、**サンプルレート** (44.1 kHz)、**MP3 ビットレート** (192 kbps) を調整可能。**Farnsworth タイミング** = 「文字 WPM」 を保ったまま **実効 WPM** を下げると、文字間 / 単語間ギャップだけが伸びて初心者にも識別しやすい教材音源になります。**プレビュー再生** で確認 → **WAV** (無圧縮、相互検証向き) / **MP3** (小さい、配布向き) でダウンロード。生成されたモールス符号文字列 (`. -` / ` ` で文字区切り / ` / ` で単語区切り) は **生成モールス符号** 欄にも表示されます。

詳細解説

符号化されるテキストが持つ機微性

モールス音声に変換されるテキストは、入力者が伝えたい内容そのものです。学習目的でアルファベットの練習文字列を使う場合は問題になりませんが、実際のメッセージ、住所、識別情報、業務上の短文を符号化しようとするケースでは、入力テキスト自体が機密情報になります。符号化の目的がアマチュア無線の実際の交信準備であれば、オペレーターのコールサインや送信内容が入力されます。

Farnsworth タイミングの設定値 (文字 WPM と実効 WPM の差) は、使用者の技術水準を明確に反映します。何 WPM 速度の教材が必要かという情報は、使用者の現在の技術段階を示します。クラウドサービスがこれらの入力パラメータと入力テキストをセットで記録する場合、技術水準と内容が紐づいた記録が残ります。

テキスト→モールス変換をサーバーに送ることのリスク

モールス音声生成に特化したサービスは少ないですが、テキスト読み上げや音声合成の汎用サービスがこの機能を提供することがあります。入力テキストをサーバー送信してから音声を返す設計では、テキストの内容がサーバー上で処理・記録されます。モールス符号は可逆なため、音声ファイルを解析すれば元のテキストを復元できます。つまりサーバーには元のテキストも音声も届いていることになります。

和文モールス (いろは順カタカナ符号) を使う場合は、日本語テキストの内容がそのままサーバーに届きます。CW 練習用の自作教材、アマチュア無線試験の準備、実際の交信文面の練習など、目的によっては個人情報や業務情報が含まれる可能性があります。

PCM 合成と @breezystack/lamejs がブラウザ内で音声を生成する仕組み

このツールはテキストをモールス符号テーブル (欧文 ITU / 和文いろは) でルックアップし、ドット・ダッシュ・ギャップのタイミング列を PARIS 式 (`ドット長 ms = 1200 / WPM`) で計算します。Farnsworth タイミングは ARRL 式 (Jon Bloom, QST 1990) に従い、文字間と単語間ギャップを 3:7 比で延長します。タイミング列を 44.1 kHz の Float32Array に展開し、指定周波数のサイン波を ON 区間にのみ書き込んで 16-bit PCM に変換します。MP3 出力は `@breezystack/lamejs` で同一バッファからエンコードします。

DevTools の Network タブを開いてテキストを入力してもページロード後の追加リクエストはゼロです。符号テーブルの参照から PCM 合成、WAV ヘッダの付与、MP3 エンコードまでのすべてがブラウザのメモリ内で完結します。実装コードは GitHub で公開されており、サーバーへの送信がないことを監査できます。

モールス教材・CW 練習音源を作る際の実践的なポイント

Farnsworth タイミングで教材を作る場合は、最終的に目指す速度 (文字 WPM) に合わせて文字速度を設定し、実効 WPM だけを小さくします。学習が進むにつれて実効 WPM を文字 WPM に近づけていく方法が、ARRL 推奨の段階的習得法です。round-trip 検証には、生成した WAV を morse-decode-audio に通して元のテキストが復元されるかを確認します。

和文モールスは小書きカナ (ッ ャ 等) を大書き展開するため、復号時に元の表記には戻りません。制作する教材が小書きカナを含む場合は、音声と合わせて変換後の文字列も記録しておくと後から参照しやすいです。MP3 で配布する場合は 128 kbps 以上であれば WPM の速い練習音源でも符号の境界が崩れにくいです。

よくある質問

入力データはサーバーに送信されますか?
いいえ。テーブル参照 → モールス符号文字列化 → PCM 合成 → WAV/MP3 エンコードのすべてがブラウザ内 JavaScript で完結します。外部 API もありません。
モールス符号って何ですか?
**Samuel Morse** が 1838 年に発明した、長短 2 種類の信号 (**ドット ·** = 短点 / **ダッシュ —** = 長点) で文字を表す符号系。最初は電信線、その後無線通信 (CW = Continuous Wave) に応用されました。**ITU-R M.1677** で国際標準が定められ、現在もアマチュア無線・船舶通信・航空航法 (VOR/ILS) で現役。
欧文と和文の違いは?
**欧文 (International / ITU)** は A-Z + 0-9 + 主要記号で **約 57 符号**。**和文 (いろは / Wabun)** は **カタカナ 46 + 濁点 (゛) + 半濁点 (゜) + 長音 (ー) + 句読点** で **約 50 符号**。和文では濁音は「カ + ゛」のように **2 符号** で送出します (NFD 分解相当)。本ツールはひらがな入力を自動カタカナ化、濁音は自動分解します。
WPM (Words Per Minute) は?
**1 WPM = ドット長 1200 ms** で計算される速度の単位 (PARIS = 50 dot units を 1 分で送るとき 1 wpm)。**5 wpm** = 初心者、**15-20 wpm** = アマチュア無線実用、**25-30 wpm** = 中級、**40 wpm 超** = コンテスト・上級者。本ツールは 5-50 wpm に対応。
Farnsworth タイミングって?
**Russ Farnsworth (W2QYT)** が考案した CW 学習法。**ドット長は速く (例 18 wpm)** 保ったまま、**文字間 / 単語間ギャップだけ伸ばして実効 5-10 wpm** にする方式。「速い符号を体に覚えさせる」 + 「考える時間を確保する」を両立できるので、現代でも CW 入門の標準。本ツールは **文字 WPM** ≥ **実効 WPM** のとき自動的に **ARRL 公式 (Jon Bloom QST 1990)** で文字間 / 単語間を 3:7 比で伸ばします。
周波数 600 Hz の理由は?
**CW スポット周波数 (CW center)** として国際的に最もよく使われるトーン周波数。受信機の CW フィルタの中心と合わせやすく、長時間聞いても疲れない (人間の聴覚感度ピーク 2-4 kHz より低く、低周波の方が耳が痛くならない)。**400-800 Hz** がアマチュア無線の好み範囲、**1000 Hz 以上** は伝統的に Telegraph タイプライタ風で読みやすいとも言われます。本ツールは 300-1500 Hz に対応。
morse-decode-audio との関係は?
**morse-encode-audio** (本ツール): テキスト → 音声。**morse-decode-audio**: 音声 → テキスト (Otsu + dot length estimation)。**対称ペア** なので、本ツールで生成した WAV を decode 側に流すと **同じテキストが復元** されます (round-trip 検証推奨)。**morse-code** (developer): 音声を介さない文字列レベルでの双方向変換 (テキスト ↔ `. -` 文字列)。
dtmf-encode-audio との違いは?
**DTMF**: 電話のプッシュ音 (2 周波数加算)、16 シンボル (0-9 / * / # / A-D)、規格化された周波数。**Morse**: 単一周波数の ON/OFF (長短)、ITU 欧文 + 和文 + 各国独自符号、周波数は任意 (CW 慣習で 400-1000 Hz)。**信号モデル** (ON/OFF vs 2 周波数和) と **時間構造** (短点長点 vs 固定長トーン) が違うため別ツールです。
和文モールスでサポートしていない文字は?
**漢字** はモールス符号がないので未対応 (?でカウント)。**小書きカナ** (ッ ャ ュ ョ 等) は和文には専用符号がないので **大書きに展開** して送出 (ッ→ツ、ャ→ヤ)。decode 時には元の小書き形には戻りません (情報損失あり、FAQ で明示)。**英数字混在** は欧文モードで送るのが推奨 (和文は数字符号がない)。
MP3 vs WAV はどっちを使うべき?
**round-trip 検証 (morse-decode-audio)** には **WAV (無圧縮 PCM)** 推奨。MP3 は圧縮ノイズで envelope detection が若干荒れます。**配布・SNS 投稿・教材ダウンロード** には **MP3** が圧倒的に軽量 (1 分音声で WAV 約 5MB / MP3 1.5MB)。両方ダウンロードして用途で使い分けるのがおすすめ。

「送らない」を確かめるには

このツールは入力データを外部に送信しません。仕組み・監査手順・運営方針は以下で詳しく説明しています。

類似のツール

モールス音声デコーダ (WAV/MP3 → ドット・ダッシュ → テキスト)

モールス音声デコーダ (WAV/MP3 → ドット・ダッシュ → テキスト)

モールス信号を吹き込んだ **WAV / MP3 / OGG** オーディオファイルをアップロードすると、**音量エンベロープ検出 → 自動しきい値 (Otsu) → on/off セグメント → ドット/ダッシュ判定 → モールス文字列 → テキスト** の流れで自動デコード。**WPM (Words Per Minute) も推定**。CW (Continuous Wave) 練習音源、ハム無線の練習問題、サバイバル/CTF/教育用 SOS 信号の読解で活躍。**完全にブラウザ内** で処理 (Web Audio API)、音声ファイルはサーバーに送信されません。

音声開発
モールス信号 変換

モールス信号 変換

テキストとモールス信号を相互変換します。Mode 切替で「文字 → モールス」「モールス → 文字」を選び、文字セットは欧文 (ITU 国際モールス: A-Z / 0-9 / 記号) と和文 (いろは / カタカナ・濁点・半濁点・長音) を切り替え可能。符号間は半角スペース、語間は ' / ' で区切ります。和文は濁点・半濁点を Unicode 正規化 (NFD/NFC) で正しく分解・合成。すべてブラウザ内で処理され、入力テキストはサーバーに送信されません。

開発変換エンコードデコード
DTMF 音声エンコーダ — 0-9 / * / # / A-D → 電話プッシュ音 WAV/MP3

DTMF 音声エンコーダ — 0-9 / * / # / A-D → 電話プッシュ音 WAV/MP3

電話の **プッシュ音 (DTMF: Dual-Tone Multi-Frequency)** を **任意のキー列** から合成して **WAV / MP3** で書き出します。**16 シンボル** (0-9 / * / # / A-D) を **行 (697/770/852/941 Hz) × 列 (1209/1336/1477/1633 Hz)** の **2 周波数加算合成** で生成、**トーン長 / 間隔 / 音量 / サンプルレート (8/22.05/44.1/48 kHz)** を調整可能。**プレビュー再生** で確認してから WAV (16-bit PCM) / MP3 (lamejs) でダウンロード。**dtmf-decode-audio** の対称ペア — IVR 自動応答のテスト音源、CTF の問題作成、レトロ電話システム研究、phreaking 教材の動作確認に。**完全にブラウザ内** で合成し、入力テキストもサーバーに送信されません。

音声開発
テストトーン生成 (Hz)

テストトーン生成 (Hz)

任意の周波数 (20 Hz〜20 kHz) のテストトーンを Web Audio API で生成。波形は サイン波 / 矩形波 / 三角波 / ノコギリ波 から選択、A4 = 440 Hz / 1 kHz / 10 kHz 等のプリセット、音名 (A4・C5 など) と セント単位の音程ずれもリアルタイム表示。フェードイン/アウトでクリップノイズを回避、WAV (44.1 kHz / 16bit / モノラル) でダウンロード可能。楽器チューニング・スピーカーチャネル確認・聴覚テスト・テスト信号用途に。すべてブラウザ内で生成され、外部にデータは送信されません。

音声生成