web-dev-qa-db-ja.com

任意のピッチ/周波数でトーン(サイン波など)を再生する方法は?

以下をインタラクティブに制御する機能を使用して、Webページから単一の連続トーン(サイン波など)を生成したいと思います。

  • 開始/停止音
  • ピッチを変える
  • 音量を変える

私は、さまざまなハードウェア、ブラウザー、および接続で動作する可能性がかなり高いソリューションを求めています。可能な限りシンプルで低帯域幅のもの。

私がアクセスしているハードウェア全体で確実に動作するように見える唯一の方法はFlashですが、私は本当に独自のソリューションを避けて、オープンスタンダードに準拠したオープンソースソフトウェアで何かを作りたいです。

これは可能ですか?

もしそうなら、どのように?

2
Ian Mackinnon

<audio>タグを使用してみて、onendedattributeを使用してループすることができます。このソリューションのクロスプラットフォーム互換性についてはわかりませんが、iPad、iPhone、または他の多くのモバイルデバイスでは動作しないFlashよりも優れている必要があります。

次に、特定の周波数の小さなオーディオクリップを生成するサーバー側スクリプトが必要です。つまりsrcタグのaudioが指すポイントは次のとおりです。

/generate_tone?freq={the frequency you want}
2
Lèse majesté

Javaは代替です。 Processing と呼ばれる開発環境があり、Javaを抽象化し、アーティストや一般の人々がグラフィックやマルチメディアを簡単にプログラムできるように作成されました。

プログラムをアプレット(またはクロスプラットフォームアプリケーション)として出力できます。

あなたのウェブサイトにアプレットがあれば大丈夫なら、これは良い方法です。

オーディオライブラリを使用して正弦波トーンを生成する例 を示します

0
milesmeow