-1

이 질문에는 이미 답변이 있습니다.

소개

나는 세 번째 축으로 시간과 진폭에 대해 주파수를 그려내는 스펙트로 그램 내에서 진폭 피크를 찾으려고합니다.

내가 보았고 다음을 사용하여 솔루션을 코딩하려고했습니다.scipy.signal.find_peaks_cwt그러나 공식 참조 가이드는widths매개 변수.

의문:

피크를 찾을 때scipy.signal.find_peaks_cwt그것은 주파수 - 시간 좌표를 반환 할 것인가? 그렇지 않다면 로컬 맥시마 좌표를 반환하는 데 사용할 다른 라이브러리 나 메서드가 있습니까?

이것은widths매개 변수scipy.signal.find_peaks_cwt?

마찬가지로scipy.signal.find_peaks_cwt배열을 다루는 이유 왜 로컬 맥시마를 찾기 위해 왜 스펙트로 그램을 그릴 필요가 있습니까?

다음은 스펙트로 그램을 작성하는 데 사용한 코드입니다.

    import numpy as np      
    import matplotlib.pyplot as plt 
    import scipy.io.wavfile     
    from scipy import signal

    def create_spectrogram(audio):
        rate, data = scipy.io.wavfile.read(audio)        
        data_1D = data.flatten()
        plt.specgram(data_1D, NFFT = 64, Fs = 64, noverlap=32)  
        plt.savefig("melody")  
        plt.show()      


    if __name__ == '__main__':
        audio = "melody.WAV"        
        create_spectrogram(audio)       

출력되는 스펙트로 그램은 다음과 같습니다.

Here is the outputted Spectrogram:

모래밭:scipy.signal.find_peaks_cwt참조 가이드 :https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.find_peaks_cwt.html


  • 생성 방법을 읽어보십시오.최소, 완료 및 확인 가능한 예제수정하여 게시물에 누락 된 정보를 추가하십시오 :) 읽을 수 없다면물어 보는 법아직 그렇게 할 것을 권장합니다 :) 나는 사람들이이 가이드를 따를 때 질문에 대답 할 확률이 더 높기 때문에 링크 된 2 가이드를 따르는 것이 좋습니다. 특히 내가 누락 된 것은 - 지금까지 무엇을 시도 했습니까? 어떤 오류 / 문제점이 있습니까? 지금까지 시도한 것을 보여주는 코드 니펫이 있습니까? - Tobias Theel
  • find_peaks_cwt1 차원 배열 용입니다. 2-D 스펙트로 그램에서 로컬 피크를 찾으려면 다음을 읽으십시오.stackoverflow.com/questions/3684484/… - Gerges Dib

1 답변


0

데이터가 코드에 정확히 저장되는 방법에 대해 좀 더 자세한 정보를 제공해 주시겠습니까? 숫자 배열, scipy.signal.spectrogram 또는 간단한 파이썬 목록입니까? 코드 스 니펫 (snippet)은 좋은 솔루션을 찾을 수 있도록 도와줍니다.

잠시 동안 내가 제안 할 유일한 "쉬운"방법은numpy.amax (), 축 매개 변수에 주어진 값을 현명하게 선택하면 찾고자하는 최대 값을 얻을 수 있습니다.

연결된 질문


최근 질문