ホームページ > コンピューターのチュートリアル > コンピュータ知識 > MATLABを使用して音声データベースを抽出する方法

MATLABを使用して音声データベースを抽出する方法

WBOY
リリース: 2024-01-17 14:48:05
転載
1226 人が閲覧しました

MATLABを使用して音声データベースを抽出する方法

matlab を使用して音声データベースを抽出する方法

1. audioread(''); 関数を使用して、コンピュータ内のオーディオ ファイルを読み取ります。パラメータはオーディオ ファイルのパスです:

[サンプルデータ,FS] = audioread('F:1.mp3');

sampledata はオーディオ信号データを保存します。FS はオーディオのサンプリング レートで、MP3 形式のサンプリング レートは通常 44100;

音声データがバイノーラルかどうかを判断し、バイノーラルの場合は 1 チャンネルのデータを保持します。これは、calsample.m ファイルの機能を使用して実現できます。ファイルの内容は次のとおりです:

関数サンプル = calsample(sampledata,FS)

temp_sample = resample(sampledata,1,FS/11025);

[m,n] = サイズ(temp_sample);

if (n == 2)

サンプル = temp_sample(:,1);

###それ以外###

サンプル = temp_sample;

###終わり### ###終わり###

Matlab データベース プログラミング

A. 単純な UPDATE を使用します

次の例は、UPDATE ステートメントから WHERE 句が削除された場合にすべての行がどのような影響を受けるかを示しています。

次の例は、publishers テーブル内のすべてのパブリッシャーが本社をジョージア州アトランタに移転した場合に、publishers テーブルがどのように更新されるかを示しています。

発行者を更新

都市 = 'アトランタ'、州 = 'GA'

を設定

この例では、すべての発行者名を NULL に変更します。

発行者を更新

SET pub_name = NULL

計算値はアップデートでも使用できます。この例では、titles テーブル内のすべての価格を 2 倍にします。

タイトルを更新

セット価格 = 価格 * 2

B. UPDATE ステートメントで WHERE 句を使用する

WHERE 句は、更新する行を指定します。たとえば、次の架空の出来事では、北カリフォルニアはパシフィカ (PC と略称) に名前が変更され、オークランドの住民は投票で都市の名前をベイ シティに変更します。この例では、オークランド市の住所が古いすべての以前の居住者に対して authors テーブルを更新する方法を示します。

著者を更新

SET 州 = 'PC'、都市 = 'ベイシティ'

WHERE 州 = 'CA' AND 都市 = 'オークランド'

他の北カリフォルニア都市の住民のために州名を変更するには、別の声明を作成する必要があります。

C. UPDATE ステートメントを通じて別のテーブルの情報を使用する

この例では、titles テーブルの ytd_sales 列を変更して、sales テーブルの最新の販売レコードを反映します。

タイトルを更新

SET ytd_sales = タイトル.ytd_sales sales.qty

タイトル、売上から

WHERE title.title_id = sales.title_id

AND sales.ord_date = (SELECT MAX(sales.ord_date) FROM sales)

この例では、特定の製品が特定の日付に 1 つのバッチの売上のみを記録し、更新が最新であると想定しています。これが当てはまらない場合 (つまり、同じ日に特定の品目に対して複数の売上が記録される可能性がある場合)、ここで示した例は間違っています。この例は正しく動作しますが、その日に実際に販売されたバッチの数に関係なく、各アイテムは 1 つの販売バッチのみで更新されます。これは、UPDATE ステートメントが同じ行を 2 回更新することがないためです。

特定のアイテムの複数のバッチが同じ日に販売される可能性がある状況では、次の例に示すように、UPDATE ステートメントで各アイテムのすべての売上を合計する必要があります。

タイトルを更新

SET ytd_sales =

(合計(数量)を選択してください

販売から

WHERE sales.title_id = title.title_id

AND sales.ord_date IN (SELECT MAX(ord_date) FROM sales))

タイトル、売上から

D. SELECT ステートメントで TOP 句を指定した UPDATE ステートメントを使用する

この例では、authors テーブルの最初の 10 人の著者の state 列を更新します。

著者を更新

SET 状態 = 'ZZ'

FROM (トップ 10 を選択 * 著者から au_lname で注文) AS t1

WHERE authors.au_id = t1.au_id

MATLAB を使用してデータセットをデータベースにインポートする方法

xlswrite 関数は m ファイル内で直接使用できます: (ファイル名/シート/範囲は一重引用符で囲む必要があります)

xlswrite(filename, M); 行列 M のデータを filename という名前の Excel ファイルに書き込みます。

xlswrite(filename, M,sheet); 行列 M のデータを filename で指定されたシートに書き込みます。

xlswrite(filename, M, range); 行列 M のデータを filename という名前の Excel ファイルに書き込み、保存領域は「C1:C2」のように範囲で指定されます。

xlswrite(filename, M,sheet, range); 前のコマンドに基づいて保存するシートを指定します。

status = xlswrite(filename, ...); 完了ステータス値を返します。書き込みが成功した場合、ステータスは 1 になり、書き込みが失敗した場合、ステータスは 0 になります。

[ステータス, メッセージ] = xlswrite(filename, ...);書き込み操作によって生成されたエラーまたは警告情報を返します

アプリケーション例

例 1: デフォルトのワークシートにデータを書き込む

7 要素ベクトルを testdata.xls に書き込みます。デフォルトの形式では、データはファイルの最初のワークシートのセル A1 から G1 に書き込まれます。 xlswrite('testdata.xls', [12.7 5.02 -98 63.9 0 -.2 56])

例 2: 指定されたワークシートに混合データを書き込む

d = {'時間', '温度'; 12 98; 13 99; 14 97};

s = xlswrite('tempdata.xls', d, '温度', 'E1')

以上がMATLABを使用して音声データベースを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:docexcel.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート