piapia123
ja

トーン生成(サイン波・矩形波・三角波・のこぎり波)

メディア

処理はすべてブラウザ内で完結します。データは送信されません

トーン生成

音量は既定で 30% です(ヘッドホンで最大音量は驚きます)。必要なら上げてください。音は「再生」を押してから鳴ります —— ブラウザの自動再生ポリシーにより、最初の発音はユーザー操作からでないと行えません。

⚠️ スイープは既定で**指数**です。人の聴覚は周波数に対して対数的なので、指数スイープが「一定の速さ」に聞こえ、線形スイープは「前半が遅く後半が速い」ように聞こえます。音量には 20〜50 ms のフェードを掛けています —— いきなり鳴らすと「プチッ」と鳴るためです。

ブラウザ上でその場で音を合成します。波形を選び、周波数(Hz または音符名)を入れて「再生」を押すと鳴ります。音声ファイルは使いません。 見落とされがちな点が 3 つあり、いずれも対応しています。1 つ目は音量のフェード —— 発振器をそのまま開始・停止すると波形が途中で切れて「プチッ」と鳴るため、20〜50 ms のゲイン包絡でフェードします。2 つ目はスイープが指数であること —— 人の聴覚は周波数に対して対数的なので、指数スイープが「一定の速さ」に聞こえます。線形スイープは「前半が遅く後半が速い」ように聞こえ、ヘッドホンの確認や共振点探しでは差がはっきり出ます。3 つ目は既定音量が 30% であること —— ヘッドホンで最大音量の 440 Hz をいきなり鳴らすと驚きます。 周波数は数字(`440`)でも音符名(`A4`、`C#5`、`Db3`)でも入力でき、対応する Hz と最も近い音符を表示します。20 Hz 未満や 20 kHz を超える場合は「聞こえない」と知らせ、特に 20 Hz 未満ではウーファーを傷める可能性も伝えます。 音は `AudioContext` がその場で合成し、音声ファイルを読み込まず、通信も一切行いません。

機能

  • サイン波(最も純粋)・矩形波・三角波・のこぎり波の 4 波形
  • 周波数は Hz でも音符名(440 や A4)でも入力でき、最も近い音符も表示
  • 音量は既定 30%(ヘッドホンでも驚きません)。再生中も調整できます
  • 左・右・両チャンネルを選べ、ヘッドホンやスピーカーの左右確認に使えます
  • 指数スイープ:開始周波数から終了周波数へ、長さを指定して滑らかに変化
  • 自動停止:秒数を入れると自動で止まり、0 なら手動で止めるまで鳴り続けます
  • 20〜50 ms のフェードイン・アウトで、鳴り始めの「プチッ」を消します
  • 20 Hz 未満・20 kHz 超は「聞こえない」と表示し、低域ではウーファーへの注意も促します
  • すべてブラウザ内で合成。音声ファイルを読み込まず、通信もしません

使い方

  1. 波形を選び、周波数(440 や A4 など)を入力します
  2. 音量とチャンネルを設定します
  3. 必要ならスイープをオンにし、開始・終了周波数と長さを入力します
  4. 「再生」を押します。自動停止の時刻で止まるか、「停止」で止めます

よくある質問

なぜ音量のフェードが要るのですか?
発振器をそのまま開始・停止すると、波形が 0 ではない値から急に 0(またはその逆)へ飛び、スピーカーがその不連続を「プチッ」というクリック音として再生するからです。20〜50 ms のフェードを入れるだけで消えます。
スイープが既定で指数なのはなぜですか?
人の聴覚は周波数を対数的にとらえるためです。20 Hz から 20 kHz への掃引では、指数スイープの中点がおよそ 630 Hz(幾何平均)、線形スイープの中点は 10 kHz(算術平均)で、桁が違います。指数なら「一定の速さで上がっていく」と聞こえ、線形は「前半が遅く後半が速い」と聞こえます。
音量が 30% なのはなぜですか?
ヘッドホンで 440 Hz のサイン波を最大音量でいきなり鳴らすと、驚くだけでなく聴力にも負担がかかります。まず小さめから始め、必要なら上げてください。
通信や音声ファイルの取得はありますか?
ありません。音は `AudioContext` のオシレーターがその場で合成し、音声ファイルを読み込まず、リクエストも一切送りません。オフラインでも使えます。
20 Hz 未満や 20 kHz 超だとどうなりますか?
どちらも「聞こえない」と表示します。特に 20 Hz 以下は、聞こえないだけでなくウーファーを傷めることがあるため、先に音量を下げるよう促します。

関連ツール