• 締切済み

数値データの波形データから小さな山を検出

現在音声波形を扱っており、そのなかでWavファイルを数値データ化した音声波形から 山を検出したいと思っているのですが、何かよい方法はないでしょうか? 厳密には、小さな山を検出してそれを取り除きたいと思っています。 音声波形のデータは単純な整数値で、音声データ自体は5秒ほどのものです。

みんなの回答

回答No.1

レス付きませんねぇ。 > 厳密には、小さな山を検出してそれを取り除きたいと思っています。 ・・・これ、全然厳密ぢゃないですねぇ。 一般にはFFT解析して処理するのですが、 「小さな山」がどのような物かによるので回答しかねて いるのではないでしょうか。 「小さな山」=「幅の狭い山」=「高周波数ノイズ」 であれば、ローパスフィルタやバンドリジェクトフィルタを コードして通せば取れるでしょう。 「小さな山」=「振幅の小さな山」 なら、圧縮伸張をすればとれるかもしれません。

seagal07
質問者

補足

文章力の無さを痛感しました・・・ おっしゃる通り、小さな山とは振幅の小さな山のことです。

関連するQ&A

  • 音声波形データのグラフ化について

    音声波形データのグラフ化について 開発環境:Visual C# 入力音声データ:ステレオ 16bit 44100HzのWAVデータ 目標:Windows Form上に音声の波形データをグラフ描画(折線グラフ)し、波形エディタのようなガイドライン機能を付加する。 まず、グラフ化を行う際、1秒間に44100個のデータがある場合、データのプロット数が非常に多くなってしまい、秒数次第では波形の全体描画にとても時間がかかってしまうと思うのですが、こういった場合、どのようにグラフ化するとよいのでしょうか? また、波形上に波形エディタのようにガイドラインを表示して、ガイドラインの時間における音声データの出力値も表示したいと思っております。 ガイドラインの移動はトラックバーによる移動を考えているのですが、プロット数が多くなると、上記の問題により再描画が追いつかず、スムーズなガイドライン移動ができません。 現在、グラフライブラリであるNPlotやZedGraphを使用して、グラフ描画を行ってみたのですが、どちらもプロット数が多くなると、描画自体にとても時間がかかるようになってしまい、ガイドラインの移動なんて出来たものではありません。 良いやり方、また、参考になるサイト、サンプルなどありましたら、 どうか教えていただきたく、よろしくお願い致します。

  • wavファイルの波形データについて

    wavファイルのdataチャンクに含まれる波形データがどのような 形でファイルに入っているか教えてください。 また参考になるwebサイトなどでも構いません。

  • wav ファイルから音声を数値データとして取り出したい

    C++ 言語(あるいは C 言語)を使って、 wav ファイルから音声データを数値データとして 取り出すには、どうしたらいいのでしょうか。 質問が漠然としていたら補足させていただきますので、 どうぞよろしくお願いいたします。

  • 3個の山になっている連続数値データから各最大値を

    エクセルで3個の山になっている連続数値データがあります。 0.3 2.5 5.8 7.6 3.5 0.2 3.0 6.2 7.9 4.5 0.1 2.7 5.2 7.3 3.3 0.3 といった具合です。 このデータはたとえのデータで、実際の連続データの行数は3000行くらいです。 今は、まずこのデータのグラフを描いて、そのグラフの山をみてから、該当するおよその行を選択して、MAX関数で最大値を3つ別々に求めています。 この方法以外にそれぞれの3つの山の最大値を得る便利な方法がありましたら教えてください。 よろしくお願いします。

  • 音声波形のサンプルの取り方

    質問させていただきます。 大学の課題で、ある楽器の入力音声を録音し、ドレミの音階を判定するプログラムを作ることになりました。 プログラムの流れとしては、 入力音声 → フーリエ変換 → 周波数特性により識別 という流れになると思います。 そこで、まず入力音声を録音するソフトを探しています。 音声波形を数値としてのデータを取りたいのです。 録音した音声ファイルを、テキストエディタで見たとき 0.00000 13.0034 268.344 ・ ・ ・ のように数値化したファイルを作りたいです。 MATLABの場合、その機能があるようですが、 家で作れる範囲で作成したいです。 何かいいソフトはないでしょうか?? Windows、Linux(家はUbuntu)どちらで構いません。 よろしくおねがいします。 

  • 音楽を波形によって分類できるの?

    初めて質問いたします。 音楽&信号処理に関することです。 音楽をwavファイルの波形によってjazzっぽい曲,Classicっぽい曲…というようにある程度のカテゴリに分類したいと想っています。 まず、このことは可能なのでしょうか。 いろいろ考えたのですが、音色の特徴パラメータを波形から取り出してによって統計学的に分類しようと考えているのですが、 なにか音色を端的に表わす特徴を波形から抽出する方法としてどんな方法があるか全く思いつきません。 他にwavファイルの分類の解決策としてあれば知恵を貸していただきたいと思います。 信号処理関連はある程度、勉強してきましたが、まだ初心者レベルです。 宜しくお願いします。

  • wave形式(*.wav)のフォーマット(ゲイン情報)について

    wave形式(*.wav)のフォーマット(ゲイン情報)について waveファイルの音の大きさをバイナリファイルを自分編集して変えたいのですが、いろいろなサイトを見てもゲインの大きさをどうして変えればいいのかわかりません。自分の理解ではwaveファイルって音声データ自体は16bitの整数(0~32767の整数)だったと思うので、それに掛け算する係数みたいなものがヘッダーにあるのではないかと思って探してみたのですが空振りでした。それとも音声データ自体が浮動少数のデータでしたでしょうか? 以上、よろしくお願いします。

  • 波形データを格納するデータベース

    大学院生です。実証実験のためにデータベースの使用を考えています。 専門外でわからないことだらけなので、検索の糸口だけでも頂けると有難いです。 以下の要求に当てはまるデータベース(DBMS?)にはどのようなものがあるでしょうか ・いくつかの数値データを関連付けて管理したい ・数値データの中には、波形データもある(100サンプル程度の複素数値) ・高速に入出力が出来る方が良い ・複数アプリケーションからアクセス出来る方が良い それともう数点、 一般的なデータベースで複素数値は格納できますでしょうか。別のカラムを用意して、実部虚部別で管理する必要がありますか。 データベースは列(カラム)と行(レコード)でデータを管理するようですが、波形データをデータベースに格納する際には、以下のように各サンプル値を各カラムに収容するという考え方で良いのでしょうか。グルーピングして1つのカラムに収容する方法があったりするのでしょうか。 ID カラム1    カラム2    カラム3 … 1 サンプル値1 サンプル値2 サンプル値3 … 2 サンプル値1 サンプル値2 サンプル値3 …   データ量がさほど多くなければ、すべての値をデータベースでなくアプリケーション側の変数として格納しておくという形式もとれるのかなと思っていますが、このようにした場合に起きる問題点にはどのようなものがあるでしょうか。 回答をお願いします。

  • 音声の波形編集をしたいのですが、意味が分かりません

    外部から入力した音声を録音したのですが、 入力レベルが小さかったためか音が小さいです。 波形を編集してボリュームを大きくしたいのですが、 波形をどのように編集したらよいか分かりません。 波形の編集の仕方について書いてあるところはないでしょうか? 横軸は時間、縦軸は何か分かりません。 ボリューム調整をするときにdBを入力しますが、 適当に数字を入れると波形が振り切れて 音が割れてしまいます。 数字の意味が分かりません。 ファイル形式はwav 使用ソフトはSoundEngine Free ver.2.994です。

  • 24ビットのWaveデータの中身について

    バイナリ表示ソフトで中を覗いて、 3バイトずつ入っていることまで確認できたのですが、 実際10進数に直すとどうしても数値と波形が合いません。 一番左が符号だとすると正側に波形の山を波形ソフトで描き データを見ると000000,84D30E,EF3D24,64A53A,000000 となっていて64A53Aだけ他の2つと符号が違うのですが 24ビットのWAVEデータを数値にするにはどうすればいいんでしょうか? 3バイトずつ読み取るのがそもそも間違ってるんでしょうか?

専門家に質問してみよう