실시간 음성 분석 그래프

Waveform History (평균 절대 진폭 히스토리)

Waveform History는 마이크 입력 신호의 시간 도메인에서의 변화를 시각적으로 나타냅니다.
이 그래프는 오디오 샘플이 시간에 따라 어떻게 변하는지를 보여주며,
평균 절대 진폭(Average Absolute Amplitude)을 계산하여 신호의 미세한 변동을 강조합니다.
이를 통해 신호의 세기 변화, 음성 검출(Voice Activity Detection, VAD), 배경 소음 분석 등에 활용할 수 있습니다.

- 음성 검출(VAD): 음성이 존재하는 구간과 무성음(침묵) 구간을 구별하는 데 유용합니다.
- 배경 소음 감지: 특정 환경에서 발생하는 미세한 노이즈나 환경 소음을 감지할 수 있습니다.
- 마이크 테스트: 마이크 입력 신호가 정상적으로 감지되고 있는지 확인하는 데 사용할 수 있습니다.

Frequency Spectrum (주파수 스펙트럼)

주파수 스펙트럼은 음성 신호의 주파수 구성 요소를 분석하여 시각적으로 표현합니다.
FFT(Fast Fourier Transform)를 사용하여 입력된 오디오 신호를 주파수 도메인으로 변환하며,
이를 통해 특정 주파수 대역의 강도와 특성을 실시간으로 파악할 수 있습니다.

- 음성 및 악기 분석: 특정 주파수 대역이 강조되는지 확인하여 음성 또는 악기의 특성을 분석할 수 있습니다.
- 배경 소음 감지: 특정 주파수에서 지속적으로 발생하는 노이즈를 감지할 수 있습니다.
- 음성 명료도 분석: 사람이 듣기 쉬운 주파수(300Hz~3kHz)의 에너지가 충분한지 평가하여 음성의 명료도를 분석할 수 있습니다.

Volume History (RMS 볼륨 히스토리)

RMS 볼륨 히스토리는 시간에 따른 음성 신호의 평균 에너지를 측정합니다.
RMS(Root Mean Square) 값을 통해 전체적인 볼륨 변화를 분석할 수 있으며,
특정 구간에서 볼륨이 증가하거나 감소하는 패턴을 감지할 수 있습니다.

- 자동 볼륨 조절 (AGC): 음량이 너무 크거나 작을 경우 자동으로 조정할 수 있습니다.
- 음성 강도 분석: 특정 음성이 얼마나 강하게 발성되는지 확인할 수 있습니다.
- 음성 인식 전처리: 작은 볼륨의 신호를 보정하여 음성 인식의 정확도를 높일 수 있습니다.

Spectrogram (스펙트로그램)

스펙트로그램은 시간에 따른 주파수 에너지 분포를 시각적으로 표현한 것입니다.
특정 시간 동안의 주파수 강도를 색상으로 나타내어, 음성 신호의 구조적 특징을 파악하는 데 유용합니다.

- 음성 감정 분석: 감정(예: 화남, 기쁨)에 따라 특정 주파수 패턴이 변화하는 특성을 활용할 수 있습니다.
- 배경 소음 및 잡음 분석: 특정 대역에서 지속적으로 발생하는 잡음을 감지하여 필터링할 수 있습니다.
- 음성 패턴 분석: 특정 단어, 음소의 패턴을 분석하여 음성 인식 성능을 개선할 수 있습니다.

Zero Crossing Rate History (제로 크로싱 히스토리)

제로 크로싱 레이트(ZCR, Zero Crossing Rate)는 신호가 시간 축에서 0(중심값 128)을 기준으로 몇 번 교차하는지를 측정하는 지표입니다.
신호의 주파수가 높을수록, 변화가 클수록 ZCR 값이 증가하며, 이는 신호의 거칠기와 관련이 있습니다.
이를 통해 음성 신호의 특징을 분석하고, 음성과 배경 소음을 구별하는 데 활용할 수 있습니다.

- 음성 vs 음악 구별: 음악은 변화가 부드럽지만, 음성은 빠른 변화(Zero Crossing)가 많아 구별할 수 있습니다.
- 무성음(무음) 감지: 신호의 변화가 거의 없는 경우 무음으로 판별할 수 있습니다.
- 노이즈 필터링: 바람 소리, 기계 소음 등 특정 유형의 잡음을 감지하고 제거할 수 있습니다.

Spectral Centroid History (스펙트럴 센트로이드 히스토리)

스펙트럴 센트로이드(Spectral Centroid)는 신호의 주파수 스펙트럼에서 에너지 중심(가중 평균 주파수)을 계산하는 지표입니다.
즉, 주파수 성분들이 어느 쪽(저주파 또는 고주파)에 집중되어 있는지를 나타내며, 음원의 밝기(Brightness)와 관련이 있습니다.
음성이 높은 피치를 가질수록 스펙트럴 센트로이드 값이 커지며, 낮은 음성일수록 값이 작아집니다.

- 음성 명료도 분석: 스펙트럴 센트로이드가 낮으면 명확하지 않은 음성일 가능성이 큽니다.
- 감정 분석: 분노한 목소리는 센트로이드가 높고, 차분한 목소리는 낮을 수 있습니다.
- 음색 분석: 고주파 성분이 많이 포함된 경우 센트로이드가 증가하여 음색이 밝아지는 특성이 있습니다.

Spectral Rolloff History (스펙트럴 롤오프 히스토리)

스펙트럴 롤오프(Spectral Rolloff)는 주파수 스펙트럼에서 누적된 에너지의 85%를 차지하는 주파수 값을 의미합니다.
즉, 전체 주파수 에너지 중 어느 지점까지 고주파 성분이 포함되는지를 측정하여 음원의 특성을 분석하는 데 사용됩니다.
일반적으로 잡음이 많거나 고주파 성분이 강한 신호일수록 롤오프 값이 증가하는 경향이 있습니다.

- 음성 명료도 분석: 음성이 뭉개지는 경우 롤오프 값이 낮아지는 경향이 있습니다.
- 배경 소음 감지: 고주파 노이즈(화이트 노이즈)가 포함된 경우 롤오프 값이 높아집니다.
- 음성 및 음악 구별: 음악은 일반적으로 롤오프 포인트가 더 높으며, 음성은 낮은 값을 가질 수 있습니다.

Spectral Flux History (스펙트럴 플럭스 히스토리)

스펙트럴 플럭스(Spectral Flux)는 연속된 주파수 스펙트럼 간의 변화량을 측정하는 지표입니다.
신호가 급격히 변할수록 플럭스 값이 커지며, 일정한 신호에서는 값이 작아집니다.
이를 통해 음성 신호의 다이나믹한 변화를 감지하고, 배경 소음과 음성을 구별하는 데 활용할 수 있습니다.

- 음성 변화 감지: 빠른 발화 속도나 강한 감정이 포함된 음성에서 플럭스 값이 커집니다.
- 음성과 배경 소음 분리: 배경 소음은 변화량이 적고, 음성은 큰 변화량을 가집니다.
- 음악 비트 감지: 스펙트럼이 반복적으로 변하는 패턴을 감지하여 박자 감지를 수행할 수 있습니다.

Pitch History (피치 히스토리)

피치 히스토리는 음성 신호의 기본 주파수(F0)를 추정하여 분석하는 그래프입니다.
피치는 목소리의 높낮이를 결정하며, 사람의 감정 상태나 발음 패턴을 분석하는 데 활용됩니다.
자동 상관(Auto-correlation) 방법을 이용하여 음성의 주된 주파수를 탐색합니다.

- 음성 감정 분석: 높은 피치는 흥분 상태, 낮은 피치는 차분한 상태를 나타낼 가능성이 높습니다.
- 음성 변조 감지: 특정 억양 패턴을 분석하여 음성 변조 여부를 감지할 수 있습니다.
- 음성 인식 개선: 동일한 단어라도 피치에 따라 의미가 달라질 수 있으므로, 이를 분석하여 인식 성능을 개선할 수 있습니다.