Wolfram 언어

피치 인식 및 신호 재구축하기

음성 신호의 중심이 되는 피치는 기존의 신호 처리 또는 신경망 기반의 알고리즘을 사용하여 검색하거나 추적할 수 있습니다. 주가 되는 피치는 신호의 분석, 분류, 재구축에 사용할 수 있습니다. 이 예는 임베디드 PitchRecognize 함수를 사용하여 검출된 피치에 따른 신호의 근사를 구축합니다.

바흐의 푸가 녹음에서 시작해봅니다.

신경망 기반의 방법을 사용하여 신호의 피치를 추적합니다.

PitchRecognize"SoundNotePitch" 특성을 사용하여 인식을 수행하고 누락된 값을 제거하고 개별 음표를 적절하게 분리하고 마지막으로 재구축을 행하는 Sound 객체를 출력하는 함수를 정의합니다.

이 함수를 사용하여 원래의 녹음에서 Sound 객체를 재구성합니다.

PitchRecognize에 의해 계산되는 피치의 정보는 완전히 기호적이기 때문에 SoundNote에서 사용할 수 있는 모든 악기를 사용하여 멜로디를 재구축할 수 있습니다.

PitchRecognize가 주파수의 이산 집합을 반환하도록 강제합니다.

AudioGenerator에 시계열을 주고 발진기 주파수를 제어합니다.

최대 샘플 값을 추적하기 위해 AudioLocalMeasurements를 사용하고 원래 신호의 진폭 데이터를 통합하여 근사치를 향상시킵니다.

스펙트로그램을 원본과 비교합니다.

재미를 위해 주제의 첫 번째 제시에 대한 톤 응답을 생성합니다. 첫 음은 4도, 반복 진행의 나머지 부분은 5도 올립니다.

생성을 반복합니다.

관련 예제

de en es fr ja pt-br zh