본문 바로가기

전체

(156)
하늘을 보고 살자 간만에 만난 말간 하늘,아무리 바빠도 하늘을 보고살자.
LPC(Linear Prediction Coding, 선형예측부호화)와 formant estimation LPC에 대한 소개 음성신호처리에서 강력한 음성분석기법중 하나가 바로바로 Linear predictive analysis이다. 이 기법은 음성의 생성모델의 파라미터 (그 중 vocal tract 필터)를 예측하는 좋은 방법이다.(이에 대해 아래에 자세히 설명예정) 이 기법은 여러분야에 쓰일 수 있는데 첫째로 낮은 bit rate로 전송(통신)을 하기위한 신호의 한가지 표현으로 쓰일 수도 있고. 압축하여 저장하는데에 쓰일 수도 있다. 또한 automatic speech나 화자인식에 쓰일 수있다. 이번 포스팅에서는 실제적인 음성application에 널리 쓰이는 Linear predictive analysis에 대해 소개할 것이다. Linear prediction방법은 LPC 즉, speech를 coding..
Pitch detction(ACF, AMDF, Cepstrum) 유성음의 pitch 음성은 유성음과 무성음으로 구분할 수 있다. 유성음은 소리가 vocal tract를 타고 울려서 나오는 소리이므로 준 주기적인 성질이 나타나는데 이러한 준 주기적인 파형의 기본 주파수를 pitch라고 한다. 음성신호에서 Pitch는 40~400Hz 사이에 존재한다. Autocorrelation method [Autocorrelation을 통한 Pitch검출 방법] Autocorrelation은 어떤 신호가 잡음과 함께 있을 때 그 신호의 주기검출에 주로 이용된다. 따라서 autocorrelation을 이용하면 음성신호의 주기를 쉽게 확인할 수 있다. 유성음의 준 주기적 파형의 기본 주파수를 pitch라 한다. Pitch는 음성신호의 샘플링 주파수를 autocorrelation의 fir..
Speech production and perception(음성의 생성과 인지) Speech Chain speech coding이나 speech recogntion등의 speech를 처리하는 실질적인 시스템을 만들기 위해서는 실제로 인간이 어떻게 speech를 통해 서로 communication하는지 아는 것은 매우 중요하다. 결국 우리는 인간이 하는 음성의 인식과정을 기계가 모사하도록 만들고싶기 때문이다. 우리가 말하고 그 말을 듣고 이해하는 과정을 알아보도록 하자. 음성이 생성되어 전달되는 과정을 네트워크의 5계층처럼 단계별로 나누어 표현할 수 있겠다. ​Linguistic level: 어떤 생각이나 아이디어를 표현하기 위해서 어떤 sound로 말을 할지 basic sound를 선택하는 레벨 Physiological level : vocal tract의 구성요소들이 언어학적 발화..
음성신호처리에서 frame 생성시 overlap을 하는 이유 동아리에서 논문세미나를 하다가 speech를 전공하지 않으시는 분들에게 왜 frame을 overlap하냐는 물음을 받았다. 음성신호를 연구하는 사람들이라면 overlap을 당연하게 받아들이겠지만, 어떻게 말로 표현해야할지 고민이 되어서 간단히 정리해두기로 한다. (사실 이 링크 한글번역임) 그리고 왜 frame 단위의 처리를 하는 지에 대해서 내가 쓴 포스팅을 이 링크에서 확인할 수 있다. window 와 frame 음성신호는 stationary하지 않지만 생각보다 그렇게 빠르게 변하지도 않는다. 이때 신호를 stationary한 작은 청크로 잘라서 처리하면 되겠다는 생각을 할 수 있다. 윈도잉(windowing)은 신호를 어느부분을 볼 지 정하는 창이다. 이를 이용해 신호를 작은 청크로 자른다. 이 청..
STFT(Short-Time Fourier Transform)와 Spectrogram의 python구현과 의미 음성신호처리에서 아주 기본적인 feature로 spectrogram이 존재한다. spectrogram을 많이 쓰지만 왜 짧은 시간으로 나눠서 Fourier transform을 하는 지에 대해 생각하지 않고 쓰는 경우가 많다. Python에서 함수 한 줄로 구할 수 있는 spectrogram의 구현을 먼저 알아보고 후에 그 의미도 알아보자. STFT 와 Spectrogram python 구현 Spectrogram은 위와 같은 그림으로 표현할 수 있다. x축은 시간 축(단위: frame), y축은 주파수를 의미한다. 그리고 각 시간당 주파수가 가지는 값을 값의 크기에 따라 색으로 표현하여 3차원을 2차원으로 표현하게 된다. 즉, 시간의 흐름을 가지는 푸리에 변환이라고 생각할 수 있다. 각각의 frame(짧은..
[백준/C++] 백준 1946번: 신입 사원 별거 아닌데 문제가 이해안되서 헤맸다. 난독인듯. 서류랑 면접 순위를 나타낸건데 점수를 나타낸 건 줄 알고 계속 고뇌에 빠졌었다. 순위가 서류와 면접 두 가지로 주어지기 때문에 일단 서류/면접 중 하나로 정렬한다. 이후 아래와 같이 제일 높은 서류성적을 가진사람의 면접순위를 최대 면접순위에 저장해놓고 다음사람을 최대 면접순위와 비교하고, 최대값보다 높은 순위를 가지면 그 값으로 최대 면접순위를 업데이트 하는 식으로 풀면 된다. #include #include using namespace std; int T, N; int cnt_array[21]; pair score[100000]; int main() { cin >> T; for (int i = 0; i > N; for (i..
Window에서 GPU사용량 모니터링(nvidia-smi/ 작업 관리자) nvidia-smi 1. cmd창 열기(명령 프롬프트) 2. nvidia-smi.exe 경로 접근 cd C:\Program Files\NVIDIA Corporation\NVSMI 3. nvidia-smi.exe 실행 nvidia-smi.exe 4. 환경변수 설정 매번 경로로 접근하기 귀찮기 때문에 환경변수로 설정해두자. 먼저 시스템 환경변수 편집에 들어간다. path에 exe파일의 경로를 추가한다. cmd창을 한번 껐다가 켜면 아래와 같이 경로에 접속하지 않아도 실행 가능하다. 작업 관리자 검색으로 작업 관리자를 켜서 gpu에서 노란 하이라이트 친 부분을 클릭해 3D에서 Cuda로 변경한다.