민공지능/음성 인식 프로젝트(5)
-
STT
제일 중요한 것은 UTF-8 AM이 중요한 모델이기 때문에 전사할 때 일관성 있게 작업해야 한다. AM 모델에 들어가는 데이터가 크게 2가지로 되어 있다. (front end는 음성을 전 처리하는 부분이다.) 프론트 앤드 결과를 보통 이미지라고 표현하는데, 이미지로 표현한 것을 특성 추출하고 분류하는 모델이다. 음성이 가지는 요소가 아주 중요하다. 글자가 가진 요소는 별로 중요하지 않음. linear - mel - mfcc로 가는데 갈수록 정보가 날아간다. tts에서는 mel을 보통 쓴다. 오른쪽 밑의 그림이 초록색 부분. 딥러닝 모델. 성능 차이가 크지 않다. 이 모델 자체는 굳이 안 쓰고 있다. 이 부분이 제일 중요하다. 멜 스펙트로그램에서부터 하이레벨의 글자에 가까운 특성 추출하는 것이 이 단계 지..
2021.04.26 -
Speech VGG
SpeechVGG 모델은 음성 처리에 좋은 전이학습 모델이다. # Block 1 x = layers.Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv1')(img_input) x = layers.Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv2')(x) x = layers.MaxPooling2D((2, 2), strides=(2, 2), name='block1_pool')(x) ' ' ' # Block 5 x = layers.Conv2D(512, (3, 3), activation='relu', padding='same', name='block5_c..
2021.04.25 -
librosa.feature
librosa.feature.chroma_stft 리턴 값 chromagram : np.ndarray [shape=(n_chroma, t)] Normalized energy for each chroma bin at each frame. librosa.feature.chroma_stft(y=None, sr=22050, S=None, norm=inf, n_fft=2048, hop_length=512, win_length=None, window='hann', center=True, pad_mode='reflect', tuning=None, n_chroma=12, **kwargs) import librosa y1, sr1 = librosa.load('C:/nmb/nmb_data/we/testvoice_F2.wa..
2021.04.03 -
음성 데이터2(Mel Spectrogram, MFCCs, Chroma Frequencies)
Mel Spectrogram 주파수 특성이 시간에 따라 달라지는 오디오를 분석하기 위한 특징 추출 기법 Mel-scale(Melody scale) pitch에서 발견한 사람의 음을 인지하는 기준(threshold)을 반영한 scale 변환 함수 Pitch = 음의 높낮이(진동수 Hz의 크고 작음과는 다르다.) : Pitch는 보다 추상적인 개념이다. 사람은 소리의 Hz가 저주파일 때 더 민감하게 인지하고, 고주파로 갈수록 둔감해진다는 점에서 출발한 개념이다. 이를 just-noticeable differences(==threshold)라고 한다. 귀의 구조로 인한 차이 출처: https://hyongdoc.tistory.com/402 [Doony Garage] 사람은 200Hz와 1200Hz 소리는 쉽게..
2021.04.03 -
음성 데이터 (오디오 파일 이해, 2D Sound Waves, Fourier Transform, Spectrogram)
동일한 조건 속에서 혼성 목소리를 분석하기 위해 '실내 사람 간 2m 이상 거리 두기. 거리두기 지침에 따라 이 자리는 비워주세요.'라는 문장을 각각 5초씩 녹음했다. (환경소음은 동일하지 않다) 오디오 파일 이해하기 y: 소리가 떨리는 세기(진폭)를 시간 순서대로 나열한 것 Sampling rate: 1초당 샘플의 개수, 단위 Hz 또는 kHz import librosa import numpy as np y1, sr1 = librosa.load('C:/nmb/nmb_data/we/testvoice_F1_high.wav') y2, sr2 = librosa.load('C:/nmb/nmb_data/we/testvoice_F1.wav') y3, sr3 = librosa.load('C:/nmb/nmb_data/..
2021.04.03