SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
R で 音 声 解 析
K A S H I WA . R # 1 0
あ る 日 、 オ ラ クル が お り て き た …
• 以前のKashiwa.Rでピンクのマカロンプロットという
狂った発表をしてから、面白いネタを探していた…
R で 音 声 解 析 を して み よ う !
• でもどうやって…?
• パッケージを使おう
機能ごとのパッケージの一覧
とか欲しい。
タグとかつけたら便利そう。
パッケージ探しにぜひ使って欲しいページ
PA C K A G E S
• sound
• csound
• seewave
(fftw)
• audio
• tuneR
PA C K A G E S
• sound : wavファイルをいじれる
• seewave : I/O of sound wav, 周波数とか
• tuneR : wavファイルをいじれる seewaveが依存
gccのsndfileライブラリーのSndfileHandleクラスを使うらしい
seewaveは.soを使うのでmac OSXの人はバイナリを落としましょう
ライブラリの嬌声が聞こえる…
soundはバイナリ直に読んでるらしい
1991. RIFF wave format by IBM and Microsoft
1秒間に何回サンプルするか。
44.1KHZで2-20000HZを再生できる
http://www.kk.iij4u.or.jp/~kondo/wave/
• 4GBまでしか作れないWAVはオワコン
• RにはWAM対応ライブラリがない(見つからない)のでチャンス
• tuneRはmp3は読める。多分。
Wikipedia
PA C K A G E S
• sound : wavファイルをいじれる
• seewave : I/O of sound wav, 周波数とか
• tuneR : wavファイルをいじれる seewaveが依存
gccのsndfileライブラリーのSndfileHandleクラスを使うらしい
seewaveは.soを使うのでmac OSXの人はバイナリを落としましょう
ライブラリの嬌声が聞こえる…
playするためのコマンドが
動かせない!
S O U N D
S E E WAV E
T U N E R
無視!
フーリエ変換のライブラリを認識しない
play関数とかめっちゃ被ってMASKされる
インストール地獄 (R3.1.0)
なんとかした!
無視!
W H AT S H O U L D I D O ?
• 声紋解析(スペクトログラム)
• 周期性(ピリオドグラム)
• 音声の分解(広帯域音など)
• 特徴量から機械学習へ
コ ピペ じ ゃ あ り ま せ ん !
機 械 学 習 に よ る 分 類 に 2 0 0 回 成 功 し ま し た !
後から気付きましたがFさんがやってらっしゃった。
詳しくは脅威のアニオタ社会復帰への道ブログへ
R で や って み る
Sound
tuneR
こ こ で P Y T H O N
多 分 同 一
パ ワ ースペ ク トル
• フーリエ変換の絶対値の二乗でエネルギーを計算
• この周波数がよくきこえる(ざっくり
f <- fft(sound(a))
p <- (Re(f) ** 2 + Im(f) ** 2)
x <- c(1:length(p))
plot((x/(length(x)/rate(a)), p, type=“l”,
xlim=c(0, xmax/(length(x)/rate(a))), log=“y”)
• 音声の特徴をとってくる
• 平均、分散、パワースペクトル、周期などを特徴量と
して機械学習を行う
• 今回はSVMを使う
猫 と 犬 の 声
waveフォーマットの中でもuncompressd PCMとIEEE_float
waveフォーマットしか対応していない。多分どちらも。
開けないのでバイナリ見てみたらfmt codeが未対応(0x0001,
0x0002しか無理)でした
コレオッサンノコエジャナイヨネ…
C AT 6 V S D O G 6
? ? ? C AT O R D O G ? ? ?
• 可変長部分(2kHz以下)を
抽出
• 50分割して平均を取る
• 猫1 / 犬-1と印をつける
• library(e1071)
• svm(Species ~., data=data,
type=“C-classification”,
cost=10, kernel=“linear”,
scale=F, tolerance=1e-5)
猫
犬
かろうじて猫?
L E T ’ S S V M … . ! ! ! ! !
一番猫っぽい
一番犬っぽい
Thank you for your listening!
お ま け

Weitere ähnliche Inhalte

Was ist angesagt?

Lets enjoy-terminal-life - たのしいたーみなる
Lets enjoy-terminal-life - たのしいたーみなるLets enjoy-terminal-life - たのしいたーみなる
Lets enjoy-terminal-life - たのしいたーみなるtotzyuta
 
DTMF — DTMF と自作アプリの軌跡 #yidev
DTMF — DTMF と自作アプリの軌跡 #yidevDTMF — DTMF と自作アプリの軌跡 #yidev
DTMF — DTMF と自作アプリの軌跡 #yidevTomohiro Kumagai
 
Raspberry Jam #1 20121229
Raspberry Jam #1 20121229Raspberry Jam #1 20121229
Raspberry Jam #1 20121229Hideki Aoshima
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめcocu_628496
 
俺、俺。Rだよ!
俺、俺。Rだよ!俺、俺。Rだよ!
俺、俺。Rだよ!Kilo Meter
 
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングRansui Iso
 
続・ららら、(無線的に)素敵なComiket Space
続・ららら、(無線的に)素敵なComiket Space続・ららら、(無線的に)素敵なComiket Space
続・ららら、(無線的に)素敵なComiket SpaceNaoya Kaneko
 
[20120410] @marqsの転職を祝うLT
[20120410] @marqsの転職を祝うLT[20120410] @marqsの転職を祝うLT
[20120410] @marqsの転職を祝うLTYoshifumi Yamaguchi
 
第3回姫音祭実行委員会 質疑応答
第3回姫音祭実行委員会 質疑応答第3回姫音祭実行委員会 質疑応答
第3回姫音祭実行委員会 質疑応答進介 塚本
 

Was ist angesagt? (9)

Lets enjoy-terminal-life - たのしいたーみなる
Lets enjoy-terminal-life - たのしいたーみなるLets enjoy-terminal-life - たのしいたーみなる
Lets enjoy-terminal-life - たのしいたーみなる
 
DTMF — DTMF と自作アプリの軌跡 #yidev
DTMF — DTMF と自作アプリの軌跡 #yidevDTMF — DTMF と自作アプリの軌跡 #yidev
DTMF — DTMF と自作アプリの軌跡 #yidev
 
Raspberry Jam #1 20121229
Raspberry Jam #1 20121229Raspberry Jam #1 20121229
Raspberry Jam #1 20121229
 
pythonワンライナーのすゝめ
pythonワンライナーのすゝめpythonワンライナーのすゝめ
pythonワンライナーのすゝめ
 
俺、俺。Rだよ!
俺、俺。Rだよ!俺、俺。Rだよ!
俺、俺。Rだよ!
 
ソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミングソフトシンセを作りながら学ぶPythonプログラミング
ソフトシンセを作りながら学ぶPythonプログラミング
 
続・ららら、(無線的に)素敵なComiket Space
続・ららら、(無線的に)素敵なComiket Space続・ららら、(無線的に)素敵なComiket Space
続・ららら、(無線的に)素敵なComiket Space
 
[20120410] @marqsの転職を祝うLT
[20120410] @marqsの転職を祝うLT[20120410] @marqsの転職を祝うLT
[20120410] @marqsの転職を祝うLT
 
第3回姫音祭実行委員会 質疑応答
第3回姫音祭実行委員会 質疑応答第3回姫音祭実行委員会 質疑応答
第3回姫音祭実行委員会 質疑応答
 

Kashiwa.r.10