久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線(xiàn)實(shí)戰(zhàn)洞察。

基于ESP32-S3的專(zhuān)屬喚醒詞訓(xùn)練與部署實(shí)戰(zhàn)

基于ESP32-S3的專(zhuān)屬喚醒詞訓(xùn)練與部署實(shí)戰(zhàn) 第一次在ESP32-S3上跑通自己訓(xùn)練的喚醒詞模型時(shí)串口監(jiān)視器里連續(xù)跳出三行高置信度輸出之后那只“大熊貓”真的開(kāi)口回了話(huà)——那一刻的痛快勁兒我到現(xiàn)在還記得。這個(gè)項(xiàng)目看著像是個(gè)玩具給一只熊貓形象的語(yǔ)音助手起個(gè)“大熊貓”的名字叫它一聲它就答應(yīng)還能播報(bào)溫濕度、控制小燈、甚至連接本地的AI服務(wù)回話(huà)。但真正跑一遍之后你會(huì)發(fā)現(xiàn)從“訓(xùn)練專(zhuān)屬喚醒詞”到“部署到ESP32”中間串起來(lái)的是一整套邊緣AI的完整鏈路數(shù)據(jù)采集、特征提取、模型量化、嵌入式推理、I2S音頻驅(qū)動(dòng)、中斷觸發(fā)與系統(tǒng)聯(lián)動(dòng)。這篇就按我的實(shí)際落地流程把每一步怎么選型、怎么配置、踩了哪些坑盡量寫(xiě)透適合手里有一塊ESP32-S3開(kāi)發(fā)板、想從零把“自己的聲音助手”做出來(lái)的人參考。1. 整體方案拆解把“語(yǔ)音喚醒”這件事拆成幾個(gè)小模塊1.1 訓(xùn)練喚醒詞的本質(zhì)一個(gè)輕量級(jí)二分類(lèi)問(wèn)題很多人第一次接觸“喚醒詞”會(huì)以為得跑什么大模型其實(shí)喚醒詞識(shí)別KWS在嵌入式側(cè)就是一道非常簡(jiǎn)單的分類(lèi)題給一段音頻判斷它到底是“大熊貓”還是“不是大熊貓”。這里不需要理解語(yǔ)義不需要聲紋識(shí)別甚至不需要特別高的準(zhǔn)確率——你只需要在設(shè)備待機(jī)時(shí)持續(xù)監(jiān)聽(tīng)麥克風(fēng)信號(hào)一旦檢測(cè)到預(yù)設(shè)的關(guān)鍵詞就把它當(dāng)作“開(kāi)機(jī)信號(hào)”喚醒后進(jìn)入更完整的語(yǔ)音交互流程。所以項(xiàng)目的第一階段核心是產(chǎn)出一個(gè)幾十KB量級(jí)的極小分類(lèi)模型。分類(lèi)對(duì)象只有兩類(lèi)“目標(biāo)喚醒詞”和“非目標(biāo)聲音”。后者包括日常環(huán)境噪聲、人說(shuō)話(huà)時(shí)的其他詞語(yǔ)甚至電視播報(bào)等。模型輸入是音頻的聲學(xué)特征MFCC輸出是0到1之間的置信度分?jǐn)?shù)。簡(jiǎn)單但做扎實(shí)并不容易因?yàn)椤胺悄繕?biāo)聲音”這個(gè)負(fù)樣本類(lèi)別太寬泛了很容易出現(xiàn)誤喚醒。1.2 為什么我選了ESP32-S3而不是普通ESP32或ESP32-C3同樣跑一個(gè)幾百KB的TFLite Micro模型ESP32能跑嗎能跑但體驗(yàn)差很多。普通ESP32雙核240MHz也沒(méi)有向量擴(kuò)展指令跑卷積類(lèi)算子是純通用運(yùn)算識(shí)別一幀特征大約需要幾十毫秒勉強(qiáng)能用。ESP32-S3則專(zhuān)門(mén)強(qiáng)化了AI算力支持向量指令同樣的TFLite算子推理性能有明顯提升。加上S3原生支持USB燒錄連接電腦一根Type-C數(shù)據(jù)線(xiàn)就能下載程序不需要額外買(mǎi)USB轉(zhuǎn)串口模塊對(duì)新手友好得多。如果你手里是“ESP32-S3-DevKitC-1-N16R8”這塊官方核心板那配置是16MB Flash 8MB PSRAM存儲(chǔ)空間很充??梢苑畔赂蟮哪P汀㈩A(yù)置音頻資源和更多邏輯代碼。如果手里只有普通ESP32開(kāi)發(fā)板項(xiàng)目也成立但建議把模型控制在100KB以?xún)?nèi)Flash分區(qū)也最好調(diào)整一下。另外S3的ADC精度更高I2S外設(shè)接數(shù)字麥克風(fēng)也更穩(wěn)定。這塊板子幾乎就是為“邊緣語(yǔ)音交互”這個(gè)場(chǎng)景準(zhǔn)備的。1.3 完整的工作流從訓(xùn)練到部署分成四條線(xiàn)我在做這個(gè)項(xiàng)目時(shí)把任務(wù)拆成了四條互相獨(dú)立、最終匯合的線(xiàn)第一是數(shù)據(jù)集線(xiàn)錄制“大熊貓”的正樣本和大量非喚醒詞的負(fù)樣本。第二是訓(xùn)練線(xiàn)在PC上用Python提取MFCC特征訓(xùn)練一個(gè)小型神經(jīng)網(wǎng)絡(luò)導(dǎo)出成TFLite量化模型再轉(zhuǎn)成C數(shù)組。第三是嵌入式程序線(xiàn)在Arduino IDE或PlatformIO里寫(xiě)ESP32-S3工程完成I2S麥克風(fēng)采集、MFCC實(shí)時(shí)計(jì)算、TFLite Micro推理、判決和動(dòng)作觸發(fā)。第四是反饋聯(lián)動(dòng)線(xiàn)識(shí)別到喚醒詞之后播放儲(chǔ)存在Flash里的音頻片段、翻轉(zhuǎn)GPIO控制LED、通過(guò)串口或網(wǎng)絡(luò)發(fā)送指令給其他設(shè)備。為什么要把流程切得這么清因?yàn)榕佩e(cuò)的時(shí)候各條線(xiàn)可以單獨(dú)驗(yàn)證。比如模型訓(xùn)練好了不代表燒錄后就能跑嵌入式端特征提取如果和訓(xùn)練端不一致模型再準(zhǔn)也是廢物。把“數(shù)據(jù)的問(wèn)題”“訓(xùn)練的問(wèn)題”“部署的問(wèn)題”徹底分開(kāi)排查范圍每一層都能縮小一半。表里簡(jiǎn)單列一下系統(tǒng)模塊與對(duì)應(yīng)責(zé)任模塊主要職責(zé)關(guān)鍵技術(shù)音頻采集把麥克風(fēng)聲音轉(zhuǎn)成數(shù)字信號(hào)I2S、數(shù)字麥克風(fēng)如INMP441特征提取把波形變成MFCC序列FFT、DCT、三角濾波器組喚醒模型判斷當(dāng)前是否為喚醒詞CNN/DNNTFLite Micro推理判決邏輯去抖、連續(xù)確認(rèn)、防誤觸發(fā)置信度閾值、連續(xù)命中計(jì)數(shù)交互反饋播報(bào)、燈光、上位機(jī)通信I2S DAC功放、PWM/GPIO、UART/網(wǎng)絡(luò)1.4 先跑通最小閉環(huán)再做“大熊貓語(yǔ)音助手”做這種軟硬結(jié)合的項(xiàng)目最大的教訓(xùn)是不要一開(kāi)始就追求“完整”。我的第一步其實(shí)特別糙麥克風(fēng)采集到聲音串口打印出原始音頻波形的最大值第二步把固定幾秒鐘音頻存到數(shù)組里跑一遍模型看到輸出數(shù)值有變化第三步才上實(shí)時(shí)推理。每一步都有一個(gè)可以肉眼確認(rèn)的結(jié)果。在完整做成“大熊貓語(yǔ)音助手”之前你先讓設(shè)備做到“我叫它一聲串口打印YES”就已經(jīng)贏了一半。后面的播放語(yǔ)音、連網(wǎng)、控制外設(shè)全是錦上添花。2. 從零訓(xùn)練專(zhuān)屬喚醒詞數(shù)據(jù)、特征與模型2.1 數(shù)據(jù)采集是決定成敗的第一步別偷懶很多人拿到項(xiàng)目后第一反應(yīng)是去GitHub上下載現(xiàn)成的喚醒詞數(shù)據(jù)集。這事能跑通但“專(zhuān)屬”這兩個(gè)字就沒(méi)了。聲音和人是強(qiáng)相關(guān)的你和我的音色、語(yǔ)速、聲調(diào)都不一樣一個(gè)在別人聲音上訓(xùn)練得很好的模型用到你的設(shè)備上準(zhǔn)確率可能直接崩掉。所以專(zhuān)屬喚醒詞訓(xùn)練一定要采集自己最好加上家人朋友的聲音。正樣本采集時(shí)我用的是Audacity錄音采樣率設(shè)為16kHz單聲道每條音頻1秒左右中間留0.2秒左右的靜音。錄制時(shí)分別用正常語(yǔ)速、稍快、稍慢三個(gè)節(jié)奏各錄十幾條。麥克風(fēng)距離不要太近保持20到30厘米避免噴麥和爆音。負(fù)樣本有兩種一種是純環(huán)境噪聲比如空調(diào)聲、鍵盤(pán)敲擊聲、開(kāi)門(mén)聲另一種是別人說(shuō)話(huà)的聲音尤其是發(fā)音和“大熊貓”相近的詞語(yǔ)比如“打洗貓”“打開(kāi)門(mén)”“帶熊貓玩具來(lái)”之類(lèi)的詞組。負(fù)樣本不要求精確標(biāo)注內(nèi)容只要保證時(shí)長(zhǎng)和正樣本相似即可。最終我手里的數(shù)據(jù)集大概是正樣本80條、負(fù)樣本200條。少樣本情況下模型也能收斂但要配合數(shù)據(jù)增強(qiáng)。數(shù)據(jù)增強(qiáng)是必須做的一步。我用程序?qū)σ纛l做了加噪聲、變速、音量隨機(jī)縮放三樣增強(qiáng)處理每一條原始音頻可以衍生出三到五條變體。樣本量上去以后模型的泛化能力明顯變好這比調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)更有效。2.2 MFCC特征提取把聲音變成一張“頻譜表格”波形數(shù)據(jù)不能直接喂給模型至少不適合這種超小模型。我們需要把一段音頻壓縮成更緊湊的表示——MFCC梅爾頻率倒譜系數(shù)。你可以把MFCC理解成音頻的“低維指紋”它提取人耳敏感頻段的能量分布保留說(shuō)話(huà)內(nèi)容里最有區(qū)分度的包絡(luò)信息同時(shí)丟掉大量無(wú)關(guān)的細(xì)節(jié)比如音調(diào)高低、環(huán)境混響等。在PC端提取MFCC時(shí)我參考了語(yǔ)音識(shí)別里最常規(guī)的一套參數(shù)16kHz采樣率、每幀25毫秒、幀移10毫秒、每幀計(jì)算13維MFCC系數(shù)。注意MFCC的參數(shù)必須和嵌入式端完全一致稍有偏差模型訓(xùn)練得再好也認(rèn)不出真實(shí)聲音因?yàn)槟P涂吹降奶卣鞣植己湍阄菇o它的完全不一樣。我寫(xiě)了一個(gè)簡(jiǎn)單的Python腳本把一整段音頻切成長(zhǎng)度相同的“特征窗口”每個(gè)窗口包含連續(xù)的15幀也就是150毫秒的音頻信息。一個(gè)窗口的形狀是(15, 13)對(duì)應(yīng)一張15行13列的“特征圖像”。模型的輸入就是這種窗口。這一階段的輸出是一個(gè)numpy數(shù)組存成train_x.npy和train_y.npy。你也可以順手把特征可視化一下看一眼正樣本和負(fù)樣本在特征空間里是否可分。如果兩類(lèi)樣本的MFCC圖看起來(lái)區(qū)別很明顯訓(xùn)練基本不會(huì)太差。2.3 輕量級(jí)模型結(jié)構(gòu)與訓(xùn)練參數(shù)嵌入式端模型的結(jié)構(gòu)我用了一個(gè)兩層Conv1D加Dense層的組合。輸入是(15, 13)卷積提取相鄰幀之間的變化模式全連接輸出二分類(lèi)概率。整個(gè)參數(shù)量只有幾百到一千出頭量化后模型文件能做到不到20KB。import numpy as np import tensorflow as tf from tensorflow import keras inputs keras.Input(shape(15, 13)) x keras.layers.Conv1D(16, 3, paddingsame, activationrelu)(inputs) x keras.layers.MaxPooling1D(2)(x) x keras.layers.Flatten()(x) x keras.layers.Dense(32, activationrelu)(x) outputs keras.layers.Dense(2, activationsoftmax)(x) model keras.Model(inputs, outputs) model.compile( optimizerkeras.optimizers.Adam(learning_rate1e-3), losssparse_categorical_crossentropy, metrics[accuracy] ) history model.fit( train_x, train_y, validation_split0.2, epochs60, batch_size32, verbose1 )訓(xùn)練時(shí)用早停回調(diào)觀察val_accuracy。因?yàn)闃颖玖坎淮竽P秃苋?易出現(xiàn)過(guò)擬合一個(gè)典型信號(hào)是訓(xùn)練準(zhǔn)確率很快沖到99%驗(yàn)證集卻卡在90%上下。這時(shí)候優(yōu)先補(bǔ)數(shù)據(jù)而不是加深網(wǎng)絡(luò)層數(shù)。訓(xùn)練完成后觀察驗(yàn)證集里錯(cuò)誤分類(lèi)的樣本能發(fā)現(xiàn)不少有意思的點(diǎn)比如某些負(fù)樣本和“大熊貓”的MFCC圖真的挺像模型分不清是合理的這時(shí)候就需要針對(duì)性地把這些難分樣本歸入訓(xùn)練集重訓(xùn)。2.4 導(dǎo)出TFLite模型并量化成C數(shù)組這一步?jīng)Q定能不能塞進(jìn)MCU訓(xùn)練完的Keras模型是float32格式大小可能只有幾百KB但對(duì)于單片機(jī)來(lái)說(shuō)還是偏大、偏慢。我們做兩步壓縮一是把模型轉(zhuǎn)成TFLite格式二是用INT8量化把權(quán)重壓縮到約原來(lái)的四分之一推理時(shí)的內(nèi)存和計(jì)算開(kāi)銷(xiāo)也降一截。量化需要“代表性數(shù)據(jù)集”代碼大致是這樣converter tf.lite.TFLiteConverter.from_keras_model(model) converter.optimizations [tf.lite.Optimize.DEFAULT] converter.representative_dataset representative_ds converter.target_spec.supported_ops [tf.lite.OpsSet.TFLITE_BUILTINS_INT8] tflite_model converter.convert() with open(wake_word.tflite, wb) as f: f.write(tflite_model)representative_ds是一個(gè)生成器每次產(chǎn)出1個(gè)(15, 13)的樣本從訓(xùn)練集里隨機(jī)取100到200條即可。量化過(guò)程中校準(zhǔn)器會(huì)統(tǒng)計(jì)每一層激活值的分布進(jìn)而確定最優(yōu)的整數(shù)縮放參數(shù)。導(dǎo)出tflite后在PC端先用Python的tf.lite.Interpreter快速驗(yàn)證一次拿幾條沒(méi)有參與訓(xùn)練的音頻跑一遍確認(rèn)精度沒(méi)有崩。然后生成C數(shù)組xxd -i wake_word.tflite wake_word_model.h或者用Python腳本逐字節(jié)輸出。最終我在工程里用const unsigned char wake_word_model[] {...}存放模型數(shù)據(jù)實(shí)測(cè)體積只有12KB左右放到Flash里毫無(wú)壓力。這里強(qiáng)調(diào)另一個(gè)關(guān)鍵點(diǎn)模型訓(xùn)練時(shí)的輸入被歸一化到了0到1范圍嵌入式端的MFCC計(jì)算完成后也一定要做相同的歸一化否則喂進(jìn)去的數(shù)值范圍完全對(duì)不上。3. ESP32端部署I2S采音、實(shí)時(shí)推理與語(yǔ)音聯(lián)動(dòng)3.1 環(huán)境準(zhǔn)備Arduino IDE離線(xiàn)包、PlatformIO與開(kāi)發(fā)板配置部署端我優(yōu)先用Arduino IDE因?yàn)門(mén)FLite Micro相關(guān)的第三方庫(kù)在Arduino環(huán)境下的集成最省心。ESP32-S3開(kāi)發(fā)板本身不內(nèi)置Arduino支持需要先安裝esp32開(kāi)發(fā)板內(nèi)核。如果沒(méi)有穩(wěn)定的在線(xiàn)下載條件直接找對(duì)應(yīng)版本的esp32離線(xiàn)包安裝避免反復(fù)超時(shí)。裝好后在“開(kāi)發(fā)板管理器”里搜索esp32,選Espressoif官方版本。這一步很多新人會(huì)卡住我的經(jīng)驗(yàn)是先確認(rèn)Arduino IDE緩存目錄有沒(méi)有寫(xiě)入權(quán)限離線(xiàn)包拷貝之后重新啟動(dòng)IDE再搜索一次能搜到就說(shuō)明裝好了。對(duì)于用PlatformIO習(xí)慣的朋友在platformio.ini里配置[env:esp32-s3-devkitc-1] platform espressif32 board esp32-s3-devkitc-1 framework arduino board_build.flash_mode qio board_build.partitions huge_app.csv如果你的板子是ESP32-S3-DevKitC-1-N16R8選esp32-s3-devkitc-1這塊板子沒(méi)有錯(cuò)。唯一要確認(rèn)的是Flash大小默認(rèn)的配置可能只識(shí)別到8MB如果你的板載Flash是16MB需要手動(dòng)改board_build相關(guān)選項(xiàng)否則燒錄時(shí)分區(qū)不對(duì)會(huì)一直報(bào)“invalid partition table”。除了Arduino環(huán)境還需要兩個(gè)關(guān)鍵庫(kù)TensorFlowLite_ESP32在庫(kù)管理器里搜索“ESP32 TensorFlow Lite”安裝后會(huì)自帶TFLM運(yùn)行時(shí)。I2S音頻驅(qū)動(dòng)庫(kù)如果用的I2S數(shù)字麥克風(fēng)直接操作ESP32的I2S驅(qū)動(dòng)就行不用額外庫(kù)。3.2 實(shí)時(shí)喚醒主循環(huán)采集→MFCC→推理→判決這段是嵌入式端的核心整體流程圖很清晰I2S采集PCM音頻按30幀長(zhǎng)度維護(hù)一個(gè)環(huán)形緩沖區(qū)每新增一幀就運(yùn)行一次“特征提取推理”推理結(jié)果經(jīng)過(guò)滑動(dòng)窗口去抖后判定是否觸發(fā)。我用的I2S數(shù)字麥克風(fēng)是INMP441接線(xiàn)很簡(jiǎn)單板子SCK對(duì)應(yīng)開(kāi)發(fā)板GPIO 43WS對(duì)應(yīng)GPIO 44DIN對(duì)應(yīng)GPIO 42。如果你用的是官方板載麥克風(fēng)引腳號(hào)見(jiàn)板子原理圖通常也是固定的。數(shù)據(jù)采樣率16kHz24位單聲道。模擬代碼如下主要流程示意#include driver/i2s.h #include tensorflow/lite/micro/all_ops_resolver.h #include tensorflow/lite/micro/micro_interpreter.h #include tensorflow/lite/schema/schema_generated.h #include wake_word_model.h #define SAMPLE_RATE 16000 float mfcc_buffer[15][13] {0}; uint8_t input_data[15 * 13] {0}; float score[2]; void init_i2s() { i2s_config_t config {}; config.mode (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX); config.sample_rate SAMPLE_RATE; config.bits_per_sample I2S_BITS_PER_SAMPLE_24BIT; config.channel_format I2S_CHANNEL_FMT_ONLY_LEFT; config.communication_format I2S_COMM_FORMAT_STAND_I2S; config.dma_buf_count 8; config.dma_buf_len 1024; i2s_driver_install(I2S_NUM_0, config, 0, NULL); i2s_pin_config_t pins {}; pins.bck_io_num 43; pins.ws_io_num 44; pins.data_in_num 42; i2s_set_pin(I2S_NUM_0, pins); }主循環(huán)就是不斷讀I2S數(shù)據(jù)計(jì)算新一幀MFCC然后推進(jìn)15幀滑動(dòng)窗口void loop() { int32_t sample 0; size_t bytes_read 0; i2s_read(I2S_NUM_0, sample, 4, bytes_read, portMAX_DELAY); // 把讀到的樣本寫(xiě)入幀緩存累積250ms后計(jì)算一幀MFCC // 得到新的13維向量寫(xiě)入mfcc_buffer并移位 if (new_feature_ready) { // 輸入數(shù)據(jù)是INT8量化后的數(shù)值需要從MFCC浮點(diǎn)表示轉(zhuǎn)換 tflite::MicroInterpreter interpreter(...); memcpy(input_data, mfcc_buffer, 15 * 13); interpreter.Invoke(); float confidence get_result_score(); handle_detection(confidence); } }注意TFLM推理時(shí)需要一個(gè)靜態(tài)緩沖區(qū)大小要在編譯前確認(rèn)我給這個(gè)模型預(yù)留了8KB的工作內(nèi)存。模型本身放在Flash數(shù)組里推理過(guò)程中不需要?jiǎng)討B(tài)malloc。提到工作內(nèi)存TFLM在Arduino上往往報(bào)“arena too small”此時(shí)把全局?jǐn)?shù)組tensor_arena從8KB改到16KB再看。我之前用12KB時(shí)還很吃緊換到16KB之后無(wú)論什么場(chǎng)合都沒(méi)再報(bào)錯(cuò)。3.3 判決去抖與外部中斷真正喚醒“大熊貓”模型給出的概率是浮動(dòng)的純看單幀判定會(huì)一顫一顫。我用的判決策略是連續(xù)命中計(jì)數(shù)當(dāng)前置信度大于0.8就加1分小于0.6就清零分?jǐn)?shù)達(dá)到3才觸發(fā)喚醒動(dòng)作置信度在0.6到0.8之間的中間地帶直接忽略。這個(gè)策略能把誤喚醒率壓掉一個(gè)數(shù)量級(jí)。觸發(fā)喚醒之后“大熊貓語(yǔ)音助手”正式進(jìn)入會(huì)話(huà)。下一步干什么我串口打印喚醒信息并播放了一段預(yù)錄的“我在呢”音頻同時(shí)點(diǎn)亮設(shè)備底座上的熊貓眼睛LED。音頻播放用的是I2S功放模塊MAX98357A可以復(fù)用與麥克風(fēng)相同的I2S總線(xiàn)只要確保播放時(shí)關(guān)閉錄音避免自激嘯叫。微控制器不像手機(jī)可以隨時(shí)打斷。為了處理“喚醒后如果用戶(hù)不想繼續(xù)聽(tīng)需要強(qiáng)制閉嘴”的場(chǎng)景我加了一個(gè)GPIO外部中斷按鈕按下時(shí)立即切換狀態(tài)停止播放并回到監(jiān)聽(tīng)模式。這也是項(xiàng)目里極有意義的一個(gè)實(shí)戰(zhàn)細(xì)節(jié)外部中斷要放在獨(dú)立任務(wù)里再用事件組和主循環(huán)通信避免在中斷回調(diào)里做耗時(shí)播放操作。核心代碼如下void IRAM_ATTR button_isr() { trigger_flag true; // 置標(biāo)志位具體操作在主循環(huán)完成 } void handle_detection(float confidence) { if (confidence 0.6) { hit_count 0; } else if (confidence 0.8) { hit_count; if (hit_count 3) { play_audio(); // 播“我在呢” set_led(true); // 亮熊貓眼睛 hit_count 0; } } }燒錄時(shí)要注意ESP32-S3首次使用USB口下載時(shí)如果IDE一直連不上往往需要先按住開(kāi)發(fā)板上的BOOT鍵再插USB進(jìn)入下載模式。之后就可以自動(dòng)下載了。如果你的板子沒(méi)有原生USB-CDC插一個(gè)CP2102或CH340串口模塊接到UART0原理是一樣的。4. 實(shí)測(cè)踩坑記錄十六個(gè)最影響體驗(yàn)的“暗坑”匯總這個(gè)項(xiàng)目最耗時(shí)間的不是寫(xiě)代碼而是排查各種小問(wèn)題。我把實(shí)際測(cè)試過(guò)程中遇見(jiàn)的、以及周?chē)笥殉?wèn)的問(wèn)題整理如下。問(wèn)題現(xiàn)象常見(jiàn)原因排查與解決串口沒(méi)有一點(diǎn)輸出I2S引腳配置錯(cuò)誤或麥克風(fēng)供電不穩(wěn)重新核對(duì)SCK/WS/DIN引腳定義INMP441的VDD必須接3.3V且加退耦電容喚醒模型在PC端準(zhǔn)到板子上完全失靈特征提取參數(shù)不一致逐項(xiàng)對(duì)比采樣率、幀長(zhǎng)、幀移、MFCC系數(shù)數(shù)尤其是歸一化方式編譯報(bào)tensor_arena不夠模型較大或TFLM算子占用高把全局tensor_arena數(shù)組擴(kuò)到16KB甚至32KB燒錄時(shí)提示連接超時(shí)沒(méi)有進(jìn)入下載模式按住BOOT鍵插線(xiàn)或添加自動(dòng)下載電路喚醒概率忽高忽低環(huán)境噪聲/人距離過(guò)遠(yuǎn)提高麥克風(fēng)采樣增益或加一個(gè)簡(jiǎn)單的能量門(mén)限后在喂給模型連續(xù)讀I2S崩潰DMA緩沖長(zhǎng)度分配不當(dāng)增大dma_buf_len到1024減小dma_buf_count到4重新測(cè)試播放“我在呢”后有刺耳嘯叫麥克風(fēng)在播報(bào)時(shí)繼續(xù)采集內(nèi)部回聲播放前關(guān)閉I2S RX播放結(jié)束后重新打開(kāi)模型量化后準(zhǔn)確率暴跌representative_dataset樣本太少至少用200條以上特征樣本做校準(zhǔn)識(shí)別到一次喚醒后馬上又喚醒一次單幀命中過(guò)于靈敏把連續(xù)命中次數(shù)提高到5并加入300ms觸發(fā)的回盲期喚醒詞被電視/旁人誤觸發(fā)負(fù)樣本覆蓋不足增加多人說(shuō)話(huà)的負(fù)樣本提高閾值到0.9開(kāi)發(fā)板Flash識(shí)別錯(cuò)誤PlatformIO默認(rèn)flash大小不對(duì)手動(dòng)設(shè)置board_build.flash_size16MB用Arduino IDE離線(xiàn)包安裝后無(wú)板卡安裝未成功或緩存目錄問(wèn)題刪除C:\Users\xxx\AppData\Local\Arduino15下的cache后重啟IDE使用普通ESP32跑模型很卡CPU算力有限換ESP32-S3或改用更小的DNN模型模型文件無(wú)法燒錄到指定分區(qū)Partition表沒(méi)有預(yù)留足夠空間使用huge_app分區(qū)或自定義分區(qū)表I2S采到的波形全是噪音時(shí)鐘芯片沒(méi)焊接或引腳虛焊用示波器/邏輯分析儀查看BCLK、WS信號(hào)或用手接觸數(shù)據(jù)線(xiàn)看是否有反應(yīng)想讓模型識(shí)別的詞是中文但訓(xùn)練做不好中文聲調(diào)和音節(jié)切分有難度把每個(gè)音節(jié)的邊界對(duì)準(zhǔn)樣本前后不要太長(zhǎng)靜音這些坑多數(shù)帶有共性問(wèn)題尤其是“PC端準(zhǔn)、板子端不準(zhǔn)”這一條。我排查了整整一個(gè)下午最后發(fā)現(xiàn)是I2S采樣數(shù)據(jù)在24位模式下低8位是無(wú)效數(shù)據(jù)直接轉(zhuǎn)成float時(shí)出現(xiàn)了偏置。解決辦法是把24位數(shù)據(jù)右移8位變成16位有效數(shù)據(jù)再算MFCC。5. 項(xiàng)目擴(kuò)展從喚醒詞到大熊貓語(yǔ)音助手5.1 連接本地大模型讓“大熊貓”真正能聊喚醒詞識(shí)別只是一道門(mén)門(mén)后面如果要接更大的人工智能能力自然就是連接部署在PC或服務(wù)器上的大模型服務(wù)。ESP32的算力跑不了對(duì)話(huà)模型但它可以通過(guò)WiFi把喚醒事件和后續(xù)的音頻指令發(fā)給上位機(jī)。這時(shí)候本地用Ollama部署一個(gè)開(kāi)源對(duì)話(huà)模型ESP32識(shí)別到喚醒后錄制一條用戶(hù)語(yǔ)音并轉(zhuǎn)成文字通過(guò)HTTP請(qǐng)求發(fā)給本地的AI服務(wù)再把返回的文本用TTS合成語(yǔ)音流式或整段傳回ESP32播放。這樣“大熊貓”就能真正和人聊上幾句了。這個(gè)方法適合在局域網(wǎng)內(nèi)做實(shí)驗(yàn)邏輯鏈路短排錯(cuò)也容易。如果希望交互更自然可以給對(duì)話(huà)服務(wù)再加一個(gè)“當(dāng)大熊貓被問(wèn)到天氣狀態(tài)時(shí)讀取溫濕度傳感器數(shù)值再合成到回答中”的規(guī)則讓語(yǔ)音助手回復(fù)的內(nèi)容和服務(wù)數(shù)據(jù)聯(lián)動(dòng)起來(lái)。5.2 多喚醒詞與命令詞擴(kuò)展“大熊貓”作為唯一喚醒詞用著其實(shí)有點(diǎn)單調(diào)我后面又加了一個(gè)“嗨伙伴”喚醒詞和兩個(gè)命令詞“溫度”“濕度”訓(xùn)練成四分類(lèi)模型。多分類(lèi)模型和二分類(lèi)的區(qū)別只在最后幾層先把樣本按類(lèi)別標(biāo)簽分好輸出層改成Softmax(類(lèi)別數(shù))別的都不用動(dòng)。增加類(lèi)目后準(zhǔn)確率下降的速度通常很快主要原因還是負(fù)樣本和相似詞區(qū)分不足。每增加一個(gè)類(lèi)別正樣本至少額外補(bǔ)30條并且要保證各類(lèi)別樣本量均衡。喚醒后的命令識(shí)別也可以走同一套網(wǎng)絡(luò)但注意命令詞和喚醒詞使用同一個(gè)模型時(shí)類(lèi)別越多誤喚醒越難控制。如果條件允許建議喚醒詞一個(gè)模型、命令詞另一個(gè)模型兩個(gè)模型輪流加載到TFLM解釋器里跑內(nèi)存吃緊是可以接受的。5.3 優(yōu)化方向更小的模型、更高的并發(fā)、更自然的交互做到這個(gè)階段很多項(xiàng)目已經(jīng)可以停了。但如果想繼續(xù)深入還有幾個(gè)方向值得琢磨一是模型優(yōu)化。當(dāng)前模型的推理時(shí)間在ESP32-S3上大約只有幾毫秒到十幾毫秒瓶頸反而集中在MFCC特征提取上??梢钥紤]把MFCC換成更簡(jiǎn)單的能量過(guò)零率組合或在I2S空閑時(shí)并行計(jì)算FFT減少主循環(huán)阻塞。二是多任務(wù)并發(fā)。TFLM推理目前占CPU為了不阻塞播放和網(wǎng)絡(luò)請(qǐng)求可以把推理放到單獨(dú)的FreeRTOS中核心1跑推理核心0跑音頻與WiFi任務(wù)體驗(yàn)會(huì)流暢很多。三是交互節(jié)奏控制。喚醒后如果沒(méi)有馬上聽(tīng)到人聲設(shè)備應(yīng)該在2秒后自動(dòng)回到待機(jī)狀態(tài)這個(gè)超時(shí)機(jī)制用定時(shí)器中斷實(shí)現(xiàn)更穩(wěn)不要在主循環(huán)里靠累加阻塞計(jì)數(shù)。四是徹底離線(xiàn)化。如果不想依賴(lài)WiFi和上位機(jī)可以在Flash里預(yù)置幾十條語(yǔ)音回復(fù)配合規(guī)則邏輯生成回答。比如“大熊貓”被問(wèn)“今天開(kāi)心嗎”就隨機(jī)播一條開(kāi)心音頻。這種預(yù)置回復(fù)方案不占用擴(kuò)展資源卻反而更像一個(gè)能放在桌上的小玩具。說(shuō)到這項(xiàng)目本身的核心鏈路已經(jīng)全部跑通。我個(gè)人的體會(huì)有兩點(diǎn)特別想分享一是數(shù)據(jù)和特征要始終比模型結(jié)構(gòu)更值得下功夫同一個(gè)網(wǎng)絡(luò)特征不同準(zhǔn)確率能差十個(gè)點(diǎn)二是嵌入式AI項(xiàng)目一定要把“PC端訓(xùn)練”和“板端部署”當(dāng)成兩個(gè)獨(dú)立黑盒對(duì)待每次只縫好一個(gè)接口否則任何一個(gè)環(huán)節(jié)的小誤差都會(huì)互相放大。希望這篇記錄能幫你在做自己的“專(zhuān)屬喚醒詞”時(shí)少走幾公里彎路。做出來(lái)后多叫它幾聲它會(huì)記住你的聲音的。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
黑人嘿嘿嘿超爽免费视频| 亚洲鸥美色图| 无码日韩人妻av一| 欧美精品精品一区二区| 综合97| 亚洲第一二区另类图| 曰韩成人免费视频| 亚欧免费| 国产精品久久久久久久电影渣男| 精品国产乱码久久久久久蜜臀| 欧美综合制服在线| 美国美女AV在线| 日本日皮视频逼| 熟妇的味道HD中文字幕| 日本阿v天堂在线观看| 天天干夜夜| 婷婷另类小说| 5252色欧美在线| 美女极品一区二区三区| 日日操免费视频| 欧美色另类| 加勒比伊人综合| 色一射色一射| 亚洲乱色视频一区、二区在线| 韩国三级理论在线| 一级片在线观看高清无码| 日本久久女同性恋视频| 久久精品国产亚洲AV片多多| 噜噜噜在线视频| 精品人妻一区| 91精品无码人妻系列| 高清一区AV无码| 性天堂| 一区二区三区美女超清| 日本人妻最新在线中| 欧洲精品一级二级精品综合视频综合| 久久久久熟女| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 日本孕妇一区二区视频操逼免费看 | 日本在线15p| 天天天天天天天天综合| 丁香婷婷激情五月天无毒不卡| 色噜噜综合在线| 蜜桃久久综合视频| 蜜臀久久99精品久久久久免费观| 亚洲精品黑丝| 97亚洲自在精品在线观看| 日韩八十路老熟女| 日韩专区久久久| 麻豆a'v电影| 亚洲天堂少妇| 特色a在线上| 久久久久夜夜夜夜| 亚洲成人黄色在线观看| 中文字幕,人妻,日韩| 天天懆天天日| 另类视频在线| 国产高清在线自在拍69| 亚洲一二三四区| 中文字幕乱码在线| 国产一区二区a毛片| 成年女人黄网站| 91黑人无码激情在线| 九九色逼| 蜜桃精品一区二区三区ww| 91色爽欧美| 伦理日韩国产久久| v91av| 中文字幕一区二区日韩网| www.色婷婷色综合| 精品久久久中文字幕不| 男人午夜天堂| 欧美性爱系列| 欧美一区二区三区大综合| 久久大陆| 日本不卡二区| 久热伊人99re| 久久婷婷苹果| 日韩av不卡在线看| 蜜桃视频精品一区二区| 一二三四区操操Av| 人人操人人摸人人看人人插| 亚洲 图片 欧美 色图| 色综合1991| 超碰欧美97| 加勒比在线视频一区二区三区| 激情av| 使劲用力艹少妇视频一区二区| 国产免费内射视频| 国产树林里野战在线看| 午夜啊啊啊| 欧美综合色图网| 在线综合 亚洲 欧美中文字幕 | 易易A毛视频| 日本欧美中文字幕| 天天干天天日天天射黄色| 久久成人午夜狠狠| 2019精品国产无码成人| 国产女人高潮视频| 欧美精品黑人猛交高潮| 中文字幕成人理论在线| 亚熟在线| 天天综合网91| 日本三级黄页| aV中亚| 婷婷色中文字幕| 久久久男人的天堂| 性在久久久久久| 操穴国产| 九九九久久久| 亚洲综合小视频小说在线观看| 久这精品中文在线观看视频| 91oumei| 欧美黑人与女人91| 性色国产东北露脸精品视频| 日本中文熟女视频| 97国产天堂岛| 操高情无码| 91美女色视频亚洲| 日韩在线观看字幕精品| 九九九九97| 午夜福利av电影在线| 97自拍一区| 2024年最新色情网站在线观看| 午夜大香蕉| 四虎精品永久在线观看| 激情五月天婷婷| 一区二区播放| 亚洲熟妇自偷自拍另欧美| 久久亚洲一区女同性恋中文字幕| 天天做天天爱天天爽| 精品制服美女中文一区二区三区| 久久综合婷婷| 天天做天天爱| 99国产精品免费| 久久久久亚洲AV无码专区少妇| 中文幕97| 亚卅熟女乱色| 精品国产乱码久久久久久蜜臀| 91无码中出人妻视频| 亚洲牲交| 欧美A√综合网| 国产精品自拍欧美在线| 九九热精品| 91人妻视频在线| 26uuu偷拍亚洲欧洲综合| 做爱福利视频一区二区| 最新国产精品久久精品| 九九九九九精品视频| 女优视频第10页| 热思思免费视频| 超碰天天久久79| 岛国色情视频在线观看| 久久精品国产亚洲粉嫩| 大香蕉 222| 老司机天天操| 久久伊人东京热| 蜜色网色哟哟| 亚洲一区二区精品福利| 2017天天拍大香蕉| 综合欧美日韩在线| 另类图片五月| 多乙久久久久久| 天堂亚洲精品| 超碰97色色| 浪人综合网| 女人天堂av在线播放| 欧美天堂亚洲电影院一区在线播放| 免费一级视频特黄色大片| 丰满人妻一区二区三区色-百度| 91九九九小逼| 精品少妇后入一区二区三区四区人妻巨乳 | 天天草AV| 国模限制级电影| 精品在线观看视频在线| 欧洲综合无码| 色五月AV| 麻豆天美在线| 91亚洲黄色网| 色老久久| 91激情综合| 天天干天天日天天射黄色大片 | 99热国产精品| 夜夜狠狠躁日日躁色视频| 丁香六月婷婷综合| 亚洲精品视频二区| 亚洲日韩精品在线播放| 亚洲精品影视老司机| 久久午夜色播影院免费高清| 97欧美色| 欧美亚洲综合999| 日韩av色图综合| 午夜精品99久久久久传媒| 国产美女mm131爽爽爽爽| 97超碰磁| 一本色道综合久久欧美| 亚洲美女AV无码| 无码人妻精品一区二区三区99不卡| 国产在线精品偷| WWW啪啪的com| 蜜乳中文字幕a在线| 狠狠爱夜夜| 男人天堂无码| 乱操9999| 亚洲系列欧美| 九九免费影片| 国产精品久久泡妞网站| 亚洲97在线| 一二三区视频在线观看| 日韩综合色网| 亚洲日韩资源| 青青草AV色| 日韩精品一区,二区 九九...老司机| 亚洲综合影片| 老熟女中文字幕高清| 青青草五月天| 四虎影视永久在线观看精品免费网站| 91青青| 天天综合91入口| 97在线播放| 四虎免费在线播放| 资源新线在线天堂| 中文一区二区三区影院| 密乳无码| 99久久精品国产高潮| 欧美精品久久久久久久久88| 香蕉久久国产AV一区二区| 五月天婷婷小说| 麻豆 欧美 日韩| 亚洲国产剧情少妇激情| 日韩午夜国产| 97久久国产亚洲精品超碰热| 超碰97 线线 在现| 中文字幕在线免费观看2| 国产9 9在线 | 亚洲| 波多野42部无码喷潮在线观看 | 狠狠色噜噜狠狠狠狠2018| 精品无码不卡视频| 亚洲综合九九| 1024亚洲中文字幕久在线看片你懂的 | 亚洲精品尤物yw在线影院| 欧美天天干| a级理论午夜日本| 欧美精品四区| 亚洲视频二区| 欧美在线91| 亚洲小电影免费涩涩成人在线高清| 风流老熟女一区二区三区l| 亚洲一区日韩| 91草草草| 神马麻豆福利院| 无码外流操逼视频| 婷婷六月色| 97视频新免费| 高清一区AV无码| 五月激情啪啪| 久久妇| dy888午夜老子影视达达兔| 国产美女销魂在线观看不卡| 欧美综合自拍成人自拍第二十页| 97资源免费视频| 国产激情在线| 国产 日韩 欧美高清 | 91人妻人人澡人人爽人人精品| 欧美人与动性人交a| 欧美麻豆成人同性GⅤ在线| 亚洲精品丝袜| 九九九精品美女| 先锋激情∨在线视频播放| 六月丁香五月婷婷| 日本好吊色视频| 日韩熟女三十乱伦| 狠狠干综合| 97频视在线| 日韩电影在线观看网址| 天天干天天插| 九草九九九| 人人操人人插人人摸人人干| 北条麻妃性愛视频| 亚洲在线网站| 荡小穴在线观看| 91欧美少妇| 日韩无码黄色片| AV丝袜少妇| 国语av狠狠色丁香婷婷综合激情| 思思热在线观看| 青青草国产一区二区三区| 亚洲av无码成电影在线播放| 久久9精品视频| 久久免费9| 国产成人精品日本视频| 中文字幕二区| 性爱乱伦一区| 33044男人的天堂深夜备| 欧美性爱视频免费一区一A| 欧美日韩国产电影| 性爱乱伦视频免费| 男人的天堂在线| 国产精品一区av在线| SS久久| 免费又黄又裸乳的视频| 国产精品午夜精品| 三级三级三级日本99| 78精品| www.99热| 欧美色图片| 少妇99成人麻豆| 亚洲日韩天堂| 91夜色chaopeng| 免费国产电影一区二区| 久草线上视频免费看| 欧美熟女操屄| 好涩综合| 久久只有精品一区二区三区| 99精品久久久久久久婷婷| 99蜜月精品久久| 五月丁香六月婷| 不卡在线观看视频| 日韩精品熟妇| 国产小视频91| 天天色欧美| 动漫片子网站3黄| 天天色黄色影院天天操| 麻豆亚洲AV成人无码久久精品| 九九九九久久久| 在线观看亚洲成人精品| 99热在线只有精品| 色月天AV导航| 久久精品亚洲成a人天堂| 97色欧洲| 国精综合一二三区影视| 婷婷综合五月天| 免费αV在线视频| 欧美激情一| 夜夜操91744565| 日韩国产成人自拍视频| 欧美天天综合网| 精品人妻视频一区二区三区蜜桃视频| 婷婷五月天AV| 黑人狂躁日本妞一区二区三区| 久久成人精品| 亚洲限制级| 一本久道久久综合狠狠爱| 日韩有码 一区二区三区| 久久↗↗| 久久九精品| 猛交交| 日韩不卡毛片Av免费高清| 亚洲天天更新| 日本在线999| 狠狠色一区二区中文字幕| 人妻少妇色综合| 欧美日本国产日韩激情视频| 亚洲精品久久久久毛片A片拉屎 | 日本1区2区不卡视频| 中文字幕1区2区| 美女主播色欲91抠b在线播放| 激情五月天色色| 亚洲激情综合另类男同| 天天干人人看综合| 欧美东京热青青草| 91精品国产91熟女| 夜夜国自区| 久久久久ab| 久久大香蕉手机高清视频| 婷婷五月天激情网| 夜色AV无码手机在线影院| 久久久99免费| 玖玖爱在线视频免费观看| 青草一区二区| yiqicaoav| 久操97| 91熟女网| 亚洲无码偷拍| 日本韩高清无砖码22o| 极品色综合| 色偷偷2020免费视频播放| 欧美久久人妻少妇一区二区| 日日AV加勒比| 中国黑人三级片网站上区| 丰满少妇一区二区三区四区观看| 色噜噜综合在线| 色五月综合网| 猛交交| 四虎AV在线观看| 久草五月| 国产不卡片| 婷婷综合在线观看| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 天天情欲宗合网| 老鸭窝日丰县女人| 国产精品久久久久久久久久二区三区| 中文在线视频| 老熟乱一区二区三区四区| 99热在线只有精品| 欧美性夜| 人妻少妇久久中文字幕一区二区 麻豆 | 精品无码一区二区三区| 黄色工厂这里只有精品| 欧美黄页| 夜间福利片1000无码| 色久桃花影院在线观看| 99性爱在线观看| 日韩免费看黄片| 婷婷五月天丁香花| 天天摸夜夜摸| 啊啊啊啊啊好舒服视频| 91bbbbbb| 日韩人妻制服丝袜av| 蜜臀操逼黄色视频操的好爽| 大香蕉碰碰| 九X超碰| 肉丝无码中文高清| 男女性无套 免费九一| 一区二区三区在线美女| 欧美顶级黄片AAAAA在线免费看| 久久香蕉影院| 综合久欧洲| 亚洲AV在线资源| 美女诱惑久久| 亚洲αv一区二区三区| 婷婷色播婷婷| 99在线观看无大码| 日本二三四区| 亚洲乱伦图片视频| 天天影视网综合少妇| 色娱乐色呦呦夜夜夜夜av| 人妻激情视频| 久久国产性爱| 久九干| 人人妻人人色一区二区三区| 伊人网免费视频| 亚洲综合中文字幕有码| 国产精品亚洲四五区在线观看| 国产超碰97| 中文字幕日韩电影人妻| 日韩精品区二区三区不卡| 色香在线| 激情小说日韩无码| 91 亚洲 欧洲| 怡春院久久| 艹精品| 秋霞男人网| 亚洲欧美清纯| 久久色情| 大香蕉日亚洲日本亚大 | 久久婷婷亚洲| 欧美中字不卡| 久久久久亚洲AV无码专区少妇| 99热这里只有精品8| 精品中文日韩字幕视频| se吧提供91精品国产91久久久久久| 色优久久| 一本大道青青| 国产成人自拍视频在线| 日韩欧美中文字| 超碰精品日韩欧美国产| 97视频在线免费看| 中文字幕三四区| 久久女人一区二区三区| 久久超碰com| 九九综合久久| 一区二区三区一亚洲中文字幕、综合区灬 | 无遮挡一级毛片视频免费的| 中文字幕在线观看AV| 亚洲有码视频二区| 日韩精品三区四区| 日本韩高清无砖码22o| 久久久九97| 天天狂操夜夜狂日| 麻豆人妻精品一区二区| 日韩有码专区| 蜜色网色哟哟| 男人女人18禁片免费看网站| 中美日韩毛片| 天天躁日日躁xxxxx| 91精品丝袜久久久久久无码人妻| 黄色免费网| 欧美日本天堂| 黄色小视频日本txt| 一级黄碟| 狠狠综合| 绯色一区二区三区不卡少妇| 麻豆国产原创AV色哟哟 | 中文字幕AV片| av天堂手机版追回| 高清孕妇孕交 交| 亚洲性综合9| 三级日韩一区二区三区| 97AV在线免费观看| 久久性爱免费送| 天躁夜夜躁2021| 91人人看| 播播亚洲小说亚洲| 熟女人妻精品一区二区视频| 日本999精品视频| 99久久e免费热视| 日本幼女18+| 亚洲精品久| 高清无码在线播放网站| 抽插一区二区视频| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 91少妇通奸网站| 超碰久热| 色黄污美女啪啪啪免费网站| 日韩欧美天堂| 大香蕉 222| 色综合久久88色综合久久天天| 78精品| 亚洲成人妻日韩在线| 亚洲国产日韩欧美熟妇在线| 三级精品三级在线观看| 园内精品自拍视频在线播放| 在线色资源| 怡红院视频在线| 国产AV精久久| 在线视频亚洲无码| 97色欧洲| 亚洲天堂日本| 口爆欧美91| 超碰免费人人| 中文字幕交换人妻| 操逼A∨| 人妻丰满熟妇av无码区蜜桃| 99热精品国产| 色综合一区二区三巨| 午夜电影在线观看无码专区| www.av家庭乱伦| 久久久精品九| 97爱b| av在线人气| 九九热在线精品视频| 国产乱色国产精品免费视| 色综合91好| 超碰到97情色| 欧美中字二区| 天天天肏屄欧美| 香蕉婷婷| 99在线精品观看99| 国产欧美日韩精品中文| 99国产精品视频尤物| 青娱乐休闲视频在线观看| chaopen97久久| 伊人久久蜜月| 蜜桃精品视频一区| oumeizonghese,www| 成人AV素股で擦久久| 97人人射| 91啪啪视频| 日韩精品中文字幕二区| 日韩性爱网址| 深田咏美亚洲精品福利社| 啪啪视频亚洲第一| 亚洲自拍天堂| 青娱乐亚洲自拍| 日韩精品在线视频在线观看 | 蜜臀AV成人精品蜜臀AV久久| 无码一区二区三区四区五区六区七区八区九区十区视频 | 亚洲第一黄色av网站| 亚洲色欲天天天堂色欲网女| 国产精品嫩草影院午夜两性| 人人弄人人摸| ji熟女.com| 高潮的A片激情扒开一区| 浓厚中出中文字幕在线| 高清国产性猛交xxxx乱大交| 欧美性爱日韩性爱| 黄色高清无码无码破解免费暗网| 欧洲一级性爱视频在线观看| 毛片电影一区二区三区| 成人精品在线| 天天肏美女| 91网站18| 亚洲欧美综合| 18禁精品网站在线看| 欧美少妇性爱网站| 9久久精品| 久久黄色网址| 亚洲国产精品久久久男人的天堂| 91色s| 大香蕉伊人75| 日韩AV无码网站| 欧美成人AⅤ大片在线观看| 中国探花熟女| 国产黄a三级三级三级av在线看| yazhousetuoumei| 东京热不卡视频| 少妇精品| 婷婷干黄色| 亚洲1区2区三区高清中文字幕| 综合色色婷婷| 性生活久久久久久久久久| 五毛骚逼极品美女怕怕| 激情欧美97| 不卡av在线中文字幕| 亚洲一区二区精品福利| 不卡超碰护士AV在线免费播放| 亚洲中文字幕日产无码久久| 久久久啊啊啊| 新久久AV| 天天综合网一91网| 在线小说视频一区| 老司机午夜精品视频| 久久精品国产亚洲AV片多多| 混色激情av| 色五月激情AV在线| 国产捆绑一区| 久久久国产三级黄色片| 国产偷仑| 欧美色999| 青娱乐久久艹| 久久大线蕉一区| 女人久久久| 久久‘黄片视频| 爱爱动态试试看6 0秒| 凹凸 69堂 在线播放| 欧美性爱无码一区二区三区| 嗯啊不要啊在线 | 秋霞久久亚洲精品成人| 91在线视频免费中出| 免费男人的天堂| 国内偷自视频区视频综合| 亚洲天堂综合AV| 精品少妇一区二区三区| www.av在线视频| 性色高清在线| 99re9| 色九月| 成人情色综合网| 亚洲天堂中文字| 美女的肌被草喷水视频| 97国产人人| 人妻嗯啊啊在线播放| 破处bbq| 国产不卡精品91| 日本性一区| 久久精品中文| 大香蕉99热| 欧美人妻少妇| 99色视频| 色约约一区=区三区| 国产精品自拍欧美在线| 亚洲日韩欧美一区二区| 被男人吃奶很爽的毛片| 久操高青| 中文?日韩?免费?精品| 啊啊啊好爽快点啊啊啊嗯嗯| AV中文字幕三四五| 91九色首页| 蜜臀久久99精品久久久久久成人小说 | 综合久久久久久久久91| 色哟哟-国产专区| 91青青草| 91九色首页| 日日夜夜模| 国产精品免费美女视频| 60秒免费小视频| 男人在线天堂| 久久五月综合| 97超碰欧美| 天天综合有色网| 国产一级特黄大片处女| 国产精品 亚洲情色| 偷拍 欧美 日韩| 亚洲情色图片区| 久久久久久久国产视频| yazhououmeizongya| 天天干少妇| 色网站导航大全| 美日韩一二三区| 精品性爱无码在线播放| AV中亚| 你草精品在线视频| 婷婷丁香五月天综合东京热| 美女黄色91| 97视频网站在线观看| 日本乱人伦片中文三区| 夜夜操一区二区| 婷婷丁香六月天| 欧美AAAA黄片| 亚洲脚交| 亚洲国产精品久久久久婷婷青年| 国产极品精品美女视频| 999国产精品999久久久久久| 无码99| 懂色天天爱天天日天天射天天澡| 人妻激情视频| 少妇500双飞99| 国产精品午夜高潮呻吟久久av| 亚洲丝袜诱惑| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | WWW啪啪的com| 老熟乱一区二区三区四区| 乱理日韩中文| 黄色一级视| 日韩精品字幕| 午夜传煤十二区精品| 神马久久网| 久久天堂婷婷网| 欧美人妻精品一区二区| 99re超碰| 国产精品乱码久久久久久久| 日本在线不卡123| 国产精品久久久久久片| 久久草草亚洲蜜桃臀| 久久精品一区一起草| 超碰97男人| 激情久久久| av网页一区二区三区| 五十路熟女人妻一区二区三区四区五| 色亚州人久干视频在线观看免费版| 日韩欧美视频青青| 国产 三级自拍| 丁香六月激情| jizz啪啪| 91美女在线观看| 亚春色色| 99热国产精品| 人人操我人人干| 国产在线激情| 国产日韩中文字幕欧美| 97超碰资源网| 亚洲国产一级中文综合久久天堂在线免费观看 | 久久五月份| 日本岛国黄色网址| 国产美女mm131爽爽爽爽| 秋霞一级A片黄色视频| 天天看天天日天天操| 96一区二区| 超碰色97| 神马麻豆福利院| 97超级久久| 熟女少妇一区二区三区| 亚洲精品九九九九九九| 久艹99| wuyechaopeng| 91久热| 亚洲综合有码| 国产白丝AV| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 精国久久一区二区三区98| 男人久久精品| 国产精品久久久久久久免牛肉蒲团| 日本99一区二区| 中国小夫妻勾搭露脸淫荡对白| 久热精品色情| 欧美A√综合网 | 久久只有精品| 超碰在线欧美性爱激情| 亚洲天天做日日做天天谢日日 | 美女诱惑在线一区| 九九九九免费视频| 蜜臀在线网站| 九九九九九九九九九国产精品 | 大香蕉黄色一区| 婷婷综合| 中文久久一区| 国产性爱欧美性爱在线| 久射吧| 丝袜美腿av女优在线| 久久性爱视频免费看| 成人小说视频在线精品欧美| 综合免费无码中文| 成人丁香五月| 99re3这里只有精品| 国产亚洲精品美女| 欧美黑人与女人91| 中国熟女老妇仑乱一区二区三区| 国产精品视频麻豆入口| 大香蕉乱伦视频网| 超碰国产情侣自拍网| 亚州日韩97| 人人操人人摸超碰| 国产乱色国产精品免费视| 全球成人中文在线| 78综合网| 91麻豆一二三区| 密臀在线一区尤物| 嫩草在线视频| 色色色热| 久久久九九九九| 后入国产| 日韩无码黄色片| 中文高清一区二区的| 精品久久大胆人体| 国产精品操| 日韩丝袜二区| 亚洲男人天堂网久久| 国产风韵犹存熟妇三区| 在线亚洲欧美| 偷窥自拍A片| 91天堂视频| 日韩9区| 日韩一区二区三区四区五区| 欧美一区二区情色| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 青青草中日韩在线| 乱伦熟女论坛| 色情五月丁香| 嗯,啊。舔我逼| 韩国三级一线观看久| 婷婷久月| 天天情欲宗合网| 欧美性爽xyxOOOO| 另类视频在线| 羞答答AV中文字| 欧美综合娱乐久久| 影音综合网| 97狠狠| www.超碰在线| 97综合久第一页| 欧美亚洲色图另类国产| 色女综合| 91久久久亚洲| 99色| 色网亚洲人| 成人免费福利在线观看| 欧美久久婷婷| 一区二区三区美女超清| 射 色综合| 亚州色综合| www99热| 亚欧美无遮挡| 国产成人bd在线观看| 欧美色日本| 中国一级特黄大片护士| 超碰精品| 亚洲欧洲无码bt精品合集| 日本美女性生活久久久久久久| 午夜操一视频一区| 9999免费精彩视频| 欧美成人精品一区二区男人蜜臀| 国产精品无码在线| 久操av在线| 国产麻豆福利av在线播放| 新视频sss国产| 日韩无码黄色片| 另类视频在线| 日韩视频啪啪| 久久精品男人的天堂| 久操视频资源站公开| 久久九操在线观看| 亚洲色图殴美色图激情乱伦| 日本免费一区二区不卡| 欧美精品久久久久久久久88| 国产熟女自拍| 99热最新网址| 精品亚洲| 欧洲乱码视频| 手机在线视频国内精品| 日韩人人精品| 婷婷综合激情| 五十路熟女人妻一区二区在线观看| 碰碰在线视频| 亚洲一卡二卡在线免费| 91nbbbbbb| 国产一区二区三区精品观看啪| 青青久久久| 日韩熟妇二区| 亚洲最新Av| 小草av不卡亚洲二区 | 欧美激情在线观看视频| 美女诱惑爱爱| 亚欧性爱无码| 91欧美情色| 精品人妻二区三区| 国产自产自拍| 久久九九97| 玖玖爱综合| 在线A日本| 一本色道熟妇| 天天天乱色综合全| 亚洲av无线观看| 精品久久久久久久| 天天看高清麻豆| 成人午夜无码视频| 国产一区二区成人av在线播放| 精品成人女人久久| 婷婷亚洲综合| 欧美1区二区三区公司| 亚洲第一页综合在线| 亚洲18禁| 欧美人人AAA| 岛国黄片网站| 亚洲资源吧| 北京美女一区二区| 天天综合精品| 国产专区第一页| 欧美一二三| 国模91| 欧美性,色九九| 五月天婷婷色色| 国产中文大片资源中文字幕| 美女91| 久久久少妇诱惑精品视频| 高潮内射在线| 国产乱伦性爱AV| 91精品亚洲内射孕妇| 久草电影网| 久久爱超碰网| 最新制服中文第一页| 性爱欧美五月| 精品91摸| 五月丁香影视| 久久久麻豆精品| 日韩av免费一级电影| 97国产超碰| 国产精品一区在线播放| 天天插天天操天天摸天天射天天看| 国产精品一二三区福利| 欧美疯狂做爰xxxx| 性影在线视频| 秋霞一级鲁丝片A片| 国产精品网址| 天天舔日美女视频| 色97综合中文字幕| 96久久久精品| 欲香欲色天天天综合和网| 4141514逼喷水三级片| 91在线色综合| 色婷婷久久| 日本在线不卡v二区| 色网在线视频观看免费| 国产真乱mangent| 2024年最新色情网站在线观看| 91欧美网| 9久久精品| 91岛国动作片| 九九九九九九九九九国产精品 | 无码99| 色婷婷视频| 99色色网| 色五月综合| 国产成人网址| 五月丁香啪啪啪| 蜜桃久久一区二区三区| 另类图片五月天| 五月婷在线| 91一区二区| 97香焦色区| 超碰久久性爱| 好吊色一区| 蜜臀久久在线视频| 裸体美女久久久| 激情五月天校园春色网| 欧美高潮| 亚洲天堂久久| 粉嫩av一区二区三区天美传媒 | 国产久久久9999| 婷婷五月天久久精品视频一区二区三区| 99中出在线| 91殴美大片| 97超碰免费人人性爱| 91色色综合| 另类老少妇| 亚洲图片小说欧洲| 97精| 韩三级a视频在线观看 | 激情小说亚洲视频| 亚洲激情深爱文学小说网站| 精品国产乱码久久久A| 亚洲 暴爽 AV人人爽日日碰| 日韩免费av片高清无码| 视频在线观看免费一区二区三区| 囯产操逼片| 久热这里| 欧美 亚洲 大香| a人片中文字幕一区二区| 欧美后入式| 亚洲国产综合视频| 97精品熟女少妇一区| 精品国产肉丝袜在线拍国语| 99热在线播放| 尤物av网站免费在线播放| 99色热国产视频精品| 日韩成人电影AV| 中文字幕亚洲欧美在线不卡| 日韩精品影视| 99人妻| 插日本熟女视频| 亚洲夜色在线| 操曰本熟女| 欧美91精品国产自产| 黄页视频网站野外| 国产一区二区三区中文字幕| 夜夜骑操视频| 91精品老女人| 国产午夜激片Av毛片不卡| 国产欧美精品日韩区二区麻豆天美| 中文字幕人妻色偷偷久久皮 | 伦伦成年午夜免费视频| 五月婷婷激情网| 九九九九精品一区| 91久久| 欧美日韩性爱视屏免费看了| 天天碰操中国年青熟妇| 日韩精品一二三| 色欲蜜臀AV| 亚洲日本男人天堂网| 亚洲在线A| 亚洲自拍天堂| 顶级少妇BT天堂| 91欧美www| 男人高清无码一区二区| 爱干爱射网啊啊啊| 青青草好吊色| 伊人久久艹| 日本欧美m v精品网站加| AAAA欧美日韩| 亚洲高潮少妇| 欧美综合亚洲| 操逼无码一区| 中文在线久久字幕| 色吧5亚洲| 偷拍欧美综合| 大鸡巴久久| 国产女性无套 免费观看| 北京美女一区二区| 欧州一区二区三区四区| 亚洲情色第一页| 麻豆熟妇乱妇熟色A片在线看| 免费亚洲黄色视频在线观看| 色九月综合| 精品视频在线观看精品| 亚洲精品丝袜-不卡成人免费……| 果冻传媒一区二区三区| 国产精品无码久久久久2028| 青青草十区九区爱夜| 国产精品点击进入在线影院高清 | 久久尹人大香焦视| 超碰AV在线| 青女偷拍网| 日韩精品一区的| 国产精品69久久久久久久| 韩国午夜理伦三级好看| 国产精品天干天干综合网麻豆| 国产精品露脸在线观看| 裸模AV女优| AV一区观看| 欧美97视频| 亚洲系列第一页| 好爽免费视频,| 久久久久国产精品喷潮免费观看臀| 色男人色天堂东京热| 人妻一区视频| 欧美一品道| 强奸乱伦动态污图免费 | 欧美日韩国内不卡| 青青草五月份天| 91|九色|国产熟女| 日本 情色 1区| 婷婷香蕉欧美在线一区二区三区| 不卡在线观看视频| 欧洲中文字幕| 少妇毛片久久| 亚洲影院无码在线| 色娱乐色呦呦夜夜夜夜av| 97欧美性爱| 人妻激情视频| 欧美淫穴| 免费少妇一区二区| 视频在线中文字幕| 五月丁香影院| 亚洲欧美国产中文视频| 日韩中文字幕av在线播放| 青娱乐亚洲自拍| 欧美日韩小说| 欧美久久草熟女| 欧美日产国产在线成人第一区| 亚洲 综合 第一页| www.99视频| 91丨国产丨白浆秘 洗澡动漫| 成人热久久精品| 手机看片1025| 丝袜亚洲综合| 另类视频在线| 久操大香蕉手机视频在线看| 日本一区二区亚洲综合| 日韩欧美天天爽爽爽天天爽爽| 另类专区在线观看| 人人弄人人摸| 视频在线观看青青99国产| 精品四五区| 91足交| 亚洲一区二区在线观看91| www.男人天堂| 国产欧美第五页| 国产亚洲中文不卡二区| 1024精品在线| 色九九九综合| 五月丁香六月激情综合| 久久透逼视频| 欧美日韩亚洲天堂| 亚洲熟女乱综合一区二区三区 | 超碰在线91| 中文字幕第23区| 91在线美女| 午夜精品视频777| 丁香九月 婷婷| 九九九精品美女| 偷拍片久久| 欧美爆操91| 大奶啊啊好爽 | 熟妇亚洲一区二区三区| 亚洲精品乱码久久久久久蜜桃麻豆 | 高清国产成人无码| 69精品| 亚洲图片视频小说| 欧美综合网1| 国产农村妇女精品1区二区| 99色在线| 亚欧性爱ab| 天堂а√在线最新版在线| 女人综合网| 精品国产a∨一区天美传媒| 亚洲综合骚逼| 国产精品色哟哟| 国产精品久久发布| 久久乐| 久久婷五月| 国产AV超爽| av网页一区二区三区| 91精品亚洲内射孕妇| 电家庭影院午夜69久久夜色精品国产69乱 | 日韩亚洲欧美中文字幕| 亚州,欧美在线| 久久人人爽av亚洲精品天堂桃色| 午夜精品久久久久久久99热影院| 偷窥自拍亚洲色图| 神马精品视频| 日本高清电影欧美色图| 99激情视频| 黑丝少妇在线观看| 日本一级一级一级一级| 五月色网| 精品-91人妻子系列| 日韩欧美字幕亚洲一区二区 | 国产日韩美女小穴视频网站不卡| 亚洲清纯唯美| 久久精品成人一区二区三区蜜臀| 国产熟女精品区| 久久同城AV| 天天拍天| 好一吊区二区| 美女黄色91| 91欧美网| 综合97| 天天射天天操天天干天天吃2018 | 亚洲国产奇米影视久久| 色一射色一射| 手机不卡视频不卡在线一二三区| 蜜桃视频精品一区二区| 日本超碰在线国产一区| 欧美极品女人的天堂| 97色冈| 国产极品999| 吉川爱美98堂在线| 妇人噜噜| 亚洲一区制服诱惑| 欧美日韩精品久久久久东北老熟妇|