2014-11-15 2 views
1

다음 작업을 수행하려면 어떻게해야합니까? (임시 파일 이름 등) WAV와 같은 사운드 객체 ​​ Praat and sox 정보 스크립트

  • 실행 저장

    1. Sound 객체를 선택
    2. sox -i adsda.wav 또는 soxi adsda.wav
    3. 디스플레이에
    4. 출력 sox -i
    5. 의 결과는 임시 파일을 삭제
  • 답변

    0

    sox은로 전화하여 실행할 수 있습니다.지시문을 실행 한 다음 출력을 임시 파일로 캡처합니다. 그런 다음이 임시 파일을 Praat에 readFile$()으로 읽을 수 있습니다. 다음은 예입니다 :

    infile$ = "sound.wav" 
    outfile$ = "soxi.out" 
    sound = Create Sound as pure tone: "tone", 
        ... 1, 0, 0.4, 44100, 440, 0.2, 0.01, 0.01 
    Save as WAV file: infile$ 
    
    system soxi 'infile$' > 'outfile$' 
    soxi$ = readFile$(outfile$) 
    appendInfo: soxi$ 
    
    deleteFile: infile$ 
    deleteFile: outfile$ 
    removeObject: sound 
    

    I은 ​​Windows에 필요한 것 (있는 경우) 변경되는지 모르겠지만, 당신은 아마 문제가되지 않습니다 그, sox를 사용하는 것을 고려.

    현재 (Praat v.5.4) system 지시문은 여전히 ​​변수 대체를 사용하는 이전 구문을 사용합니다. 이것은 아마도 앞으로 바뀔 것입니다. 그러나이 스크립트는 그때까지도 사용할 수 있어야합니다.

    +0

    감사합니다. 어떤 이유로 든 메신저에 오류가 발생했습니다. "수식에서 알 수없는 함수"readFile $ " 스크립트 행 5가 수행되지 않았거나 완료되지 않았습니다 : «soxi $ = readFile $ (outfile $)» 메뉴 명령"실행 "이 완료되지 않았습니다." 이유는 모르지만 나는 프라 in에서 정보를 얻는다. @jja – user3022418

    +0

    이상합니다. 알 수없는 함수 오류는 이전 버전의 Praat 때문일 수 있습니다. 이 경우'old '방법으로'soxi $ <'outfile $ ''을 사용할 수 있습니다. 나는 아직 그것을 시도하지 않았다. 그럼에도 불구하고 그것은 당신을 위해 일하고있는 것 같습니다. :) – jja