오디오 시간 연장 및 피치 스케일링
Audio time stretching and pitch scaling시간 연장은 음높이에 영향을 주지 않고 오디오 신호의 속도 또는 지속 시간을 변경하는 과정입니다.피치 스케일링은 반대로 속도에 영향을 주지 않고 피치를 변경하는 프로세스입니다.피치 시프트는 효과 단위로 구현되는 피치 스케일링으로 라이브 퍼포먼스를 목적으로 합니다.피치 제어는 녹음 속도를 늦추거나 고속화함으로써 피치와 속도에 동시에 영향을 주는 단순한 프로세스입니다.
이러한 프로세스는 클립을 다시 실행하거나 재샘플링할 수 없을 때 혼합하기 위해 사전 녹음된 2개의 클립의 피치와 템포를 일치시키기 위해 자주 사용됩니다.시간 연장은 라디오 광고와[1] 텔레비전 광고의[2] 오디오를 30초 또는 60초에 정확히 맞추기 위해 종종 사용됩니다.1시간 방송 등 지정된 타임슬롯에 보다 긴 소재를 적합하게 하기 위해 사용할 수 있습니다.
재샘플링
오디오 녹음의 지속 시간 또는 피치를 변경하는 가장 간단한 방법은 재생 속도를 변경하는 것입니다.디지털 오디오 녹음의 경우는, 샘플 레이트 변환에 의해서 실행할 수 있습니다.불행히도 녹음 주파수는 항상 속도와 같은 비율로 조정되며, 그 과정에서 인식된 피치가 위아래로 바뀝니다.녹음 속도를 늦춰 지속 시간을 늘리면 피치가 낮아지고, 지속 시간이 짧아지면 피치가 높아져 칩멍크 효과가 발생합니다.따라서 이 방법을 사용할 때 두 효과를 분리할 수 없습니다.음정 악기가 없는 드럼 트랙은 템포를 조정하기 위해 적당히 샘플링 레이트를 변환할 수 있지만 음정 트랙은 그렇지 않습니다.
주파수 영역
위상 보코더
피치에 영향을 주지 않고 신호의 길이를 늘리는 방법 중 하나는 Flanagan, Golden 및 Portnoff 뒤에 위상 보코더를 구축하는 것입니다.
기본 절차:
- STFT를 사용하여 신호의 순간 주파수/진폭 관계를 계산합니다. STFT는 짧고 겹치며 부드러운 창으로 된 샘플 블록의 이산 푸리에 변환입니다.
- 푸리에 변환 크기 및 위상(FFT 블록 재샘플링 등)에 일부 처리를 적용합니다.
- 각 청크에 대해 역 푸리에 변환을 수행하고 OLA([3]Overlap and Add)라고도 하는 결과 파형 청크를 추가하여 역 STFT를 수행합니다.
위상 보코더는 사인파 구성 요소를 잘 처리하지만 초기 구현에서는 모든 비정수 압축/팽창률에서 과도("비트") 파형에 상당한 스머링이 적용되어 결과가 위상적이고 확산됩니다.최근의 개선으로 모든 압축/팽창 비율에서 더 나은 품질 결과를 얻을 수 있지만, 여전히 잔여 번짐 효과는 남아 있습니다.
위상 보코더 기술을 사용하여 피치 시프트, 초음, 음색 조작, 조화 및 기타 비정상적인 변경을 수행할 수도 있습니다.이 모든 것은 시간의 함수에 따라 변경될 수 있습니다.
사인파 스펙트럼 모델링
시간 연장을 위한 또 다른 방법은 신호의 스펙트럼 모델에 의존합니다.이 방법에서는 신호의 STFT를 사용하여 프레임에서 피크를 식별하고 인접한 프레임에서 피크를 연결하여 사인파 "트랙"을 작성합니다.그 후 트랙은 새로운 시간 척도로 재합성됩니다.이 방법은 특히 신호가 서브밴드로 분리될 때 폴리폰 소재와 타진 소재 모두에서 좋은 결과를 얻을 수 있습니다.그러나 이 방법은 다른 [citation needed]방법보다 계산이 더 까다롭다.
시간 영역
SOLA
1978년 래비너와 샤퍼는 시간 영역에서 작동하는 대체 솔루션을 내놓았다. 즉, 피치 검출 알고리즘(일반적으로 신호의 자기 상관 또는 때로는 두부 처리의 피크)을 사용하여 파동의 주어진 부분의 주기(또는 동등하게 기본 주파수)를 찾고 하나의 주기를 ao로 교차 페이딩한다.거기.
이것은 시간 영역 고조파[5] 스케일링 또는 동기 오버랩 추가 방식(SOLA)이라고 불리며, 저속 머신에서는 위상 보코더보다 다소 빠르게 동작하지만 자기 상관에 의해 복잡한 고조파(관현악곡 등)가 있는 신호의 주기가 잘못 추정되면 실패합니다.
Adobe Audition(구 Cool Edit Pro)은 사용자가 지정한 기간(템포의 정수배수)에 가장 가까운 기간과 30Hz에서 최저 베이스 주파수를 찾는 것으로 이 문제를 해결할 수 있을 것으로 보입니다.
이는 위상 보코더 기반 처리보다 범위가 훨씬 제한적이지만 실시간 애플리케이션의 경우 프로세서의 부하를 훨씬 줄일 수 있습니다.음성 또는 음악적으로 단음 악기 녹음과 같은 단일 음조의 사운드에 가장 일관된[citation needed] 결과를 제공합니다.
하이엔드 상용 오디오 처리 패키지는 두 가지 기술을 결합하거나(예를 들어 신호를 정현파 및 과도 파형으로 분리하여), 웨이브릿 변환 또는 인공 뉴럴 네트워크 처리에[citation needed] 기초한 다른 기술을 사용하여 최고 품질의 시간 연장을 생성합니다.
프레임 베이스 어프로치
지속시간을 늘리거나 압축할 때 오디오 신호의 피치를 유지하기 위해 많은 Time-Scale Modification(TSM; 타임스케일 수정) 절차가 프레임 기반 [6]접근방식을 따릅니다.원래 이산 시간 오디오 신호가 주어진 경우 이 전략의 첫 번째 단계는 신호를 고정 길이의 짧은 분석 프레임으로 분할하는 것입니다.분석 프레임은 분석 a N\ H_이라고 하는 일정한 수의 샘플로 간격을 두고 있으며, 실제 시간척도를 수정하기 위해 분석 프레임을 시간적으로 재배치하여 \ H_mathbb N } \ {n} \mathb n } \mathb n 위치에서는 s / H \=a}}의 스트레칭 계수에 의해 신호 지속 시간이 수정됩니다. 단, 수정되지 않은 분석 프레임을 겹치면 일반적으로 위상 불연속성 또는 진폭 변동과 같은 원치 않는 아티팩트가 발생합니다.이러한 종류의 아티팩트를 방지하기 위해 분석 프레임은 시간 스케일 변경 출력 신호의 재구축 전에 합성 프레임을 형성하도록 조정됩니다.
분석 프레임에서 합성 프레임을 도출하는 방법은 다양한 TSM 절차 간의 중요한 차이입니다.
빠른 청력과 빠른 통화
특정 스피치의 경우 PSOLA를 사용하여 시간 스트레칭을 수행할 수 있습니다.
시간 압축 화법은 압축된 시간에서의 구두 텍스트의 표현이다.이해력을 감소시키는 속도를 예상할 수 있는 반면, 허브 프리드먼은 "실험 결과, 말을 통한 귀의 정보 속도가 200~300wpm인 '평균' 읽기 속도라면 뇌가 가장 효율적으로 작동한다는 것을 보여주었다"고 말한다. 그러나 평균 말 속도는 100-150wpm [7]정도이다.
시간 압축 음성을 듣는 것은 속도 [8][9]판독과 동등한 것으로 간주됩니다.
피치 스케일링
이러한 기술은 속도 또는 지속 시간을 일정하게 유지하면서 오디오 샘플을 전치하는 데도 사용할 수 있습니다.이것은 시간을 늘렸다가 다시 원래 길이로 다시 샘플링함으로써 달성할 수 있습니다.또는 정현파 모델에서의 정현파의 주파수를 직접 변경하여 적절한 시간 척도로 재구성할 수 있다.
전치는 원근법에 따라 주파수 스케일링 또는 피치 시프트라고 할 수 있습니다.
예를 들어, 모든 음의 음높이를 5분의 1씩 올릴 수 있고, 템포를 동일하게 유지할 수 있습니다.이 전이는 피아노 건반에서 각 음을 7키 위로 "쉬프트"하거나, Mel 음계에 고정량을 추가하거나, 선형 음고 공간에 고정량을 추가하는 것으로 볼 수 있습니다.동일한 전이를 "주파수 스케일링", "스케일링" (3/2의 곱셈)으로 볼 수 있습니다.
모든 음의 주파수에 고정된 주파수 오프셋을 추가하는 진폭 변조에 의해 수행되는 주파수 이동과는 달리, 음악 전치는 소리의 음색을 결정하는 고조파 주파수의 비율을 유지합니다.(이론적으로 음고 공간의 위치가 조정되는 문자 그대로의 음고 스케일링을 수행할 수 있지만(높은 음은 낮은 음보다 선형 음고 공간에서 더 큰 간격으로 이동됩니다.) 그러나 이는 매우 이례적이고 음악적이지 않습니다.)[citation needed]
여기서 시간 영역 처리가 훨씬 더 잘 작동하는데, 이는 번짐이 덜 눈에 띄기 때문입니다. 그러나 음성 샘플을 스케일링하면 포뮬런트가 일종의 Alvin 및 Chipmunks와 같은 효과로 왜곡되므로 바람직하거나 바람직하지 않을 수 있습니다.음성의 형태와 특성을 유지하는 프로세스에는 채널 보코더 또는 LPC 보코더 및 몇 가지 피치 검출 알고리즘 중 하나를 사용하여 신호를 분석한 후 다른 기본 주파수로 재동기화하는 것이 포함됩니다.
Alvin 및 Chipmunks 엔트리에서 피치 시프트를 위한 오래된 아날로그 녹음 기술에 대한 자세한 설명을 볼 수 있습니다.
컨슈머 소프트웨어
피치 보정 오디오 타임레치는 미디어 [10]재생을 위한 HTML 표준의 일부로서 모든 최신 웹 브라우저에서 볼 수 있습니다.GStreamer 및 Unity와 같은 미디어 애플리케이션 및 프레임워크에서도 유사한 제어가 보편화됩니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "Dolby, The Chipmunks And NAB2004". Archived from the original on 2008-05-27.
{{cite magazine}}
:Cite 매거진의 요건magazine=
(도움말) - ^ "Variable speech". www.atarimagazines.com.
- ^ Jont B. Allen (June 1977). "Short Time Spectral Analysis, Synthesis, and Modification by Discrete Fourier Transform". IEEE Transactions on Acoustics, Speech, and Signal Processing. ASSP-25 (3): 235–238.
- ^ McAulay, R. J.; Quatieri, T. F. (1988), "Speech Processing Based on a Sinusoidal Model" (PDF), The Lincoln Laboratory Journal, 1 (2): 153–167, archived from the original (PDF) on 2012-05-21, retrieved 2014-09-07
- ^ David Malah (April 1979). "Time-domain algorithms for harmonic bandwidth reduction and time scaling of speech signals". IEEE Transactions on Acoustics, Speech, and Signal Processing. ASSP-27 (2): 121–133.
- ^ Jonathan Driedger and Meinard Müller (2016). "A Review of Time-Scale Modification of Music Signals". Applied Sciences. 6 (2): 57. doi:10.3390/app6020057.
- ^ 가변연설, 크리에이티브 컴퓨팅 제9권, 제7호 / 1983년 7월 / 페이지 122
- ^ "Listen to podcasts in half the time".
- ^ "Speeding iPods". Archived from the original on 2006-09-02.
- ^ "HTMLMediaElement.playbackRate - Web APIs". MDN. Retrieved 1 September 2021.
외부 링크
- 시간 연장 및 피치 전환 개요 Stephan Bernsee의 현재 시간과 피치 수정 기술에 대한 포괄적인 개요
- Stephan Bernsee의 smbPitchShift C 소스 코드 C 주파수 영역 피치 조작을 수행하기 위한 소스 코드
- 키예프로부터의 pitchshift.jsII 오픈 소스 키예프에서 smbPitchShift 코드를 기반으로 하는 Javascript 피치시프트II 라이브러리
- 위상 보코더: A 튜토리얼 - 위상 보코더의 적절한 설명
- 피치 시프트, 조화 및 기타 이색 효과를 위한 새로운 위상 보코더 기술
- 위상 보코더에서의 과도처리에 대한 새로운 접근법
- PICOLA 및 TDHS
- DSP 칩에서 작동하는 실시간 기타 피치 시프터의 피치 시프터 이론, 방정식, 수치 및 성능 구축 방법
- ZTX Time Stretting Library iOS, Linux, Windows 및 Mac OS X에서 널리 사용되는 서드파티제 Time Stretting 라이브러리의 무료 및 상용 버전 및 상용 버전
- 주로 DJ 및 DAW 제조업체에서 사용하는 zplane 상용 크로스 플랫폼 라이브러리 Elastique
- Qneo의 Voice Synth - 크리에이티브 보이스 스컬프팅 전용 신시사이저
- TSM 도구 상자 다양한 시간 척도 수정 절차의 무료 MATLAB 구현
- Paul Stretch는 익스트림(> 10×) 시간 스트레칭에 대해 잘 알려진 알고리즘입니다.