999久久久免费精品国产牛牛-999久久狠狠免费精品-999久久66久6只有精品-999精品在线-999精品影视在线观看-999精品视频在线

語音特征提取: 看懂梅爾語譜圖(Mel-spectrogram)、梅爾倒頻系數(shù)(MFCCs)的原理

2023-08-24 16:10:44 MetInfo
語音特征提取: 看懂梅爾語譜圖(Mel-spectrogram)、梅爾倒頻系數(shù)(MFCCs)的原理
1. 什么是梅爾語譜圖和梅爾倒頻系數(shù)?
機(jī)器學(xué)習(xí)的第一步都是要提取出相應(yīng)的特征(feature),如果輸入數(shù)據(jù)是圖片,例如28*28的圖片,那么只需要把每個(gè)像素(pixel)作為特征,對(duì)應(yīng)的像素值大小(代表顏色的強(qiáng)度)作為特征值即可。那么在音頻、語音信號(hào)處理領(lǐng)域,我們需要將信號(hào)轉(zhuǎn)換成對(duì)應(yīng)的語譜圖(spectrogram),將語譜圖上的數(shù)據(jù)作為信號(hào)的特征。語譜圖的橫軸x為時(shí)間,縱軸y為頻率,(x,y)對(duì)應(yīng)的數(shù)值代表在時(shí)間x時(shí)頻率y的幅值。通常的語譜圖其頻率是線性分布的,但是人耳對(duì)頻率的感受是對(duì)數(shù)的(logarithmic),即對(duì)低頻段的變化敏感,對(duì)高頻段的變化遲鈍,所以線性分布的語譜圖顯然在特征提取上會(huì)出現(xiàn)“特征不夠有用的情況”,因此梅爾語譜圖應(yīng)運(yùn)而生。梅爾語譜圖的縱軸頻率和原頻率經(jīng)過如下公式互換:



其中f代表原本的頻率,m代表轉(zhuǎn)換后的梅爾頻率,顯然,當(dāng)f很大時(shí),m的變化趨于平緩。而梅爾倒頻系數(shù)(MFCCs)是在得到梅爾語譜圖之后進(jìn)行余弦變換(DCT,一種類似于傅里葉變換的線性變換),然后取其中一部分系數(shù)即可。

2. 梅爾語譜圖具體是如何獲得的?
梅爾語譜圖分為以下幾個(gè)步驟。以一段音樂文件為例,詳細(xì)展示每一步的原理和對(duì)應(yīng)的Python實(shí)現(xiàn)。

2.1 獲取音頻信號(hào)
python可以用librosa庫來讀取音頻文件,但是對(duì)于MP3文件,它會(huì)自動(dòng)調(diào)用audio_read函數(shù),所以如果是MP3文件,務(wù)必保證將ffmpeg.exe的路徑添加到系統(tǒng)環(huán)境變量中,不然audio_read函數(shù)會(huì)出錯(cuò)。這里我們首先讀取音頻文件,并作出0-20秒的波形。現(xiàn)在的音樂文件采樣率通常是44.1kHz。用y和sr分別表示信號(hào)和采樣率。代碼和圖形如下:

import librosa
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rcParams
import matplotlib.ticker as ticker
 
#這是一個(gè)畫圖函數(shù),方便后續(xù)作圖
def personal_plot(x,y):
    plt.figure(dpi=200,figsize=(12,6))
    rcParams['font.family']='Comic Sans MS'
    plt.plot(x,y)
    plt.xlim(x[0],x[-1])
    plt.xlabel('time/s',fontsize=20)
    plt.ylabel('Amplitude',fontsize=20)
    plt.xticks(fontsize=16)
    plt.yticks(fontsize=16)
    plt.grid()
 
#注意如果文件名不加路徑,則文件必須存在于python的工作目錄中
y,sr = librosa.load('笑顏.mp3',sr=None)
 
#這里只獲取0-20秒的部分,這里也可以在上一步的load函數(shù)中令duration=20來實(shí)現(xiàn)
tmax,tmin = 20,0
t = np.linspace(tmin,tmax,(tmax-tmin)*sr)
personal_plot(t,y[tmin*sr:tmax*sr])



2.2 信號(hào)預(yù)加重(pre-emphasis)
通常來講語音/音頻信號(hào)的高頻分量強(qiáng)度較小,低頻分量強(qiáng)度較大,信號(hào)預(yù)加重就是讓信號(hào)通過一個(gè)高通濾波器,讓信號(hào)的高低頻分量的強(qiáng)度不至于相差太多。在時(shí)域中,對(duì)信號(hào)x[n]作如下操作:



α通常取一個(gè)很接近1的值,typical value為0.97或0.95. 從時(shí)域公式來看,可能有部分人不懂為啥這是一個(gè)高通濾波器,我們從z變換的角度看一下濾波器的transfer function:



可以看出濾波器有一個(gè)極點(diǎn)0,和一個(gè)零點(diǎn)α。當(dāng)頻率為0時(shí),z=1, 放大系數(shù)為(1-α)。當(dāng)頻率漸漸增大,放大系數(shù)不斷變大,當(dāng)頻率到pi時(shí),放大系數(shù)為(1+α)。離散域中,[0,pi]對(duì)應(yīng)連續(xù)域中的[0, fs/2](單位Hz)。其中fs為采樣率,在我們這里是44.1kHz。因此當(dāng)頻率到22000Hz時(shí),放大系數(shù)為(1+α)。下面用兩段代碼和對(duì)應(yīng)的圖像給出一個(gè)直觀感受:

alpha = 0.97
emphasized_y = np.append(y[tmin*sr],y[tmin*sr+1:tmax*sr]-alpha*y[tmin*sr:tmax*sr-1])
n = int((tmax-tmin)*sr) #信號(hào)一共的sample數(shù)量
 
#未經(jīng)過預(yù)加重的信號(hào)頻譜
plt.figure(dpi=300,figsize=(7,4))
freq = sr/n*np.linspace(0,n/2,int(n/2)+1)
plt.plot(freq,np.absolute(np.fft.rfft(y[tmin*sr:tmax*sr],n)**2)/n)
plt.xlim(0,5000)
plt.xlabel('Frequency/Hz',fontsize=14)
 

#預(yù)加重之后的信號(hào)頻譜
plt.figure(dpi=300,figsize=(7,4))
plt.plot(freq,np.absolute(np.fft.rfft(emphasized_y,n)**2)/n)
plt.xlim(0,5000)
plt.xlabel('Frequency/Hz',fontsize=14)


這兩段代碼里用了函數(shù)librosa.fft.rfft(y,n),rfft表示經(jīng)過fft變換之后只取其中一半(因?yàn)榱硪话雽?duì)應(yīng)負(fù)頻率,沒有用處), y對(duì)應(yīng)信號(hào),n對(duì)應(yīng)要做多少點(diǎn)的FFT。我們這里的信號(hào)有44.1k*20=882000個(gè)點(diǎn),所以對(duì)應(yīng)的FFT 也做882000點(diǎn)的FFT,每一個(gè)點(diǎn)所對(duì)應(yīng)的實(shí)際頻率是該點(diǎn)的索引值*fs/n,這是咋得出來的?因?yàn)榈?82000個(gè)點(diǎn)應(yīng)該對(duì)應(yīng)(約等于)fs(或者離散域中的2pi),所以前面的點(diǎn)根據(jù)線性關(guān)系一一對(duì)應(yīng)即可。這里只展示0-5000Hz,可以看出,經(jīng)過預(yù)加重之后的信號(hào)高頻分量明顯和低頻分量的差距沒那么大了。

這樣預(yù)加重的好處有什么?原文提到了三點(diǎn):(1)就是我們剛剛提到的平衡一下高頻和低頻 (2)避免FFT中的數(shù)值問題(也就是高頻值太小出現(xiàn)在分母的時(shí)候可能會(huì)出問題) (3)或許可以提高SNR。

2.3 分幀(framing)
預(yù)處理完信號(hào)之后,要把原信號(hào)按時(shí)間分成若干個(gè)小塊,一塊就叫一幀(frame)。為啥要做這一步?因?yàn)樵盘?hào)覆蓋的時(shí)間太長,用它整個(gè)來做FFT,我們只能得到信號(hào)頻率和強(qiáng)度的關(guān)系,而失去了時(shí)間信息。我們想要得到頻率隨時(shí)間變化的關(guān)系,所以將原信號(hào)分成若干幀,對(duì)每一幀作FFT(又稱為短時(shí)FFT,因?yàn)槲覀冎蝗×艘恍《螘r(shí)間),然后將得到的結(jié)果按照時(shí)間順序拼接起來。這就是語譜圖(spectrogram)的原理。

下面定義幾個(gè)變量:

frame_size: 每一幀的長度。通常取20-40ms。太長會(huì)使時(shí)間上的分辨率(time resolution)較小,太小會(huì)加重運(yùn)算成本。這里取25ms.

frame_length: 每一幀對(duì)應(yīng)的sample數(shù)量。等于fs*frame_size。我們這里是44.1k*0.025=1102.

frame_stride: 相鄰兩幀的間隔。通常間隔必須小于每一幀的長度,即兩幀之間要有重疊,否則我們可能會(huì)實(shí)去兩幀邊界附近的信息。做特征提取的時(shí)候,我們是絕不希望實(shí)去有用信息的。 這里取10ms,即有60%的重疊。

frame_step: 相鄰兩幀的sample數(shù)量。這里是441.

frame_num: 整個(gè)信號(hào)所需要的幀數(shù)。一般希望所需要的幀數(shù)是個(gè)整數(shù)值,所以這里要對(duì)信號(hào)補(bǔ)0(zero padding)讓信號(hào)的長度正好能分成整數(shù)幀。

具體代碼如下:

frame_size, frame_stride = 0.025,0.01
frame_length, frame_step = int(round(sr*frame_size)),int(round(sr*frame_stride))
signal_length = (tmax-tmin)*sr
frame_num = int(np.ceil((signal_length-frame_length)/frame_step))+1 #向上舍入
pad_frame = (frame_num-1)*frame_step+frame_length-signal_length #不足的部分補(bǔ)零
pad_y = np.append(emphasized_y,np.zeros(pad_frame))
signal_len = signal_length+pad_frame
2.4 加窗(window)
分幀完畢之后,對(duì)每一幀加一個(gè)窗函數(shù),以獲得較好的旁瓣下降幅度。通常使用hamming window。

為啥要加窗?要注意,即使我們什么都不加,在分幀的這個(gè)過程中也相當(dāng)于給信號(hào)加了矩形窗,學(xué)過離散濾波器設(shè)計(jì)的人應(yīng)該知道,矩形窗的頻譜有很大的旁瓣,時(shí)域中將窗函數(shù)和原函數(shù)相乘,相當(dāng)于頻域的卷積,矩形窗函數(shù)和原函數(shù)卷積之后,由于旁瓣很大,會(huì)造成原信號(hào)和加窗之后的對(duì)應(yīng)部分的頻譜相差很大,這就是頻譜泄露。hamming window有較小的旁瓣,造成的spectral leakage也就較小。代碼實(shí)現(xiàn)如下:首先定義indices變量,這個(gè)變量生成每幀所對(duì)應(yīng)的sample的索引。np.tile函數(shù)可以使得array從行或者列擴(kuò)展。然后定義frames,對(duì)應(yīng)信號(hào)在每一幀的值。frames共有1999行,1102列,分別對(duì)應(yīng)一共有1999幀和每一幀有1102個(gè)sample。將得到的frames和hamming window直接相乘即可,注意這里不是矩陣乘法。

indices = np.tile(np.arange(0, frame_length), (frame_num, 1)) + np.tile(
    np.arange(0, frame_num * frame_step, frame_step), (frame_length, 1)).T
frames = pad_y[indices] #frame的每一行代表每一幀的sample值
frames *= np.hamming(frame_length) #加hamming window 注意這里不是矩陣乘法
2.5 獲取功率譜
我們?cè)?.4中已經(jīng)獲得了frames變量,其每一行對(duì)應(yīng)每一幀,所以我們分別對(duì)每一行做FFT。由于每一行是1102個(gè)點(diǎn)的信號(hào),所以可以選擇1024點(diǎn)FFT(FFT點(diǎn)數(shù)比原信號(hào)點(diǎn)數(shù)少會(huì)降低頻率分辨率frequency resolution,但這里相差很小,所以可以忽略)。將得到的FFT變換取其magnitude,并進(jìn)行平方再除以對(duì)應(yīng)的FFT點(diǎn)數(shù),即可得到功率譜。到這一步我們其實(shí)已經(jīng)得到了spectrogram, 只需要用plt.imshow畫出其dB值對(duì)應(yīng)的熱力圖即可,代碼和結(jié)果如下:

NFFT = 1024 #frame_length=1102,所以用1024足夠了
mag_frames = np.absolute(np.fft.rfft(frames,NFFT))
pow_frames = mag_frames**2/NFFT
 
plt.figure(dpi=300,figsize=(12,6))
plt.imshow(20*np.log10(pow_frames[40:].T),cmap=plt.cm.jet,aspect='auto')
plt.yticks([0,128,256,384,512],np.array([0,128,256,384,512])*sr/NFFT)


2.6 梅爾濾波器組(Mel-filter banks)
較后一步是將梅爾濾波器運(yùn)用到上一步得到的pow_frames上。所謂梅爾濾波器組是一個(gè)等高的三角濾波器組,每個(gè)濾波器的起始點(diǎn)在上一個(gè)濾波器的中點(diǎn)處。其對(duì)應(yīng)的頻率在梅爾尺度上是線性的,因此稱之為梅爾濾波器組。每個(gè)濾波器對(duì)應(yīng)的頻率可以將較大頻率(下圖中是4000,我們這里是22.05k)用上文中提到的公式轉(zhuǎn)換成梅爾頻率,在梅爾尺度上線性分成若干個(gè)頻段,再轉(zhuǎn)換回實(shí)際頻率尺度即可。實(shí)際操作時(shí),將每個(gè)濾波器分別和功率譜pow_frames進(jìn)行點(diǎn)乘,獲得的結(jié)果即為該頻帶上的能量(energy)。這里我們的pow_frames是一個(gè)(1999,513)的矩陣(這里可能有人疑問513咋來的?我們剛剛做的不是1024點(diǎn)FFT嗎?這里注意因?yàn)槲覀冇昧藃fft,只用了非負(fù)的那一半頻率,所以是1024/2+1個(gè)點(diǎn)),梅爾濾波器fbank是一個(gè)(mel_N, 513)的矩陣,其中mel_N代表對(duì)應(yīng)的梅爾濾波器個(gè)數(shù),這個(gè)值不能太大,因?yàn)檫@里我們一共只有513個(gè)點(diǎn),如果mel_N取得太大,會(huì)導(dǎo)致前面幾個(gè)濾波器的長度都是0 (因?yàn)榈皖l的梅爾濾波器特別窄)。我們只要將這兩個(gè)矩陣相乘pow_frames*fbank.T即可得到mel-spectrogram,結(jié)果是一個(gè)(1999, 40)的矩陣,每一行是一幀,每一列代表對(duì)應(yīng)的梅爾頻帶的能量。具體梅爾濾波器的圖例和計(jì)算公式以及對(duì)應(yīng)代碼如下:





其中m代表濾波器的序號(hào),f(m-1)和f(m)、f(m+1)分別對(duì)應(yīng)第m個(gè)濾波器的起始點(diǎn)、中間點(diǎn)和結(jié)束點(diǎn)。大家一定要注意的一點(diǎn)是,這里的f(m)對(duì)應(yīng)的值不是頻率值,而是對(duì)應(yīng)的sample的索引!比如,我們這里較大頻率是22050 Hz, 所以22050Hz對(duì)應(yīng)的是第513個(gè)sample,即頻率f所對(duì)應(yīng)的值是f/fs*NFFT。

代碼中有一段np.where(condition,a,b),這個(gè)函數(shù)的功能是檢索b中的元素,當(dāng)condition滿足的時(shí)候,輸出a否則,輸出b中的原元素。這一步的操作是為了將其中的全部0值以一個(gè)很小的非負(fù)值代替,否則在計(jì)算dB的時(shí)候,log中出現(xiàn)0會(huì)出錯(cuò)。

#下面定義mel filter
mel_N = 40 #濾波器數(shù)量,這個(gè)數(shù)字若要提高,則NFFT也要相應(yīng)提高
mel_low, mel_high = 0, (2595*np.log10(1+(sr/2)/700))
mel_freq = np.linspace(mel_low,mel_high,mel_N+2)
hz_freq = (700 * (10**(mel_freq / 2595) - 1))
bins = np.floor((NFFT)*hz_freq/sr) #將頻率轉(zhuǎn)換成對(duì)應(yīng)的sample位置
fbank = np.zeros((mel_N,int(NFFT/2+1))) #每一行儲(chǔ)存一個(gè)梅爾濾波器的數(shù)據(jù)
for m in range(1, mel_N + 1):
    f_m_minus = int(bins[m - 1])   # left
    f_m = int(bins[m])             # center
    f_m_plus = int(bins[m + 1])    # right
 
    for k in range(f_m_minus, f_m):
        fbank[m - 1, k] = (k - bins[m - 1]) / (bins[m] - bins[m - 1])
    for k in range(f_m, f_m_plus):
        fbank[m - 1, k] = (bins[m + 1] - k) / (bins[m + 1] - bins[m])
filter_banks = np.matmul(pow_frames, fbank.T)
filter_banks = np.where(filter_banks == 0, np.finfo(float).eps, filter_banks)  # np.finfo(float)是較小正值
filter_banks = 20 * np.log10(filter_banks)  # dB
#filter_banks -= np.mean(filter_banks,axis=1).reshape(-1,1)
plt.figure(dpi=300,figsize=(12,6))
plt.imshow(filter_banks[40:].T, cmap=plt.cm.jet,aspect='auto')
plt.yticks([0,10,20,30,39],[0,1200,3800,9900,22000])

較后,得到的mel-spectrogram如下:



2.7 Mel-spectogram feature
機(jī)器學(xué)習(xí)的時(shí)候,每一個(gè)音頻段即可用對(duì)應(yīng)的mel-spectogram表示,每一幀對(duì)應(yīng)的某個(gè)頻段即為一個(gè)feature。因此我們一共獲得了1999*40個(gè)feature和對(duì)應(yīng)的值。實(shí)際操作中,每個(gè)音頻要采用同樣的長度,這樣我們的feature數(shù)量才是相同的。通常還要進(jìn)行歸一化,即每一幀的每個(gè)元素要減去該幀的平均值,以保證每一幀的均值均為0.

3. MFCCs原理
得到了梅爾語譜圖,想得到MFCCs就很簡單了。首先,為啥要用MFCCs? 因?yàn)?中得到的梅爾譜系數(shù)是互相關(guān)的,在一些機(jī)器學(xué)習(xí)算法中可能會(huì)出問題,因?yàn)橛行┧惴僭O(shè)數(shù)據(jù)不存在互相關(guān)性。因此,可以用DCT變換來壓縮梅爾譜,得到一組不相關(guān)的系數(shù)。DCT在圖像壓縮領(lǐng)域很常見,大家可以自己查閱相關(guān)資料其原理。在語音識(shí)別中,得到的梅爾倒頻系數(shù)只保存前2-13個(gè),剩下的不用,因?yàn)檠芯勘砻髌渌禂?shù)代表了系數(shù)中高階的變化,在ASR中沒啥用。

當(dāng)然,更深層次的原因是MFCC是倒譜系數(shù),所謂倒譜系數(shù),就是對(duì)log之后的梅爾譜系數(shù)進(jìn)行DCT變換,其實(shí)相當(dāng)于將實(shí)際上是頻域的信號(hào)當(dāng)成時(shí)域信號(hào)強(qiáng)行進(jìn)行頻域變換,得到的是頻域信號(hào)在偽頻域的幅頻相應(yīng),前2-13個(gè)系數(shù)代表的是包絡(luò),因?yàn)樗麄冊(cè)趥晤l域上是低頻信號(hào),所以在前面,后面的系數(shù)是偽頻域的高頻信號(hào),代表的是spectral details,在語音識(shí)別的時(shí)候,對(duì)我們幫助更大的是包絡(luò),因?yàn)榘薴ormants等信息。

4. 總結(jié)
總的來說,過去在HMM、GMM等模型用的比較火的時(shí)候,多將MFCC用于特征提取,因?yàn)楫?dāng)時(shí)的機(jī)器學(xué)習(xí)算法有相應(yīng)的不足。如今較熱門的是以神經(jīng)網(wǎng)絡(luò)為代表的深度學(xué)習(xí)算法,神經(jīng)網(wǎng)絡(luò)內(nèi)部復(fù)雜,在訓(xùn)練的過程中可以在網(wǎng)絡(luò)內(nèi)部將互相關(guān)的問題弱化,也因此DCT變換顯得有些多余,何況還會(huì)提高計(jì)算量,而且DCT作為一種線性變換,有可能會(huì)導(dǎo)致?lián)p失信號(hào)中一些非線性信息。因此,如今Mel-spectogram用的更多。

 


首頁
產(chǎn)品
鑒定
聯(lián)系
少妇愉情理仑片高潮| 美女张开双腿久久久久久 | 欧美性大战XXXXX久久久| 日本一线和三线的区别是什么| 天堂资源在线官网BT| 亚洲产国偷v产偷v自拍浪潮AV| 尤物AV无码色AV无码| 把腿张开老子cao烂你在线视频| 公车上拨开丁字裤进入电影| 韩国三级在线观看完整版| 麻豆乱码1区2区新区| 日本熟妇色丰满少妇wwwww色| 性欧美VIDEOS武则天| 岳女二人名器共侍一夫的出处| 把插八插露脸对白内射| 国产午夜精品理论片A级在线观看 国产午夜精品理论片 | 亚洲人成人无码www五月婷| 18禁美女黄网站色大片在线 | 人妻少妇看A偷人无码| 无码人妻斩一区二区三区| 亚洲中文字幕久久精品无码A | 丰满少妇熟女高潮流白浆| 极品教师动漫在线观看免费完整版| 男人把女人桶到爽免费应用| 体验区试看120秒十八禁| 亚洲综合网站精品一区二区| 成人三级A视频在线观看| 激情五月丁香六月综合AVXXXX| 女人夜夜春高潮爽A∨片| 图片区小说区另类春色| 亚洲午夜国产成人AV电影| 成人用品有限公司| 久久AV喷吹AV高潮AV欧美| 日本在线 | 中文| 亚洲少妇吃奶摸下| 狼人大香伊蕉国产WWW亚洲| 强被迫伦姧在线观看无码| 亚洲AV成人无码AV小说| 99精产国品一二三产区区别电影 | 日韩无码av一区二区| 人妻少妇精品一区二区三区| 亚洲AV成人综合网成人| METART极品人体| 狠狠色丁香婷婷亚洲综合| 人人妻人人澡人人乐DVD| 亚洲欧美偷拍另类A∨色屁股| 成人午夜性A级毛片免费| 久久久久久久女国产乱让韩| 视频二区精品中文字幕| 永久免费观看午夜成人网站| 国产成人综合一区人人| 男人吃奶摸下挵进去好爽在线观看| 西西人体自慰扒开下部93| MM131美女图片尤物写真丝袜 | 亚洲METART人体欣赏| 波多野美乳人妻HD电影欧美| 久久精品亚洲精品无码金尊| 天堂在/线中文在线资源8| 中文无码制服丝袜人妻AV | 久久老司机精品网站福利| 天堂√在线中文最新版8| 69精产国品一二三产区区别| 哈昂~哈昂够了太多太深| 日韩精品免费一线在线观看| 在线无码午夜福利高潮视频| 国产亚洲婷婷香蕉久久精品| 精品亚洲国产成人AV制服 | 午夜三级A三级三点自慰| CHINESE新版少妇嫖妓VI| 久久成人国产精品无码| 无码国产伦一区二区三区视频 | 男女一起差差差差差| 亚洲国产精品不卡AV在线| 贵阳40多岁熟女高潮呻吟| 狠狠色噜噜狠狠狠888米奇视频 | YY111111少妇影院| 久久久久久精品免费免费69| 小雪被老汉各种姿势玩弄| 白嫩美女被内射59| 蜜臀AV在线无码国产| 亚洲妇女水蜜桃AV网网站| 国产成人亚洲精品无码MP4| 人人妻人人澡人人爽人人精品电影 | 欧美性猛交XXXX黑人| 英语老师没戴套让我C了一节课| 国内精品久久久久久影院| 天堂8在/线中文在线资源8| www.成人av| 免费观看A级毛片| 亚洲综合AV色婷婷国产野外 | 成人精品视频99在线观看免费| 男人J桶进女人P无遮挡的图片| 亚洲熟妇AV一区二区三区宅男 | 理论片在线播放网站观看| 亚洲另类自拍丝袜第五页| 国产乱人伦偷精品视频AAA| 少妇 黑人 欧美 亚洲| 成 人片 黄 色 大 片| 琪琪电影午夜理论片YY6080| 18精品久久久无码午夜福利| 久久婷婷五月综合色国产香蕉 | 少妇饥渴偷公乱A级无码| 波多野结衣50连登视频| 强CAO出水嗯啊高潮了H漫画| 7777精品伊久久久大香线蕉| 两个黑人大战娇妻的小说| 野花韩国在线观看免费版5| 精品无码久久久久久久久| 亚洲国产精品无码一区二区三区 | 宝贝这里没人给我好吗| 欧美熟妇的性裸交| AV无码人妻精品丰满熟妇区| 男人激烈吮乳吃奶视频免费| 影音先锋AV天堂| 久久熟女俱乐部五十路二区av | 未满十八岁的请自动离开| 国产 亚洲 无码 激情| 少妇饥渴XXHD麻豆XXHD?| 公和熄洗澡三级在线观看| 少妇太爽丰满一区二区| 国产AV一区二区精品久久| 铜铜铜铜铜铜铜好大好深色板 | 精品一区二区无码免费| 亚洲国产区男人本色| 精品人妻少妇一区二区三区在线 | 中文字幕 亚洲精品 第1页| 麻豆国产尤物AV尤物在线观看| 在线 亚洲 国产 欧美| 免费无码成人AV片在线在线播放| 中文字幕无码一区二区黑人巨大 | 中文字幕乱码无码人妻系列蜜桃| 乱人伦人妻中文字幕无码| 中文字幕成熟丰满人妻| 女狠狠噜天天噜日日噜 | 亚洲开心婷婷中文字幕| 久久国产乱子伦精品免费女人| 亚洲中文字幕无码一久久区| 麻豆星空精东天美MV| 99久久精品国产一区二区三区| 欧美一区二区三区视频在线观看 | 啪啪啪1000免费观看| 成人无码H在线观看网站| 天堂资源在线WWW中文| 国产又黄又爽胸又大免费视频| 亚洲丰满熟妇浓毛大隂户| 久久久久亚洲AV无码专区喷水 | 成人免费无码大片A毛片小说| 乳头羞涩NP公主| 国产精品午夜无码AV体验区| 亚洲成A人片在线观看无码| 久久久国产精品一区二区18禁| 中文字幕人乱码中文字幕| 人妻聚色窝窝人体www一区91| 公翁的粗大放进我的秘密小说| 香蕉久久久久久AV成人| 精品无码人妻一区二区三区品| 在线观看国产精选免费| 青青草原精品99久久精品66| 公的粗大挺进了我的密道视频| 亚洲AⅤ无码日韩AV中文AV伦| 久久精品AⅤ无码中文字字幕重口| 中国娇小与黑人巨大交| 人妻无码一区二区三区久| 国产播放隔着超薄丝袜进入| 亚洲AV无码乱码国产麻豆| 久久无码人妻丰满熟妇区毛片| CAOPOREN免费精品视频| 私人微信放款24小时在线| А√天堂 地址 在线| 熟妇高潮一区二区精品de| 国产一区二区H无遮挡| 一区二区三区午夜无码视频| 青青爽无码视频在线观看| 国产精品欧美一区二区三区不卡| 亚洲欧美成人一区二区三区 | 好男人官网资源在线观看| 岳潮湿的大肥梅开二度第三部最新| 人妻少妇aB又紧又爽精品视频| 国产精品无码DVD在线观看| 野花香电视剧全集免费观看高清 | YY4480高清影院播放器| 无码人妻精品内射一二三AV| 久久寂寞少妇成人内射| JK浴室自慰到不停喷水尿失禁 | 国产成人无码A区在线观看导航| 亚洲国产精品成人午夜在线观看| 嫩草在线视频WWW免费看| 国产AV无码区亚洲| 亚洲综合AV在线在线播放| 日本人妻熟妇丰满成熟HD系列| 好男人影视在线观看下载| AV无码久久久久不卡蜜桃| 校园H学长含着粉嫩小奶| 免费看久久妇女高潮A| 国产激情久久久久久熟女老人| 伊人久久大香线蕉成人| 天干天干天啪啪夜爽爽AV| 巨胸美乳无码人妻在线| 丰满少妇被粗大猛烈进人高清| 亚洲熟妇在线观看|