[vDSP] [신호 처리] 오디오 오디오 분석에 대한 10가지 전략 분석 02
오디오 오디오 분석의 길 10개 분석 02
지난번에는 Cepstrum을 찾는 곳에서 5단계까지 썼다.
이번에는 6단계 이후다.
복습 절차
6단계 덮개 루프
iFFT를 통해 획득한 CPT를 대수 간격을 두고 획득한 CPE를 전환합니다.여기서 이른바 리턴 링이란 Cepstrum에 대한 필터링이다.
또한 Quefrency는 Centers 영역의 Freequency를 나타냅니다.
간단한 스펙트럼 필터이전 글를 참고하세요.
이름은 다르지만 요령은 같다.
Cepstrum은 다음과 같습니다.
Cepstrum의 가로축은 Quefrency(ms.)입니다.Quefrency는 가로폭이 1.0이라고 생각하기 때문에 종이 상자 번호의 역수에 따라 주파수를 얻을 수 있다.
음성 신호의 폭스바겐 성분은 Cepstrum의 낮은 Quefrency 부분에 포함된다.우선 처음 20병만 뽑는다.
후진 루프의 경우 FFT 전체 크기의 데이터를 뒤집어야 합니다.
셉스트럼은 선이 대칭적이기 때문에 시작한 20칸만 덮을 때 마지막 20칸도 마찬가지로 덮는다.
낮은 Quefrency 성분과 높은 Quefrency 성분을 저장하는 구역을 확보하고 각각ceptorm의 값을 복사합니다.사이즈는 fftsize 점.
main.c
float *liftering_low = malloc(sizeof(float)*fft.fftsize);
float *liftering_high = malloc(sizeof(float)*fft.fftsize);
memcpy(liftering_high,cepstrum,fft.fftsize*sizeof(float));
memcpy(liftering_low,cepstrum,fft.fftsize*sizeof(float));
vDSP_vclr () 는 지정한 데이터 영역에 0을 대입합니다.첫 번째 매개변수에 포인터를 입력하고 두 번째 매개변수에 정책을 입력하고 세 번째 매개변수에 데이터 길이를 입력합니다.
main.c
//low
vDSP_vclr(&liftering_low[20],1,(fft.fftsize-40));
//high
vDSP_vclr(liftering_high,1,20);
vDSP_vclr(&liftering_high[2028],1,20);
결과는 낮은 Quefrency 섹션의 Cepstrum(FFT 전체 크기 선 대칭)높은 Quefrency 섹션의 Cepstrum(FFT 전체 치수 선 대칭)
후진 고리는 바로 여기에 있다.
STEP 7,8 FFT 고저Quefrency를 통해 대중 망토 성분 획득
변환 루프를 통해 분리된 CPE strum을 다시 스펙트럼으로 복원합니다.
iFFT에서 Cepstrum을 선택했기 때문에 원상태로 복원하려면 FFT를 해야 합니다.
상단 덮개 고리에 FFT를 하는 경우 창틀을 진행하지 않습니다.
하지만 도서관에서 녹인 FFT(斷斷T)에는 창문이 걸려 있었다.음...나는 패배를 인정했다!
방법이 없기 때문에 vDSP의 FFT 함수를 사용합니다.말은 그렇지만 이미 두 줄을 완성했다.
main.c
//low quefrency
vDSP_ctoz( ( COMPLEX * ) low_quefrency, 2, &splitComplex, 1, ffthalfsize );
vDSP_fft_zrip(kefftSetup, &splitComplex, 1, log2n,FFT_FORWARD);
main.c//high quefrency
vDSP_ctoz( ( COMPLEX * ) high_quefrency, 2, &splitComplex, 1, ffthalfsize );
vDSP_fft_zrip(kefftSetup, &splitComplex, 1, log2n,FFT_FORWARD);
덮개 고리 뒤의 스펙트럼은 Commplex형의 실수 부분을 사용합니다.실수 부분을 그릴 때 다음과 같다.
low quefrency(littering 20): 대중 망토 성분
주파수 성분
여기서 나는 대수 철자와 비교할 것이다.
위 두 장의 그림에서 보듯이 대중 망토 성분은 대수 스펙트럼의 윤곽을 대표한다.최초의 세 산의 봉우리를 얻어 대중의 망토 성분으로 삼다.
그럼 돌림판의 값을 바꿔 보세요.
지금 20병으로 갈아타세요.
그리고 50칸, 100칸, 200칸을 차례로 늘려 결과를 그려 보세요.
low quefrency (littering 50bin)
low quefrency (littering 100bin)
low quefrency (littering 200bin)
그림에서 보듯이 전환환의 위치를 늘리면 고주파 성분이 증가하고 그 결과 윤곽은 대수 간격과 비슷하다.
총결산
이상에 따라 소리 신호에서 대중 망토 성분과 주파수 성분으로 분해할 수 있다.공진봉을 분석함으로써 모음의 종류를 판정할 수 있다.폭스바겐 망토 성분을 추출하는 방법으로 LPC 분석법 등도 있다.
주파수 성분에 따라 대중 망토 성분이 결합돼 소리 합성도 가능하다.
또 폭스바겐 망토 정보를 우편 척도에 따라 압축해 데이터량을 줄이는 방법도 있다.
Reference
이 문제에 관하여([vDSP] [신호 처리] 오디오 오디오 분석에 대한 10가지 전략 분석 02), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Talokay/items/a43c72869d0353dbd843
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여([vDSP] [신호 처리] 오디오 오디오 분석에 대한 10가지 전략 분석 02), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Talokay/items/a43c72869d0353dbd843텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)