跳至內容

使用MATLAB提取語音數據庫的方法

更新時間
快连VPN:速度和安全性最佳的VPN服务
快连VPN:速度和安全性最佳的VPN服务

語音數據庫怎麼用matlab提取

1、用audioread('');函數讀取電腦中的音頻文件,參數是音頻文件的路徑:

[sampledata,FS] = audioread('F:1.mp3');

sampledata保存音頻信號數據,FS是音頻採樣率,MP3格式的採樣率一般爲44100;

判斷音頻數據是否爲雙聲道,如是雙聲道則保留一個聲道的數據,可使用calsample.m文件的函數實現。文件內容如下:

function sample = calsample(sampledata,FS)

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

[m,n] = size(temp_sample);

if (n == 2)

sample = temp_sample(:,1);

else

sample = temp_sample;

end

end

Matlab數據庫編程

A. 使用簡單的 UPDATE

下列示例說明如果從 UPDATE 語句中去除 WHERE 子句,所有的行會受到什麼影響。

下面這個例子說明,如果表 publishers 中的所有出版社將總部搬遷到佐治亞州的亞特蘭大市,表 publishers 如何更新。

UPDATE publishers

SET city = 'Atlanta', state = 'GA'

本示例將所有出版商的名字變爲 NULL。

UPDATE publishers

SET pub_name = NULL

也可以在更新中使用計算值。本示例將表 titles 中的所有價格加倍。

UPDATE titles

SET price = price * 2

B.把 WHERE 子句和 UPDATE 語句一起使用

WHERE 子句指定要更新的行例如,在下面這個虛構的事件中,北加利福尼亞更名爲 Pacifica(縮寫爲 PC),而奧克蘭的市民投票決定將其城市的名字改爲 Bay City。這個例子說明如何爲奧克蘭市以前的所有居民(他們的地址已經過時)更新表 authors。

UPDATE authors

SET state = 'PC', city = 'Bay City'

WHERE state = 'CA' AND city = 'Oakland'

必須編寫另一個語句來更改北加利福尼亞其它城市的居民所在的州名。

C.通過 UPDATE 語句使用來自另一個表的信息

本示例修改表 titles 中的 ytd_sales 列,以反映表 sales 中的最新銷售記錄。

UPDATE titles

SET ytd_sales = titles.ytd_sales + sales.qty

FROM titles, sales

WHERE titles.title_id = sales.title_id

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

這個例子假定,一種特定的商品在特定的日期只記錄一批銷售量,而且更新是最新的。如果不是這樣(即如果一種特定的商品在同一天可以記錄不止一批銷售量),這裏所示的例子將出錯。例子可正確執行,但是每種商品只用一批銷售量進行更新,而不管那一天實際銷售了多少批。這是因爲一個 UPDATE 語句從不會對同一行更新兩次。

對於特定的商品在同一天可銷售不止一批的情況,每種商品的所有銷售量必須在 UPDATE 語句中合計在一起,如下例所示:

UPDATE titles

SET ytd_sales =

(SELECT SUM(qty)

FROM sales

WHERE sales.title_id = titles.title_id

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

FROM titles, sales

D. 將 UPDATE 語句與 SELECT 語句中的 TOP 子句一起使用

這個例子對來自表 authors 的前十個作者的 state 列進行更新。

UPDATE authors

SET state = 'ZZ'

FROM (SELECT TOP 10 * FROM authors ORDER BY au_lname) AS t1

WHERE authors.au_id = t1.au_id

如何用matlab把數據集導入數據庫

你可以直接在m文件裏面用xlswrite函數:(filename/sheet/range都是要加單引號滴)

xlswrite(filename, M);將矩陣M的數據寫入名爲filename的Excel文件中。

xlswrite(filename, M, sheet);將矩陣M的數據寫入文件名爲filename中的指定的sheet中。

xlswrite(filename, M, range);將矩陣M中的數據寫入文件名爲filename的Excel文件中,且由range制定存儲的區域,例如'C1:C2'.

xlswrite(filename, M, sheet, range) ;在上一條命令的基礎上指定了所要存儲的sheet。

status = xlswrite(filename, ...) ;返回完成狀態值。如果寫入成功,則status爲1;反之寫入失敗,則status爲0.

[status, message] = xlswrite(filename, ...);返回由於寫入操作而產生的任何錯誤或警告信息

應用舉例

例一:將數據寫入默認的工作表中

將一七元素向量寫入testdata.xls中。默認格式下,數據將寫入文件中第一個工作表的A1至G1單元格。 xlswrite('testdata.xls', [12.7 5.02 -98 63.9 0 -.2 56])

例二:將混合數據寫入制定工作表中

d = {'Time', 'Temp'; 12 98; 13 99; 14 97};

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

以上就是使用MATLAB提取語音數據庫的方法的詳細內容,更多請關注本站其它相關文章!

更新時間

發表留言

請注意,留言須先通過審核才能發佈。