問題タブ [waveform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - mp3 からボリューム カーブを生成する
アップロードされたmp3を分析し、波形グラフィックを構築するために必要なデータを生成できるPythonで何かを構築しようとしています。私が見つけたものはすべて、必要以上に複雑です。最終的には、SoundCloud で見られるようなものを作ろうとしています。
numpy
とを調べてきましたfft's
が、すべてが必要以上に複雑に思えます。これに対する最善のアプローチは何ですか?キャンバスを使用して実際のグラフィックを作成するので、その部分については心配する必要はありません。プロットするデータが必要なだけです。
javascript - を使用したオーディオ データの前処理
こんにちは、私は現在、純粋な HTML5 w/Javascript で書かれたオーディオ波形エディターに取り組んでいます。
Mozilla<audio>
の.MozAudioAvailable イベントを使用して、各フレームのデータを取得し、キャンバスに描画することで、ある程度の進歩を遂げました。ただし、MozAudioAvailable では、現在再生中のフレームしか取得できません。
波形エディタとして、私のプログラムは、現在再生中の約数秒前にデータを検索して前処理する必要があります。つまり、00:05:00 を再生するとき、私のプログラムはおそらく 00:04:50 から 00:05 までの波形を表示する必要があります。 :10 なので、再生する前に 00:05:00 から 00:05:10 までのデータを前処理する必要があります。
解決策を得るためにインターネットを検索しました (Mozilla のアプローチに限定されず、Chrome または Opera のアプローチも受け入れられます) が、回答がありませんでした。preload プロパティと onprogress イベントは役に立ちません。<audio>
現在、元の音楽と同じ音楽を再生する別のタグを作成しようとしていますが、事前にデータを取得するために数秒速くなります。ただし、ご覧のとおり、ソリューションはかなり汚いです。
HTML5 グループがマルチメディア オブジェクトを処理するためのより柔軟な方法に取り組んでいるのか、それともブラウザ開発チームがこれに取り組んでいるのか疑問に思っています。このトピックに関するアイデアや経験があれば、教えてください。どうも。
アップデート:
多分私は私の質問を明確に説明していません。以下は、私のターゲットを示す可能性のある Audacity から取得した写真です。
約 1:55.10 の縦線は、現在再生中のフレームを示します。行の左側のフレームについては、プログラムによって保存された履歴フレームを使用できます。しかし、まだ再生されていない行の右側のフレームについては、再生される前に取得できません。
醜い解決策は<audio>
、元のタグよりも速く再生される別のタグを追加することです (スクリーンショットでは 1:55.90 で再生されるはずです)。これにより、垂直線の右側にフレームを取得できます。しかし、それは醜く、実装するのは簡単ではありませんよね?
python - オーディオ ファイルの 1 秒あたりの最大振幅を取得する
ここに同様の質問がいくつかあることは知っていますが、それらのほとんどは波形画像の生成に関するものであり、これは私が望んでいるものではありません。
私の目標は、SoundCloud に似ていますが、画像ではなく、オーディオ ファイルの波形視覚化を生成することです。配列内のオーディオ クリップの各秒 (または 0.5 秒) の最大振幅データを取得したいと考えています。次に、このデータを使用して、CSS ベースのビジュアライゼーションを作成できます。
理想的には、オーディオ ファイル全体の最大振幅のパーセンテージとして、毎秒のすべての振幅値を持つ配列を取得したいと考えています。次に例を示します。
少なくともnumpy
Python のwave
モジュールを使用する必要があると思いますが、必要なデータを取得する方法がわかりません。Python を使用したいのですが、ある種のコマンドライン ツールの使用に完全に反対しているわけではありません。
iphone - AVAssetReaderとARCを使用した波形の描画
ARCを使用しているときに、 Unsynchronizedの回答(AVAssetReaderを使用して波形を描画する)を適用しようとしています。必要な変更はわずかで、ほとんどがリリースステートメントでした。素晴らしい答えをありがとう!iOS5デバイスをターゲットにしたXcode4.2を使用しています。
しかし、すべてを呼び出そうとしている間、私は最後に1つのステートメントで立ち往生しています。
ここに示す方法:
initWithMPMediaItemを呼び出すと、次のエラーが発生します。
クラスヘッダーでメソッドinitWithMPMediaItemが宣言されているので、なぜこのエラーが発生するのか本当にわかりません。
数時間これに頭を包み込もうとしていたが、役に立たなかった。このタイプのメソッドのメソッド宣言は間違っていますか?ありがとう!
c - C - のこぎり波のフーリエ変換級数
基本的にこれを中心に構築されたAudio Unitを使用して、iOSシンセを構築しています。
単純な ASR エンベロープと、正弦波、三角波、方形波を既にサポートしています。
サインは単純に、
正方形は
現在、三角形は次のように非ループ FFT を使用しています。
しかし、のこぎり波がわかりません。試してみ2*(theta - floor(theta) - 0.5)
ましたが、(クリッピングによるものではなく) エイリアシングされて歪んでしまいました。フーリエ変換シリーズでビルドする必要がありますが、C で実装する方法がわかりません。
誰でも助けてくれますか?
python - Python: 文字列に沿った 1D 波動をシミュレートするプログラムを作成する
私は、最終的にさまざまな波束をシミュレートするために、1 次元の文字列に沿って波動をシミュレートするプログラムに取り組んでいます。「計算科学のための Python スクリプティング」という本の中で、波動を記述すると主張するプログラムを見つけましたが、それを実装する方法はよくわかりません (この本は Google ブックスにあり、その前後のテキストは表示されません)。コード)。
たとえば、「f」は x と t の関数であり、「I」は x の関数であることは理解していますが、波を生成するために実際に必要な関数は何ですか?
ios - iOSでは、現在のトラックの波形またはスペクトルデータを取得できますか?例:イコライザー
iOSで現在再生中のトラックからスペクトルデータを読み取ることは可能ですか?たとえば、iTunesのものと同様のイコライザーを作成するには?
r - 波形を一連のポイントに適合させ、そこから離散間隔を選択します
正確な時間ではない間隔でサンプリングされた値のdata.frameがあります。サンプルは、振幅と周期が不明な振動波を形成します。正確な時間ごとに値を見積もりたいと思います。
RIでこのデータセットに曲線を適合させ、指定されたポイント(63,64,65,66 ...)でサンプリングする方法はありますか?私は知ってspline()
いますが、「時間」の正確な整数値を取得する方法がわかりません。
編集:明確にするために、これは私が欲しい結果のデータフレームです('value'のダミーエントリを含む)
データを再作成するコード:
c++ - 波形描画用ライブラリ
リアルタイム録音の波形やスペクトルをプロットするライブラリを探しています。
Windows XP で C/C++ と Qt 4.8.1 を使用しています。
オーディオ ソースは 8 つの異なるマイク (将来的にはさらに増える可能性があります) から取得されるため、8 つの波形をあまり遅延なくプロットするのに十分な速さのレンダリングが必要です。Portaudio を使用してデータを取得しています。
トラックを録音する必要はありませんが、リアルタイムで計算を行う必要があります。私はこれが物事を遅くするかもしれないことを知っているので、最終的にはスペクトルプロットにも満足するでしょう.
Qt のSpectrum Analyzer
デモをコンパイルして実行しようとしましたが、かなり遅いことがわかりました (約 1 秒の遅延)。そんなに遅いと思われるのか、それとも何かが足りないのかわかりません...
Web を検索すると、MathGLに出会いましたが、この目的に適しているかどうかはわかりません。より具体的なものを使用する方がよいかもしれません。
できるだけ携帯性を高めたいと思っていますが、携帯性よりも使いやすさを優先しています。
助言がありますか?
java - Java でタイムライン ベースの編集 GUI を作成する
Javaでタイムラインベースの編集GUIを作成したい-ビデオ編集ソフトウェア(たとえば、Adobe Premierなど)のスタイルで。以下は、GUIをどのように念頭に置いているかを示す画像です(直接含めないで申し訳ありません-新しいユーザーとして、その機能は無効になっています):
現在実装されているのは、上部のタイムライン スライダー ( JSlider
) だけです。残りはすべて Photoshop で構成されています (スライダーからレイヤーを通過する黒い線も)。
私の質問はあまり具体的ではありません。残りをできるだけうまく実装するにはどうすればよいかを入力したかっただけです。もう少し正確に言うと、次のトピックへのヒントをいただければ幸いです。
- GUI全体を整理する方法-すべてのレイヤーを上から下に移動する時間インジケーターラインについて?
- 波形を視覚化する方法、使用できる優れた (そして無料の) パッケージはありますか? (音声ファイルは MP3 または WAV)
- テキスト セグメント レイヤーに使用する要素 (何らかの形でドラッグ アンド ドロップ可能にする必要があります) -> JLabels、JButtons、ドラッグ アンド ドロップ機能を最適に解決するにはどうすればよいですか?
いいアドバイスや正しい方向への指摘はとても親切です!