통계적 신호처리9 [데이터 전처리] 수식으로 신호 level 음량 LUFS 조절하기, 심리음향적 특성을 반영한 Loudness Units Full Scale Loudnessloudness는 사람이 인지하는 소리 크기를 반영하여 나타낸다. Root Mean Square (RMS), LUFS (Loudness Units Full Scale)가 대표적으로 있다. 그 중에서 사람의 frequency 별로 다른 resolution으로 인지하는, 심리 음향적 입장을 제대로 반영한 LUFS를 통해 signal level을 어떻게 조정하는지 살펴보자. 기존에 LUFS로의 signal level을 어떻게 조정하는지에 대해서 글을 쓴 적이 있다. pyloudnorm의 integrated_loudness는 dB LUFS 값을 내보낸다. https://2bman.tistory.com/14https://2bman.tistory.com/14 본 글에서는 "어떻게" 조정하는 지에 대.. 2024. 8. 30. Circular convolution 계산법과 언제 linear convolution과 같아지나 살피기 Circular convolution DFT 상에서의 \(X_1[k]\cdot X_2[k]\)를 IDFT하게 되면 linear convolution이 아니라 circular convolution으로의 \(x_1[n] \bigotimes x_2[n]\)로 나타내어진다. 만일 \(x_1[n]\)과 \(x_2[n]\)을 N=6, N=10에 대해서 circular convolution을 한다고 생각해보자. N=6인 경우는 사실 \(x_1[n]\)과 \(x_2[n]\) 중 max 값이기도 하다. 우선 linear convolution을 한다. $$x_1[n] * x_2[n] = \sum_{k=-\infty}^{\infty}x_1[k]x_2[n-k] = \sum_{k=0}^{}x_1[k]x_2[n-k]$$ n=0일.. 2023. 5. 24. 음원 분리를 위한 mixture 생성 시 고려할 점 음원 분리를 위한 모든 source의 합 mixture을 구성할 때 단순히 summation으로 구할 수 있다면 좋겠지만 그것은 이상적인 이야기이다.. 실질적으로 어떤 처리를 해야할 지 알아보자.1. Paddingsources로부터 잘라서 사용한다거나, 데이터셋을 각기 다른 것으로부터 불러와 mixture을 만들 때 당연하게도 각 source마다 길이를 맞춰주어야 할 것이다.torch.nn.Functional의 F.pad를 사용하면 쉽게 가능하다.F.pad(wav, (num_padding_left, num_padding_right))이렇게만 알고 있어도 충분할 것이다. 2. Normalization (signal level 조정)같은 녹음 환경이 아니라면, 혹은 source의 특성 상 signal lev.. 2023. 5. 20. 내적, cosine similarity, projection 정사영 한번에 짚기 우리는 극좌표계를 통해서 다음과 같이 나타낼 수 있음을 안다. 여기서 r을 벡터 v의 크기로 보게 된다면 아래와 같이 충분히 표현 가능하다. 이번에는 벡터 a, b 두 개가 있고 b를 a에 정사영시킨다고 생각해보자. b를 a 방향으로 projection하는 것이다. 위에 본 바에 의하면 $$|proj_{ \vec{a}} \vec{b}|=| \vec{b}|cos{\theta}$$ 가 되는 것이 자연스럽다. 이는 정사영된 벡터의 크기가 되겠고 정사영벡터는 위에 정사영하고자 하는 벡터 방향으로의 크기가 1인 방향성만 추가해주면 되겠다. $$proj_{ \vec{a}} \vec{b}=| \vec{b}|cos{\theta} \cdot \frac{\vec{a}}{|\vec{a}|}$$ 여기서 내적 이야기를 할 수 .. 2023. 5. 17. 이전 1 2 3 다음