2014-12-24 80 views
-2

我想將音頻文件(.wav/.mp3)轉換爲像C#中的字節數組。這是我的代碼,將音頻文件轉換爲matlab中的字節數組

string imageName = Guid.NewGuid().ToString() + ".mp3"; 
byte[] file = System.Convert.FromBase64String(Filep); 
File.WriteAllBytes(Server.MapPath("FILE/" + imageName), file); 
return imageName; 
+0

實際上這是工作。我想在matlab中做同樣的過程 – dinoos

+0

你想要原始音頻數據,還是隻想打開文件並訪問數據? – rayryeng

+0

我想要原始數據(將音頻保存爲矩陣) – dinoos

回答

2

如果要讀取原始音頻數據,請使用audioread。你怎麼稱呼它,像這樣:

[y,Fs] = audioread(filename); 

filename將您的文件(.MP3/.WAV)和返回什麼的文件名是存儲在y值矩陣和文件的Fs採樣頻率。 y將是一個矩陣,這樣行的數量就可以告訴你音頻組成的樣本數量,列數告訴你音頻有多少個通道。例如,單聲道音頻將是單列矢量,而立體聲音頻將是雙列矩陣:第一列是左聲道,第二列是右聲道。

欲瞭解更多信息,請查看我將您鏈接到上面的MathWorks文檔。

+0

我想獲得音頻文件的某些特殊特徵(如頻率或振幅)以便進一步分析。採樣率和採樣頻率不是我正在尋找的。我想匹配兩個音頻剪輯。第一個是原始音頻剪輯,第二個是該音頻剪輯的片段。 – dinoos

+0

@dinoos - 你在這裏要求的與你原來的帖子要求的內容相比,**不是**相同。你基本上正在尋找的東西已經由[Shazam](http://www.shazam.com)和[SoundHound](http://www.soundhound.com/)完成。他們通過查看兩個信號的頻率分解將音頻剪輯匹配在一起。 FWIW,Shazam算法已經公開,它的MATLAB代碼可以在這裏找到:http://labrosa.ee.columbia.edu/matlab/fingerprint/ - 順便說一句,你所要求的太寬泛。你不會從我們任何人那裏得到任何答案。抱歉。祝你好運! – rayryeng

相關問題