## Class info. ![](https://hackmd.io/_uploads/SJKN13UyT.png) - Online InClass [Kaggle Competitions](https://www.kaggle.com/) with corresponding Github projects (programs) - Reports - Oral presentations, at least three times, 100% ## Date <style> .red { color: red; } td { text-aligh: center; } </style> ### 9/12 Course Outline ### 9/19 :::info Human Voice, Phonetic, Speech Signal and Hearing System ::: 語言的三要素 - Semantic (Content) 語意 - Form (Phonology Morphology Syntax) 語形 - Use (Pragmatic) 語用 #### 語意 語意是指語言最常代表的涵義,可以是一個字、一個人、一個詞或一句話。 #### 語法 語法就是語言的結構,也是指將字、詞組織成有意義的句子,主詞、動詞及受詞都有一定規則與順序。 #### 語音 指語言所發出的聲音,也是語言最原始的訊號,具有特別的結構,不同語言會有不同的語音。 #### 語形 指語言的聲音和符號。 #### 語用 能在不同的時間、地點、及情境中適當的使用語言,達到有效溝通的目的,這就是語用,換句話說,就是與他人溝通的技巧。 ![](https://hackmd.io/_uploads/S1L6u4Dkp.png) --- #### 窄頻帶的聲譜圖(narrowband spectrograms) 聲譜圖的產生是用富利葉轉換(Fourier transform),當我們用較長的分析視窗 (analysis windows),約20ms,對應頻寬約為45 Hz,得到的頻率解析度較高,頻譜上可以看到諧振的成分。 在聲譜圖上呈現 距的黑白相間橫線條,其間距就是基頻(F0)。 ![](https://hackmd.io/_uploads/BylaOVwJa.png) #### 超音段特徵(suprasegmental feature) 當我們說出完整的一句話時,是包含了一連串的發音過程,發音器官進行一連串的動作,將一個一個音節的發音產生出來。 在這過程中,會有音高的改變,音節時間長短的變化,重音的不同,以及呼吸中斷的停頓等現象,我們將這些現象所引起的聲調與節奏(rhythm)因素,稱為說話的韻律特徵(prosodic feature)。這些特徵超越音位的音段,所以稱為超音段特徵。 ![](https://hackmd.io/_uploads/rkd2OVwka.png) :::success **Homework 1/2** - Program - Audacity: Recording/Stereo/44100 Hz, Specgram, Effect/Normalization - Command Line Operation - SoX: Mixing (Stereo to Mono) → Resampling/16000 Hz - Rubberband → Time Stretching and Pitch shift 5x5 - Python Programming using Librosa, NLPaug and Audiomentations - Feature Extraction - Audio Data Augmentation - Librosa: 求參數 - NLPaug and Audiomentations: 調整快慢 - Report - Waveform, Specgram - Experimental Results - Speech vocoding - Spectrogram ```python x = librosa.stft(audio, n_fft=2048, hop_length=480) librosa.display.specshow(librosa.amplitude_to_db(np.abs(x)), sr=sr) ``` - Pitch Tracking ```python pitches, magnitudes = librosa.piptrack(y=audio, sr=sr) plt.imshow(pitches[:, :], aspect="auto", interpolation="nearest", origi n="bottom") ``` - Resampling ```python audio = librosa.resample(audio, orig_sr=sr, target_sr=target_sr) ``` - NarrowBand and WideBand Spectrogram ```python x = librosa.stft(audio, n_fft=2048, hop_length=80) x = librosa.stft(audio, n_fft=128, hop_length=80) ``` - Pitch Detection - Pitch Contour Extraction ```python snd = parselmouth.Sound(human_sound_file) snd.resample(new_frequency=16000) pitch = snd.to_pitch() ``` - Mel-Scaled Spectogram ```python audio = librosa.resample(audio, orig_sr=sr, target_sr=target_sr) ``` - MFCCs ```python mfcc = librosa.feature.mfcc(S=log_S, n_mfcc=13) ``` ::: #### 聲音感知 人類在分辨聲音時,是取決於頻域上的解析度,聽覺器官等於是將時域的聲音波形轉換成在頻域的頻譜,能否聽到聲音或分辨聲音,是取決於音強(intensity)與頻譜(spectrum)。 一般人的聽覺器官可以感知頻率範圍16 Hz到18 kHz的聲音,動態範圍約1000倍。 超出人類聽覺感知範圍,如20 kHz以上的聲波,我們稱之為超音波(ultrasonic)。 人耳對於1 kHz到5 kHz的聲音最為敏感,但是對於1 kHz以下與5 kHz以上的聲音,就要較大的音強才聽得到。 #### 遮蔽效應(masking effect) 當一個聲音存在時,它會將另一個聲音的感知臨界值提高,也就是說當某一頻率的聲音,有一特定音強存在時,另一個不同頻率的聲音要將音強提高才會被聽到,這就是遮蔽效應。 同時存在的聲音,常常是低頻的聲音傾向於遮蔽掉高頻的聲音,這是一種頻率遮蔽(frequency masking)的現象。 某一段時間存在一個聲音,在此聲音剛結束的一小段時間內,其他的聲音會聽不見這種遮蔽現象叫做時間遮蔽(temporal masking)。 這個現象也會發生在此存在聲音之前,這是由於聲音在聽覺器官中傳遞時延遲所造成的。 ![](https://hackmd.io/_uploads/S1uouNw1p.png) #### 臨界頻帶(critical band) 當我們改變窄帶聲音刺激(narrowband sound stimulus)時,若其聲音成分跨越某一頻率,在聽覺上就會感到有差異,而在一個頻率範圍內時,則不感覺到差異,這個頻率範圍就叫做臨界頻帶。 當兩個聲音訊號同在一個臨界頻帶範圍內時,能量高的聲音就把另一個聲音遮蔽掉。 如果有一個帶通的噪音維持了固定的音強,當其頻寬增加,聽到的響度仍是一樣,一直到頻寬跨過臨界頻帶時,聽起來就不一樣,覺得噪音響度變大,這是因為鄰近的神經元(neurons)也發射訊號。 ### 10/3 :::info The Acoustic Environment ::: ![](https://hackmd.io/_uploads/r1kCyiKlT.png) - Attenuation $$ d_2 + d_3 - d_1 = n \lambda + \frac{\lambda}{2} $$ - Amplification $$ d_2 + d_3 - d_1 = n \lambda $$ Model for a single sound source with one reflection: $$ x(t) = a_d \cdots s(t - \tau_d) + a_r \cdot s(t - \tau_r) $$ Generalization: $$ x(t) = \sum_{i=0}^\infty a_i \cdot s(t - \tau_i) $$ Impulse response model: $$ x(t) = \sum_{i=0}^\infty a_i \delta (t - \tau_i) * s(t) $$ where $h(t) = \sum_{i=0}^\infty a_i \delta (t - \tau_i)$, such that it can be wrote as $$ x(t) = h(t) * s(t) $$ ![](https://hackmd.io/_uploads/H1Vklste6.png) :::info Introduction to Speech Recognition and Synthesis ::: ![](https://hackmd.io/_uploads/ryj1lotgT.png) ![](https://hackmd.io/_uploads/SyUgxiFxT.png) ![](https://hackmd.io/_uploads/HJUblsYla.png) ![](https://hackmd.io/_uploads/rJYWxsKx6.png) ![](https://hackmd.io/_uploads/BJJMxiYg6.png) ![](https://hackmd.io/_uploads/H1xaGesKgp.png) ![](https://hackmd.io/_uploads/BJNmestla.png) ![](https://hackmd.io/_uploads/SkP7gotg6.png) ![](https://hackmd.io/_uploads/HymNljtxT.png) ![](https://hackmd.io/_uploads/BJIVeiKgp.png) :::success **Homework 3** Kaggle competition ::: ### 10/10 國慶 ### 10/17 ![](https://hackmd.io/_uploads/Sy_MxsjWp.png) ![](https://hackmd.io/_uploads/B11J-soZp.png) ![](https://hackmd.io/_uploads/B1TDWojZp.png) Mel-Frequency Cepstral Coefficient (MFCC): Most widely used spectral representation in ASR ### 10/24 [HW3 - Kaggle competition](https://hackmd.io/@jacksonchen1998/H1TDhuKbp) ### 10/31 Hidden Markov Model ### 11/07 espnet ### 11/14 ### 11/21 Deep Learning for Speech Synthesis ### 11/28 Deep Learning for Speech Synthesis Deep Voice Tacotron