図のみでconv1,2の理解

たまにconv1d,2dを使おうとすると毎回次元数の関係性を忘れてしまうので備忘録で。




次の図のようにすれば出力のチャネル数は任意に設定できる




conv1dの場合は次のような感じ


ついでにpytorchで確認

conv1dの引数はそれぞれ、入力チャネル数、出力チャネル数、カーネルサイズ

import torch
from torch import nn

conv1d = nn.Conv1d(5, 3, 8)

print(conv1d.weight.shape)
# torch.Size([3, 5, 8])

# 入力(最初はバッチサイズ)
x = torch.rand(4, 5, 10)

y = conv1d(x)
print(y.shape)
# torch.Size([4, 3, 3])

音響特徴量のまとめ

音の特徴量

メル尺度

音の高さは振動数で表せるけど、1000Hzの音と2000Hzの音を聴き比べても、そんなに音の高さが高くなったとは感じない。

実際に、倍の高さになると感じるのは1000Hz→3500Hzになったとき。 そこで1000Hzを基準にして1000メルとする。そして2倍の高さに感じる3500Hzを2000メルとする。

Wikipediaから引用

振動数とメル尺度の関係性

高い振動数の音ほど人間は鈍感

音圧

音は縦波だっていうのは、高校で習った気がする。そして、その縦波の振幅の単位はずっとm(メートル)とかの長さだと思っていた。でも、実際の単位はPa(パスカル)である。

この振幅(音圧:Pa)から音圧レベル(sound pressure level; SPL)  L_pを以下の式で定義する。

 \displaystyle
L_p=10\times\log_{10}\frac{p^2}{p^{2}_0}=20\times \log_{10}\frac{p}{p_0}

ここで[tex: p_0=20\times 106(Pa)]で、これは人間に聞こえる最も小さい音の音圧だそうです。音圧レベル L_pの単位はdB

振動数とメル尺度の関係に似たようなものがあり、ラウドネス曲線というのがある。これは横軸が周波数で、縦軸が音圧。その中で同じ音の大きさに聞こえる部分が赤い曲線で表されている。

Wikipediaから引用

人間にとって、20Hzの音が音圧90dBの音と1000Hz・20dBの音は同じ大きさに聞こえる