분류 전체보기132 FFT 수행 시 zero padding이 frequency resolution에 미치는 영향 STFT 결과로 얻게 된 frequency bin이 무엇인지 알아보고 FFT 수행 과정에서 zero padding이 frequency resolution에 어떤 영향을 미치는지 알아봅시다. STFT (Short-time Fourier Transform) 자연적으로 발화되는 음성은 시간에 따라 계속해서 변하는 성질을 가지고 있기 때문에, 음성 신호를 표현하는데 있어 일반적인 Fourier 표현 방법을 적용하는 건 한계가 있습니다. 이 문제를 해결하기 위해, 음성 신호를 주파수 영역에서 분석할 수 있도록, STFT, 즉, 음성 신호를 짧은 세그먼트 단위로 나눠 DFT를 수행하게 됩니다. Frequency binSTFT 결과는 frequency, time 값들로 이루어진 2차원 행렬로서 표현이 가능한데 이.. 2024. 2. 14. 음성신호처리에서 Pre-emphasis filtering을 하는 이유 오디오 신호 처리에 사용되는 기술인 Pre-emphasis filtering에 대해 알아봅시다. Pre-emphasis filtering 위 그림은 넓은 주파수 대역에서 음성 신호의 average magnitude spectrum을 나타낸 것입니다. 저주파에서는 높은 에너지를 가지고 있는 반면, 고주파로 갈수록 에너지가 줄어드는 것을 관찰할 수 있습니다. 이는 인간의 발성기관과 소리의 특성에 의해 발생하게 되는데 이 내용은 밑에서 자세하게 설명하도록 하겠습니다. 위에서 보았던 것처럼 고주파의 에너지가 감소하는 문제를 pre-emphasis filtering이라는 전처리 방법을 통해 해결할 수 있습니다. 사람의 음성이 저주파 대역에서 강조되고 고주파 대역에서는 크기가 작아지는 특성이 있기 때문에 전처리를 .. 2023. 11. 10. Hamming window와 Rectangular window 비교 window 개념을 살펴보기 전에, 왜 신호를 짧은 시간 단위로 나눠 주파수 분석을 수행하는지에 대해 알아봅시다. STFT를 하는 이유음성 신호는 time-varying, non-stationary 특성을 가지고 있어서 정확한 주파수 분석을 수행하는데 어려움이 있습니다. 하지만, 음성 신호를 짧은 간격으로 쪼개 보면, 신호의 특성이 시간에 따라 천천히 변하여 준주기적인 특성을 갖기 때문에 작은 시간 단위로 나눠 short-time fourier transform(STFT)를 수행해 주파수 분석을 할 수 있습니다. window와 framenon-stationary한 음성신호는 작은 시간 단위로 쪼개 stationary한 청크로 잘라 처리해줄 수 있습니다. 윈도잉(windowing)은 신호의 어느 부분을 볼.. 2023. 11. 9. 맥북 M1 pro에 Tensorflow, Keras 개발 환경 세팅하기 Visual Studio Code에서 구동하였습니다. 1. Motivation 딥러닝 공부를 위해서 Tensorflow 환경을 세팅해야 했습니다. M1의 경우 anaconda에서 tensorflow, keras 지원을 안한다고 들어서 miniforge를 이용해 tensorflow, keras를 설치하였습니다. miniforge는 anaconda의 축소 버전입니다. 2. miniforge 다운로드 https://github.com/conda-forge/miniforge GitHub - conda-forge/miniforge: A conda-forge distribution. A conda-forge distribution. Contribute to conda-forge/miniforge developmen.. 2023. 10. 30. M1 Mac에서 Image data augmentation 오류 해결 Error MessageNotFoundError: No registered 'RngReadAndSkip' OpKernel for 'GPU' devices compatible with node {{node RngReadAndSkip}} . Registered: device='XLA_CPU_JIT' device='CPU' [Op:RngReadAndSkip] Solution# 텐서를 CPU에 할당with tf.device('/cpu:0'): data_augmentation = keras.Sequential( [ layers.RandomFlip("horizontal"), layers.RandomRotation(0.1), layers.R.. 2023. 10. 1. google-colab import 시 오류 해결(AttributeError: module 'IPython.utils.traitlets' has no attribute 'Unicode') Visual Studio Code에서 google-colab을 import 할 때 뜬 에러이다. 찾아보니, 일반적인 파이썬 인터프리터 환경이 아닌 ipython 환경인 jupyter notebook 또는 Colab에서 실행하면 된다고 한다. The library google-colab is not designed to run in a normal Python REPL, which means that you have to run this in an ipython environment like Jupiter notebooks or colab rather than the python interpreter directly. Reference https://github.com/tensorflow/cloud/iss.. 2023. 9. 30. 이전 1 ··· 10 11 12 13 14 15 16 ··· 22 다음