Praat Reference
Praat 음향분석 스펙트로그램/포먼트/F0/스크립팅 레퍼런스
Praat Reference 소개
Praat 스크립트 레퍼런스는 음성학 및 음성 분석 분야의 대표 소프트웨어인 Praat의 명령어를 체계적으로 정리한 검색 가능한 가이드입니다. 스펙트로그램 표시 설정과 Sound-to-Spectrogram 변환, 성별 적절 주파수 상한(남성 5000Hz, 여성/아동 5500Hz)을 적용한 Burg 알고리즘 포먼트 추적, 특정 시점의 포먼트 값 조회를 다룹니다.
피치 분석 섹션에서는 자기상관법과 교차상관법을 통한 F0 추출, 평균 및 표준편차 조회를 다룹니다. 음성품질 측정에서는 PointProcess 성문 펄스 검출을 사용한 지터(주기 변동률, 정상 < 1.040%), 시머(진폭 변동률, 정상 < 3.810%), HNR(조화배음대잡음비, 정상 > 20dB)을 포함합니다.
TextGrid 어노테이션 워크플로(경계 삽입, 구간 레이블링, 다중 티어 생성), 파일 I/O 작업(WAV/AIFF/MP3/FLAC 읽기 및 쓰기), 오디오 편집(구간 추출, 대역통과 필터, 리샘플링), for 루프, if/endif 조건문, 배치 파일 처리, appendFileLine CSV 결과 내보내기를 포함한 Praat 스크립팅 구문도 문서화했습니다.
주요 기능
- 광대역(0.005s) 및 협대역(0.03s) 분석을 위한 스펙트로그램 설정과 Sound-to-Spectrogram 변환
- 남성(5000Hz)/여성 및 아동(5500Hz) 상한 파라미터를 포함한 Burg 알고리즘 포먼트 추적
- 자기상관법과 교차상관법을 통한 F0 피치 추출 및 평균/표준편차 조회
- 정상 임계값을 포함한 음성품질 지표: 지터(< 1.040%), 시머(< 3.810%), HNR(> 20dB)
- 경계 삽입, 구간 레이블링, 다중 티어 생성을 위한 TextGrid 어노테이션 명령어
- WAV, AIFF, MP3, FLAC 읽기 및 TextGrid 텍스트 파일 저장 파일 I/O
- for 루프, if/endif 조건문, 배치 파일 처리, appendFileLine CSV 내보내기를 포함한 Praat 스크립팅
- 구간 추출, Hann 대역통과 필터, 샘플링레이트 변환 오디오 처리 명령어
자주 묻는 질문
Praat에서 포먼트 값(F1, F2)을 어떻게 추출하나요?
Sound 객체를 선택하고 "To Formant (burg): 0.0, 5, 5500, 0.025, 50"을 실행합니다. 5500Hz는 최대 주파수 상한이며 남성 화자는 5000Hz를 사용합니다. "Get value at time: 1, 0.5, hertz, Linear"로 0.5초에서 F1 값을 조회합니다. "List"로 전체 구간의 F1/F2/F3 값을 테이블로 출력합니다.
광대역과 협대역 스펙트로그램의 차이점은 무엇인가요?
광대역 스펙트로그램은 짧은 윈도우 길이(0.005s)를 사용하여 개별 성문 펄스와 포먼트 밴드를 보여주는 좋은 시간 분해능을 제공합니다. 협대역 스펙트로그램은 긴 윈도우(0.03s)를 사용하여 개별 배음을 드러내는 더 나은 주파수 분해능을 제공합니다. "View & Edit > Spectrogram settings"이나 "To Spectrogram" 명령으로 설정합니다.
Praat에서 F0(기본주파수)를 어떻게 측정하나요?
자기상관법 기반 피치 추출에는 "To Pitch: 0.0, 75, 600"을 사용합니다. 75Hz는 하한, 600Hz는 상한입니다. 교차상관법은 "To Pitch (cc)"를 사용합니다. "Get mean: 0, 0, hertz"로 평균 F0를, "Get standard deviation: 0, 0, hertz"로 표준편차를 조회합니다. 화자 성별에 따라 하한/상한을 조정합니다.
음성품질 평가를 위해 지터, 시머, HNR을 어떻게 측정하나요?
먼저 Sound + Pitch에서 "To PointProcess (cc)"로 PointProcess를 생성합니다. 지터는 "Get jitter (local): 0, 0, 0.0001, 0.02, 1.3"(정상 < 1.040%)으로 측정합니다. 시머는 Sound + PointProcess를 선택하고 "Get shimmer (local)"(정상 < 3.810%)을 사용합니다. HNR은 "To Harmonicity (cc): 0.01, 75, 0.1, 1.0" 후 "Get mean"(정상 > 20dB)으로 측정합니다.
TextGrid 어노테이션은 어떻게 생성하고 편집하나요?
Sound를 선택하고 "To TextGrid: sentence word phone, 빈문자열"을 실행하여 3개의 어노테이션 티어를 생성합니다. "Insert boundary: 1, 0.5"로 티어 1의 0.5초에 경계를 삽입합니다. "Set interval text: 1, 2, hello"로 티어 1의 2번째 구간에 레이블을 지정합니다. "Save as text file"로 Praat TextGrid 형식으로 저장합니다.
여러 WAV 파일을 배치 처리하는 Praat 스크립트는 어떻게 작성하나요?
Create Strings as file list로 모든 WAV 파일을 가져온 후 루프를 사용합니다: "for i from 1 to n / selectObject files$ / file$ = Get string: i / Read from file: file$ / endfor". 루프 내에서 분석을 수행하고 "appendFileLine: results.csv, file$, 쉼표, f0_mean, 쉼표, f1_mean"으로 CSV 출력 파일을 생성합니다.
Praat에서 대역통과 필터나 리샘플링은 어떻게 적용하나요?
대역통과 필터는 Sound를 선택하고 "Filter (pass Hann band): 300, 3000, 100"으로 300~3000Hz 범위를 100Hz 스무딩과 함께 유지합니다. 리샘플링은 "Resample: 16000, 50"으로 정밀도 50과 함께 16kHz로 변환합니다. "Extract part: 0.5, 1.5, rectangular, 1, no"로 0.5~1.5초 구간을 추출합니다.
Praat이 지원하는 오디오 파일 형식은 무엇인가요?
Praat은 "Read from file: 경로/파일.wav"로 WAV, AIFF, MP3, FLAC 오디오 파일 읽기를 지원합니다. 저장은 "Save as WAV file"로 오디오를 출력합니다. TextGrid 어노테이션은 "Save as text file"로 Praat 네이티브 형식으로 저장됩니다. 스크립팅 엔진은 파일 목록 문자열과 for 루프를 사용하여 수백 개의 파일을 배치 처리할 수 있습니다.