基于語音識別實現(xiàn)智能家居的控制-系統(tǒng)整體整合與調(diào)參_第1頁
基于語音識別實現(xiàn)智能家居的控制-系統(tǒng)整體整合與調(diào)參_第2頁
基于語音識別實現(xiàn)智能家居的控制-系統(tǒng)整體整合與調(diào)參_第3頁
基于語音識別實現(xiàn)智能家居的控制-系統(tǒng)整體整合與調(diào)參_第4頁
基于語音識別實現(xiàn)智能家居的控制-系統(tǒng)整體整合與調(diào)參_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

PAGE1基于語音識別實現(xiàn)智能家居控制——系統(tǒng)整體整合與調(diào)參摘要為配合各種終端設(shè)備較高的智能程度和集成程度,舍棄以往使用按鍵及菜單操作對設(shè)備進行控制的方式,讓檢索信息和操作命令的方式變得更加便捷,語音識別技術(shù)逐漸進入人們的視線。智能家居不僅能夠為人類生活提供方便快捷的服務(wù),而且能夠在需要的時候提供更為人性化的服務(wù),從而使得智能家居在現(xiàn)代化發(fā)展領(lǐng)域占據(jù)非常重要的地位,因此,將智能家居與語音識別技術(shù)結(jié)合變成了人們的迫切需求。本文著重從語音識別的模型設(shè)計及信號的傳輸與控制等方面介紹了本次基于語音識別實現(xiàn)智能家居控制的研究。語音識別的過程可分為模式識別和匹配兩個模塊,本設(shè)計語音識別部分運用人工神經(jīng)元網(wǎng)絡(luò)模型,對捕獲的語音信號進行初步的判斷處理,將音頻和文字數(shù)據(jù)進行格式轉(zhuǎn)化,并且將語音信號特征點進行提取,在進行初步判斷基礎(chǔ)上建立和訓練模型,得到相應語音識別的模板,等待下一次捕獲語音時,將獲取到的語音信號與之前的語音信號比對判斷之后,結(jié)合建立的相關(guān)函數(shù)及相關(guān)算法模型,獲取到匹配率最高的模板,并得到一個較高的識別率。除語音識別模塊外,此次設(shè)計還有語音錄入模塊及信號輸出控制模塊,用以完整實現(xiàn)通過語音識別實現(xiàn)控制智能家居的最終目的。語音輸入模塊通過調(diào)用麥克風錄音進行語音錄入,信號輸出控制模塊則是通過網(wǎng)絡(luò)通信發(fā)送信號到另一設(shè)備來實現(xiàn)語音控制。關(guān)鍵詞:語言識別,神經(jīng)網(wǎng)絡(luò),信息傳輸,訓練模型,智能控制ControlofSmartHomeBasedonSpeechRecognitionAbstractInordertocooperatewiththehigherintelligenceandintegrationofvariousterminalequipment,thewayofusingbuttonsandmenustocontroltheequipmentisabandoned,andthewayofretrievinginformationandoperatingcommandsbecomesmoreconvenient.Speechrecognitiontechnologygraduallyenterspeople'sattention.Smarthomecannotonlyprovideconvenientandfastservicesforhumanlife,butalsoprovidemorehumanizedserviceswhenneeded,whichmakessmarthomeoccupyaveryimportantpositioninthefieldofmoderndevelopment.Therefore,thecombinationofsmarthomeandspeechrecognitiontechnologyhasbecomeanurgentneedofpeople.Thispapermainlyintroducestheresearchofsmarthomecontrolbasedonspeechrecognitionfromtheaspectsofthemodeldesignofspeechrecognition,signaltransmissionandcontrol.Theprocessofspeechrecognitioncanbedividedintotwomodules:patternrecognitionandmatching.Inthespeechrecognitionpartofthisdesign,theartificialneuralnetworkmodelisusedtopreliminarilyjudgeandprocessthecapturedspeechsignal,transformtheformatoftheaudioandtextdata,extractthefeaturepointsofthespeechsignal,establishandtrainthemodelbasedonthepreliminaryjudgment,andgetthecorrespondingspeechrecognitionForothertemplates,whenwaitingforthenextcaptureofspeech,theobtainedspeechsignalwillbecomparedwiththepreviousspeechsignalforjudgment,combinedwiththeestablishedcorrelationfunctionandrelatedalgorithmmodel,thetemplatewiththehighestmatchingratewillbeobtained,andahigherrecognitionratewillbeobtained.Inadditiontothespeechrecognitionmodule,thisdesignalsohasthespeechinputmoduleandthesignaloutputcontrolmodule,inordertoachievetheultimategoalofcontrollingthesmarthomethroughspeechrecognition.Thevoiceinputmoduleusesmicrophonerecordingforvoiceinput,andthesignaloutputcontrolmodulesendssignalstoanotherdevicethroughnetworkcommunicationtorealizevoicecontrol.Keywords:Languagerecognition,neuralnetwork,informationtransmission,trainingmodel,intelligentcontrol目錄TOC\o"1-4"\h\z\u1.前言 51.1本設(shè)計的目的、意義及應達到的技術(shù)要求 51.1.1目的 51.1.2意義 51.1.3技術(shù)要求 51.2本設(shè)計主要研究內(nèi)容 62.總體設(shè)計框架 62.1.語音識別框架 62.2.網(wǎng)絡(luò)通信框架 73.模型的選擇 73.1.人工神經(jīng)網(wǎng)絡(luò)模型 73.2.其他語音識別模型 84.音頻的預處理與特征提取 85.構(gòu)建模型的方案選擇 106.重要函數(shù)的運用 107.實踐過程及結(jié)果 118.結(jié)論 15參考文獻 16謝辭 17附錄 18前言語音識別技術(shù)在現(xiàn)代化告訴發(fā)展中占據(jù)非常重要的地位,將其更加融入的人類生活和工作中,不僅是為人類提供高效便捷的服務(wù),而且將語音識別技術(shù)運用到智能家居控制中,可以減少人力操作和節(jié)約時間,通過語音對家居設(shè)備進行控制,在當今時代具有十分有意義的研究REF_Ref31132\w\h[3]。語音識別的方式主要有三種:一是神經(jīng)網(wǎng)絡(luò),二是基于語音學和聲學的方式,三是模板匹配。其中,神經(jīng)網(wǎng)絡(luò)而是現(xiàn)代的語音識別技術(shù)中的主要發(fā)展趨勢。神經(jīng)網(wǎng)絡(luò)技術(shù)通過將人活神經(jīng)元活動放入到一個具有人類獨特的自主學習和想象力結(jié)合的語音識別系統(tǒng)中,通過不斷學習優(yōu)化,提高語音識別系統(tǒng)的穩(wěn)定性,這為語音識別的發(fā)展開辟了一條新的途徑REF_Ref31495\w\h[1]。本次設(shè)計則是在語言識別技術(shù)的特點和工作原理的基礎(chǔ)上,選擇并利用人工神經(jīng)網(wǎng)絡(luò)模型,通過利用相應訓練集進行不斷訓練與測試,根據(jù)丟失數(shù)據(jù)率與識別準確率不斷實驗與改進,最終使模型達到穩(wěn)定狀態(tài),同時識別準確率達到理想值,并調(diào)用麥克風實現(xiàn)語音的錄入,將語音導入訓練好的模型進行語言識別,通過模型識別出相應語句轉(zhuǎn)換成文字作為客戶端的發(fā)送數(shù)據(jù),再利用網(wǎng)絡(luò)通信原理及相關(guān)函數(shù)傳輸給服務(wù)端,實現(xiàn)語音控制的目的。本設(shè)計完整地實現(xiàn)了語音錄入、語音識別以及最后的語音控制一整個過程。本設(shè)計的目的、意義及應達到的技術(shù)要求目的本設(shè)計旨在利用人工神經(jīng)網(wǎng)絡(luò)模型,通過訓練集訓練,識別錄入的語音,將識別的語音轉(zhuǎn)化成機器能夠聽懂的語言發(fā)送到服務(wù)器終端,實現(xiàn)語音控制,從而達到人機交互的目的。意義語音識別的研究,實現(xiàn)了人機的語言交流,研究和學習這一具有競爭性的新興高技術(shù)產(chǎn)業(yè)知識,不僅能讓我們學習到一些語音識別與控制的基礎(chǔ)知識,也是新一代學子跟上科技步伐的一個時代象征,對新時代科技創(chuàng)新有著重要的象征性意義。技術(shù)要求熟悉python開發(fā)環(huán)境,能夠熟練使用相關(guān)代碼設(shè)計并實現(xiàn)以下基礎(chǔ)功能:(1)能夠根據(jù)設(shè)計要求尋找匹配的模型并建立模型;(2)能夠收集并整合適合的訓練集,通過模型訓練語音訓練集,經(jīng)過反復訓練得到一定的語音特征聲紋;(3)能夠利用代碼調(diào)用麥克風進行錄音,并將語音放入語音測試集進行語音識別;(4)能夠正確識別錄入的語音,得到語音的識別率,運行過程中能夠打印出數(shù)據(jù)丟失率,進行誤差處理等;(5)最后能夠發(fā)送語音信號實現(xiàn)控制功能。本設(shè)計主要研究內(nèi)容模型的選擇:模型是實現(xiàn)語音識別的工具,要實現(xiàn)語音識別,首先要應用和建立相應的模型,在不斷訓練后,利用訓練好的模型對錄入的語音進行處理和解碼,轉(zhuǎn)化成數(shù)字語言給機器識別,得到語句,所以選擇適用、易用的模型顯得十分重要;函數(shù)的運用:本設(shè)計主要需要運用激活函數(shù)、損失函數(shù)及信號發(fā)送函數(shù),每種函數(shù)中有不一樣的函數(shù)可選,不同的函數(shù)其作用、優(yōu)缺點及應用場景皆有不同,選擇合適的激活函數(shù),損失函數(shù)及信號發(fā)送函數(shù)并靈活應用其中,能夠有效提高識別率;音頻預處理與特征提?。河捎谝婚_始輸入的語音信號為模擬信號,為了將語音信號轉(zhuǎn)化為計算機聽得懂的語音,我們需要將模擬信號轉(zhuǎn)換為數(shù)字信號,這時候就需要對輸入的語音進行預處理。語音信號預處理之后,為了讓識別效率提高,剔除無關(guān)信息,提取有效數(shù)據(jù),我們需要對語音信息進行特征提取,我們采用加權(quán)線性倒數(shù)頻譜系數(shù)來指導進行語音信號的特征提取;構(gòu)建模型的方案選擇:采用不同的方案構(gòu)建模型會產(chǎn)生不一樣的效果,針對每種方案進行訓練和調(diào)參,最終選擇識別率最高的方案應用;信號的發(fā)送與控制:完成語言識別后,需要找到相應的傳輸手段將相應信號命令發(fā)送到服務(wù)器,并達到達到控制效果??傮w設(shè)計框架2.1.語音識別框架語音識別技術(shù)過程主要分為三個步驟,首先,需要對捕獲的語音信號預判斷處理,其次,對整段語音信號進行特征點提取,最后根據(jù)系統(tǒng)模式進行匹配和判決REF_Ref31661\w\h[2]。通過麥克風捕獲的語音進行轉(zhuǎn)化,形成一個基準原始語音,語音識別系統(tǒng)對指令信號進行預加重、分幀、加窗等預處理REF_Ref31789\w\h[5],使語音信號趨于平穩(wěn)。接著進行特征提取,本設(shè)計以MFCC作為數(shù)據(jù)處理的特征參數(shù),對獲取的語音數(shù)據(jù)進行有效區(qū)分,將數(shù)據(jù)處理成機器讀懂的格式,并提取相應特征參數(shù),以此存儲為人工神經(jīng)網(wǎng)絡(luò)樣本,建立和訓練人工神經(jīng)網(wǎng)絡(luò)模型。當語音識別時,使用已訓練好的人工神經(jīng)網(wǎng)絡(luò),根據(jù)語音信號特征識別相應語句,最終得到結(jié)果。如圖2-1為具體的語音識別框架:預處理樣本語言加窗分幀端點檢測預處理樣本語言加窗分幀端點檢測建立人工神經(jīng)網(wǎng)絡(luò)輸入樣特征提取建立人工神經(jīng)網(wǎng)絡(luò)輸入樣特征提取訓練人工神經(jīng)網(wǎng)絡(luò)使用神經(jīng)網(wǎng)絡(luò)識別結(jié)果訓練人工神經(jīng)網(wǎng)絡(luò)使用神經(jīng)網(wǎng)絡(luò)識別結(jié)果待測語音預處理特征提取待測語音預處理特征提取語音識別框架圖2-12.2.網(wǎng)絡(luò)通信框架本設(shè)計通信方式選擇Socket,Socket是運用在進程之間進行相互通信的主流手段之一,它能夠在相同主機進程之間或者不同主機進程之間進行通信,通過搭建一個Socket連接相同或者不同的主機,建立通信機制,進行實現(xiàn)交互REF_Ref31916\w\h[7]。如圖2-2為Socket網(wǎng)絡(luò)通信框架:SYN客戶端服務(wù)器端SYNQ0NewSocketQ0NewSocketSYN+ACKSYN+ACKSYNQ1NewSocketSYNQ1NewSocketSocket網(wǎng)絡(luò)通信框架圖2-2模型的選擇3.1.人工神經(jīng)網(wǎng)絡(luò)模型人工神經(jīng)網(wǎng)絡(luò)(ANN)是機器學習與人工智能領(lǐng)域的一種模型REF_Ref32073\w\h[4],分為輸入層、隱層和輸出層三個模塊,神經(jīng)元為網(wǎng)絡(luò)基本單元,輸入層的神經(jīng)元為所提取的語音信號特征,構(gòu)建隱層的神經(jīng)元方式為樣本訓練,輸出層的神經(jīng)元為語音識別詞匯。對神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進行分析,可得出神經(jīng)網(wǎng)絡(luò)具有很強的非線性映射能力、泛化能力和容錯能力REF_Ref32184\w\h[6]。人工神經(jīng)網(wǎng)絡(luò)進行語音識別之前,需要不斷地訓練優(yōu)化模型。一開始需要準備擁有大量詞匯的語音訓練集,按照一定的規(guī)則將詞匯分段編號,接著把之前已經(jīng)做過特征提取的語音數(shù)據(jù)輸入模型,參考數(shù)據(jù)為特征對應的詞匯編號,最終把參考數(shù)據(jù)和模型訓練的輸出數(shù)據(jù)相比較,得出相應誤差,在此誤差數(shù)據(jù)降低到閾值時則停止訓練,保存相應訓練數(shù)據(jù),以此建立神經(jīng)網(wǎng)絡(luò)模型。如圖3-1為人工神經(jīng)網(wǎng)絡(luò)訓練框架。開始開始給定輸入量和目標輸出給定輸入量和目標輸出求隱層和輸出層單元輸出求隱層和輸出層單元輸出求期望輸出和實際輸出的誤差求期望輸出和實際輸出的誤差權(quán)值學習修正誤差是否滿足權(quán)值學習修正誤差是否滿足YN結(jié)束YN結(jié)束人工神經(jīng)網(wǎng)絡(luò)訓練框架圖3-13.2.其他語音識別模型目前常用的語音識別模型還有動態(tài)時間規(guī)整技術(shù)(DTW)、矢量量化(VQ)等。動態(tài)時間規(guī)整算法主要在非特定人語音識別上應用,其原理是在動態(tài)規(guī)劃的思想的基礎(chǔ)上,用一定的算法策略比較語音參考模板與語音測試信號,從而得到其中的相像程度,在通過測度和比對得到最好的路徑。而矢量量化在比較小的詞匯量上的語音識別比較適用,其原理是對語音信號數(shù)據(jù)進行整體量化,將實際效果與量化數(shù)據(jù)相對比找出最好的失真測度的公式,從而實現(xiàn)最好效果的矢量量化系統(tǒng)的建立。而3.1.所介紹的人工神經(jīng)網(wǎng)絡(luò),相當于是人類神經(jīng)活動的一個自適應非線性動力學系統(tǒng),其原理是模擬一個具有人類獨特的自主學習和想象力的工程模型,具有一系列的適合本設(shè)計的相關(guān)性能,特別是其強大自適應性及學習特性,它所獨特具有的分類決策能力和對不確定信息的描述能力得到舉世公認。所以綜合各模型功能特點,結(jié)合實際需求,我們最終選擇了具有強大學習能力和分類能力的人工神經(jīng)網(wǎng)絡(luò)模型。音頻的預處理與特征提取4.1.預處理:語音信號十分不穩(wěn)定,為了得到一個平穩(wěn)的處理對象,使得特征參數(shù)提取更加容易操作,讓語言數(shù)據(jù)更加有辨識度,我們需要將它進行預處理。首先對語音數(shù)字信號進行預加重操作,使頻譜相對平坦,也可以使得頻帶里的信號擁有一樣的信噪比。緊接著對語音信號進行分幀以及加窗的操作,短時語音信號的頻率特性在加窗后能得到較好的反應。語音信號加窗后需要進行端點檢測,也就是設(shè)定合適的閾值,將輸入的語音序列的起點和終點檢測出來。如圖4-1為預處理的過程框架。開始開始預加重預加重分幀分幀端點檢測,確定起止點端點檢測,確定起止點特征參數(shù)提?。∕FCC特征參數(shù)提取(MFCC)結(jié)束結(jié)束預處理的過程框架圖4-14.2.MFCC特征提?。赫Z音識別過程中,MFCC(Mel頻標倒譜系數(shù))參數(shù)充分地模擬了人類耳朵的聽覺感知的特性以及語音信號所產(chǎn)生的機制和原理,普遍應用在了在語言識別研究中。研究者根據(jù)心理實驗得到了類似于耳蝸作用的一組濾波器組,這就是Mel濾波器組REF_Ref32497\w\h[9],想要得到MFCC的值,首先要把求得的頻率特性通過式4.1計算出Mel頻率特性,然后將其變換到倒譜空間中REF_Ref32589\w\h[10]。fmel=2595lg?(1+f如圖5-2為MFCC計算框圖:預處理FFT預處理FFT濾波器組濾波器組DCT取對數(shù)DCT取對數(shù)MFCC計算框圖圖4-2構(gòu)建模型的方案選擇方案一:未加入Keras模型此方案為最初方案,在該方案中采用激活函數(shù)sigmoid對數(shù)據(jù)進行優(yōu)化,通過正反向傳播不斷訓練來更新權(quán)重減小誤差值,用訓練集訓練一定次數(shù)后,取最小誤差值最大識別概率。緊接著定義算法以及對應的重要的參數(shù),用來訓練成熟的人工神經(jīng)網(wǎng)絡(luò)模型識別新的音頻,最終返回識別結(jié)果。該方案比較簡單,工作效率和準確率較低。方案二:加入Keras模型同樣用的是人工神經(jīng)網(wǎng)絡(luò)模型,但將輸入層的激活函數(shù)由sigmoid換為效果更好的relu函數(shù),隱藏層也從一層改為了兩層,并將softmax函數(shù)應用在了輸出層,使得向量歸一化,并且加入了損失函數(shù)交叉熵,使整個模型更加完善,簡化了計算過程,訓練速度更快,有效減少了誤差,識別準確率得到了顯著提升。所以經(jīng)過綜和考慮和改進,最終選用方案二。重要函數(shù)的運用Relu函數(shù):本設(shè)計使用的激活函數(shù)Relu函數(shù)即線性整流,其表達式為:fx=max?(0,x)(式6.1)作為神經(jīng)元的激活函數(shù),定義了該神經(jīng)元在線性變換wTx+b之后的非線性輸出結(jié)果。也就是若進入神經(jīng)元的輸入向量為x,使用線性整流激活函數(shù)的神經(jīng)元會輸出max?(0,wTx+b)至到下一層神經(jīng)元,又或是會直接輸出(取決現(xiàn)神經(jīng)元在網(wǎng)絡(luò)結(jié)構(gòu)中所處位置)。當x≥0時,其導數(shù)為1,因此,Resoftmax函數(shù):softmax用在多分類過程中,多個神經(jīng)元的輸出通過它映射到(0,1)的區(qū)間,相當于是概率,如此一來就可以進行多分類,若一個數(shù)組為V,Vi表示V中的第i個元素,那么這個元素的softmax值就是:Si=eij通過softmax函數(shù)作用,輸出都被映射成(0,1)之間的值,所有值的和為1,與概率的性質(zhì)相似,最后在輸出結(jié)點選取值對應最大的結(jié)點作為我們的預測目標。損失函數(shù):本設(shè)計我們使用交叉熵作為損失函數(shù),交叉熵損失函數(shù)是一個平滑函數(shù),交叉熵訓練集的先驗信息為語音語句的真實語義,測試集后驗信息以機器翻譯的語義為準,用兩者之間的計算出來的交叉熵并對語音進行歧義的辨識,以達到減少誤差的效果,交叉熵函數(shù)形式為:Loss=-iyiln其中y代表我們的真實值,a代表我們softmax求出的值。i代表的是輸出結(jié)點的標號。Socket函數(shù):Socket用于相同或不同主機進程之間的通信通信,在兩臺計算機各自的系統(tǒng)中創(chuàng)建一個Socket,可以進行兩者之間的網(wǎng)絡(luò)通信。Socket連接建立之前主要進行兩項工作,第一項是連接建立前的兩個Socket的初始化工作,第二個是兩臺計算機通信時的“三路握手”,完成兩項工作之后,服務(wù)器端通過系統(tǒng)調(diào)用recv()獲取數(shù)據(jù),客戶端通過調(diào)用send()完成數(shù)據(jù)的發(fā)送REF_Ref31916\w\h[7],進而實現(xiàn)使用Socket進行通信。實踐過程及結(jié)果(1)模型的確定經(jīng)過搜集各種信息,深入了解了有關(guān)語音識別的相關(guān)知識,我和組員將多種語音識別模型結(jié)合我們所需進行了多方衡量,對比其優(yōu)缺點后,我們決定采用具有強大自學習功能的人工神經(jīng)網(wǎng)絡(luò)模型。(2)訓練集的收集與匹配在訓練模型之前需要尋找到大量合適的訓練集和測試集,作為訓練樣本和測試樣本的素材應用在識別過程中。剛開始進行搜集的時候遇到極大困難,經(jīng)過百度,博客,GitHub及各種論壇和網(wǎng)站的地毯式搜尋,終于找到能夠匹配我們模型的足夠的量的訓練集數(shù)據(jù)。我們找到了一共32個訓練集,每個訓練集里面有1000多個語音文件。在試驗的過程中,經(jīng)過多次選擇及綜合考慮,不斷選擇更有代表性的類,通過對比不同的量所產(chǎn)生的效果增減類別,最終主要應用識別了“bed”、“go”、“house”、“off”、“stop”、“yes”六類的語音。(3)模型優(yōu)化分析模型中激活函數(shù)的使用優(yōu)化:為了增加神經(jīng)網(wǎng)絡(luò)模型的非線性,需要在模型中使用激活函數(shù),一開始我們用的是函數(shù),但是其兩端飽和,趨向無窮的地方,函數(shù)值變化很小,容易缺失梯度,在傳播過程中容易丟棄信息,不利于深層神經(jīng)網(wǎng)絡(luò)的反饋傳輸,后來經(jīng)過探討,決定改為采用函數(shù),因為其具有分段線性性質(zhì),學習優(yōu)化會更加容易,這便有效解決梯度缺失等的問題,使得誤差減小,準確率提高。模型中損失函數(shù)的使用優(yōu)化:損失函數(shù)的主要作用是比較衡量神經(jīng)網(wǎng)絡(luò)的輸出值與實際值之間的差距。若神經(jīng)網(wǎng)絡(luò)工作中損失函數(shù)有誤,就會導致實際值與預測結(jié)果相差過大,誤差不能有效地得到降低,識別率普遍不高。于是在后來的方案設(shè)計中使用了損失函數(shù)交叉熵,有效提高了準確率。模型中隱藏層數(shù)的使用優(yōu)化:一開始的方案只使用了一層的隱藏層,所以整個模型工作效率越低,其計算精確度也較低,后來經(jīng)過優(yōu)化,在此基礎(chǔ)上多加了一層,減少了誤差,識別率也相應提升。(4)完善參數(shù)過程一開始設(shè)計了一個比較簡單的神經(jīng)網(wǎng)絡(luò),其隱藏層層數(shù)、訓練集類別、激活函數(shù)的選擇和應用等方面都存在一些問題,且未使用損失函數(shù),激活函數(shù)采用了傳統(tǒng)的sigmoid函數(shù),模型尚不成熟,不能有效減少誤差,得出的準確率很低。經(jīng)過多次訓練和改進,識別率有所提高,但仍不理想。最后經(jīng)過多方調(diào)研與調(diào)參,針對問題各個擊破,引入Keras模型,通過增加隱藏層和損失函數(shù),改用效果較好的relu函數(shù)等一系列措施,對模型進行完善,大大降低了誤差,準確率顯著提高:(5)語音的錄入通過調(diào)用麥克風錄音,定義錄入音頻的函數(shù),記錄人說話的聲音。(6)發(fā)送信號與控制調(diào)用send給服務(wù)器發(fā)送信號,語音識別出的結(jié)果轉(zhuǎn)換成文字作為客戶端的發(fā)送數(shù)據(jù),建立服務(wù)端,通過socket網(wǎng)絡(luò)編程接收客戶端所發(fā)送的文字控制信息,需要在另一個python代碼編譯器或命令行中編輯代碼運行建立虛擬服務(wù)端,以達到接受信號并控制家居的目的。本次實驗用Anaconda的Spyder作為語音識別端,Pycharm作為socket服務(wù)端,服務(wù)器端通過系統(tǒng)調(diào)用recv()進行數(shù)據(jù)的獲取,達到“控制家居”的目的。結(jié)論至此為止,此次畢業(yè)設(shè)計《基于語音識別實現(xiàn)智能家居控制》已經(jīng)圓滿完成,本次設(shè)計所涉及到的Python基礎(chǔ)知識、語音識別以及信號控制等基本原理是我們在大學學習中接觸較少的,神經(jīng)元網(wǎng)絡(luò)也只是粗略學習了一些基礎(chǔ)知識,所以本次課題對于我們來說有一定的難度?;貞浧饎偠ê妙}目時,和組員以及導師分析討論相關(guān)問題時候一頭霧水的情景,突然覺得現(xiàn)在能夠如此順利地完成此次畢業(yè)設(shè)計有點不可思議,感到十分的欣慰和釋然。我們從分析題目,分配任務(wù),設(shè)計框架,選擇方案,設(shè)計模型,測試改善,到最終完成本次設(shè)計,經(jīng)歷了幾個月的艱難前行,一步一個腳印,突破了重重困難,不斷從網(wǎng)上檢索信息,查找相關(guān)資料,并自主學習相關(guān)原理和知識,一起討論方案設(shè)想,搜尋訓練集和相關(guān)模型,確定和設(shè)計模型,不斷嘗試和改造,在失敗中越挫越勇,在這個過程中學到了許多寶貴的知識與經(jīng)驗,進一步了解了Python基本運用,更加熟悉神經(jīng)元網(wǎng)絡(luò)以及語音識別原理,并能夠加以結(jié)合應用,收益頗多。越努力,越幸運,在我們的艱苦鉆研下,最終完整地實現(xiàn)了從語音錄入、語音識別到信號的發(fā)送與控制這一陣個環(huán)節(jié),實現(xiàn)了本設(shè)計的所有目的,且準確率高達98.8%,這讓我更加堅定了只要努力就一定會有收獲的信念。通過本次課題的研究設(shè)計,我對語音識別領(lǐng)域產(chǎn)生了濃厚的興趣,這讓我更加明確了我今后的發(fā)展定位和方向,人工智能領(lǐng)域是當今科技時代主流的產(chǎn)業(yè),研究此項新興技術(shù)在當今科技時代有著非常重要且遠大的意義。今后我會更加努力提升自己,不斷鉆研相關(guān)知識,成為更好的自己!參考文獻劉豫軍,夏聰.深度學習神經(jīng)網(wǎng)絡(luò)在語音識別中的應用[J].網(wǎng)絡(luò)安全技術(shù)與應用,NetworkSecurityTechnology&Application,編輯部郵箱,2014年12期.于曉明.語音識別技術(shù)的發(fā)展及應用[J].計算機時代,2019,(11):28-31.廖锎.淺析語音識別技術(shù)的發(fā)展及趨勢[J].科技傳播,2010,(17).戴禮榮,張仕良,黃智穎.基于深度學習的語音識別技術(shù)現(xiàn)狀與展望[J].數(shù)據(jù)采集與處理,2017,第32卷(2):221-231.楊磊,劉美枝.語音識別技術(shù)在智能家庭照明系統(tǒng)中的應用[J].電子技術(shù)與軟件工程,2018,(15):64.冀瑞國.神經(jīng)網(wǎng)絡(luò)在語音識別中的應用[J].電子技術(shù)與軟件工程,2019,(3):249.王進文.Socket通信過程原理及相關(guān)系統(tǒng)調(diào)用[J].中國新技術(shù)新產(chǎn)品,2015,(7):25.蔣昂波,王維維.ReLU激活函數(shù)優(yōu)化研究*[J].傳感器與微系統(tǒng),2018,第37卷(2):50-52.何朝霞,潘平.說話人識別中改進的MFCC參數(shù)提取方法[J].科學技術(shù)與工程,2011,(18):4215-4218,4227.楊海燕,吳雷,周萍.基于壓縮感知和MFCC的語音端點檢測算法[J].測控技術(shù),2019,第38卷(5):88-93.謝辭畢業(yè)設(shè)計的結(jié)束也就意味著大學四年的學習生涯即將結(jié)束,美好的大學生活即將過去,青蔥的我們都將脫下學生的身份衣服過渡成一個真正的社會人,心中感慨萬千,在這一路的成長以來,我需要感謝的人太多太多。首先,感謝指導我完成此次畢業(yè)設(shè)計的龔導師,每周一次的會議和指導讓我受益匪淺,他既細心又耐心的教導讓我倍感溫暖,遇到困難時為我們提供了很多學習資料和相關(guān)資源,貼心地引導我們往正確的方向研討,針對出現(xiàn)的問題協(xié)助我們耐心地解決和攻破。同時也感謝整個大學期間所有教予我知識的老師,他們傳授我寶貴的專業(yè)知識,用知識澆灌我,開拓了我的眼界,提升了我的專業(yè)能力,感謝他們的辛勤付出和諄諄教導。老師們,你們辛苦了!其次,感謝跟我一起做此次畢業(yè)設(shè)計的組員們,他們幫助了我很多,在遇到一些困難時,他們不嫌麻煩地一步步教我,協(xié)助我解決相關(guān)問題,我們一起學習,一起探討,相互鼓勵和進步,相互協(xié)同配合,團結(jié)一致,最終完整地完成了本次畢業(yè)設(shè)計。同時也感謝整個大學期間陪我一起度過四年大學生活的同學們,不管是在學習還是生活中,你們都帶給我許多幫助和歡樂,自從任職班長以來,我們一起協(xié)同配合班級管理相關(guān)工作,使我們班級氛圍越來越好,感謝你們!最后,感謝整個大學生活里幫助過我的所有人,以及一直陪在我身邊的家人朋友,我們一起成長進步,一起哭過笑過。世事變遷,回頭還是你們。感恩。附錄附錄1最終的完整程序源代碼import

wave

import

numpy

as

np

import

os

import

socket

import

time

import

pyaudio

import

keras

from

keras.models

import

Sequential

from

keras.models

import

load_model

from

keras.layers

import

Dense

def

get_wav_mfcc(wav_path):

f

=

wave.open(wav_path,'rb')

params

=

f.getparams()

#

print("params:",params)

nchannels,

sampwidth,

framerate,

nframes

=

params[:4]

strData

=

f.readframes(nframes)#讀取音頻,字符串格式

waveData

=

np.fromstring(strData,dtype=16)#將字符串轉(zhuǎn)化為int

waveData

=

waveData*1.0/(max(abs(waveData)))#wave幅值歸一化

waveData

=

np.reshape(waveData,[nframes,nchannels]).T

f.close()

###

對音頻數(shù)據(jù)進行長度大小的切割,保證每一個的長度都是一樣的【因為訓練文件全部是1秒鐘長度,16000幀的,所以這里需要把每個語音文件的長度處理成一樣的】

data

=

list(np.array(waveData[0]))

#

print(len(data))

while

len(data)>16000:

del

data[len(waveData[0])-1]

del

data[0]

#

print(len(data))

while

len(data)<16000:

data.append(0)

#

print(len(data))

data=np.array(data)

data

=

np.abs(data)

return

data

#

加載數(shù)據(jù)集

標簽[并返回標簽集的處理結(jié)果]

def

create_datasets():

cls=["bed",

"go",

"house",

"off",

"stop",

"yes"]

wavs=[]

labels=[]

#

labels

testlabels

這里面存的值都是對應標簽的下標,下標對應的名字在labsInd中

testwavs=[]

testlabels=[]

for

i

in

range(6):

path

=

"data_ray\\"+cls[i]+"\\"

files

=

os.listdir(path)

for

j

in

files:

waveData

=

get_wav_mfcc(path+j)

wavs.append(waveData)

labels.append(i)

for

i

in

range(6):

path

=

"test_ray\\"+cls[i]+"\\"

files

=

os.listdir(path)

for

j

in

files:

waveData

=

get_wav_mfcc(path+j)

testwavs.append(waveData)

testlabels.append(i)

wavs=np.array(wavs)

labels=np.array(labels)

testwavs=np.array(testwavs)

testlabels=np.array(testlabels)

return

(wavs,labels),(testwavs,testlabels)

def

build_model():

(wavs,labels),(testwavs,testlabels)

=

create_datasets()

print(wavs.shape,"

",labels.shape)

print(testwavs.shape,"

",testlabels.shape)

#

標簽轉(zhuǎn)換為獨熱碼

labels

=

keras.utils.to_categorical(labels,

6)

testlabels

=

keras.utils.to_categorical(testlabels,

6)

print(labels[0])

##

類似

[1.

0.

0]

print(testlabels[0])

##

類似

[0.

0.

0]

print(wavs.shape,"

",labels.shape)

print(testwavs.shape,"

",testlabels.shape)

#

構(gòu)建sequential順序模型,由多個網(wǎng)絡(luò)層線性堆疊的棧。使用其API可以構(gòu)建任意的神經(jīng)網(wǎng)絡(luò)圖。

model

=

Sequential()

#可以簡單地使用

.add()

來堆疊模型,Dense(768)

是一個具有

768

個隱藏神經(jīng)元的全連接層。

model.add(Dense(512,

activation='relu',input_shape=(16000,)))

model.add(Dense(256,

activation='relu'))

model.add(Dense(128,

activation='relu'))

model.add(Dense(6,

activation='softmax'))

model.summary()

#

[編譯模型]

配置模型,損失函數(shù)采用交叉熵,優(yōu)化采用Adadelta,將識別準確率作為模型評估

#如果需要,你還可以進一步地配置你的優(yōu)化器。Keras的核心原則是使事情變得相當簡單,同時又允許用戶在需要的時候能夠進行完全的控制(終極的控制是源代碼的易擴展性)

pile(loss=keras.losses.categorical_crossentropy,

optimizer=keras.optimizers.Adam(),

metrics=['accuracy'])

#

validation_data為驗證集

#

批量地在訓練數(shù)據(jù)上進行迭代,以

124

個樣本為一個

batch

進行迭代

model.fit(wavs,

labels,

batch_size=128,

epochs=15,

verbose=1,

validation_data=(testwavs,

testlabels))

#

開始評估模型效果

#

verbose=0為不輸出日志信息

score

=

model.evaluate(testwavs,

testlabels,

verbose=0)

print('Test

loss:',

score[0])

print('Test

accuracy:',

score[1])

#

準確度

model.save('asr_model_weights_ray.h5')

#

保存訓練模型

def

predict(path):

#加載訓練好的模型,識別新的音頻,返回識別結(jié)果

pred_labels

=

["bed",

"go",

"house",

"off",

"stop",

"yes"]

wavs

=

[]

load_labels

=

[]

files

=

os.listdir(path)

for

j

in

files:

waveData

=

get_wav_mfcc(path+j)

wavs.append(waveData)

load_labels.append(j[:-4])

print("所加載的語音指令為:",load_labels)

wavs=np.array(wavs)

model

=

load_model('asr_model_weights_ray.h5')

#加載訓練好的模型

preds

=

model.predict(wavs)

preds

=

preds.tolist()

result

=

[]

#創(chuàng)建列表存放識別結(jié)果

for

pred

in

preds:

#result.append(labels[pred.index(max(pred))])

result.append(pred_labels[pred.index(max(pred))])

return

result

def

send_sig(sig):

#發(fā)送信號

#

1、創(chuàng)建socket通信對象

clientSocket

=

socket.socket()

#

2、使用正確的ip和端口去鏈接服務(wù)器

clientSocket.connect(("",8888))

#

3、客戶端與服務(wù)器端進行通信

#

給socket服務(wù)器發(fā)送信息

send_data

=

str(sig)

clientSocket.send(send_data.encode('GB2312'))

#

接收服務(wù)器的響應(服務(wù)器回復的消息)

recvData

=

clientSocket.recv(1024).decode('GB2312')

print('%s

指令控制結(jié)果為:

%s'

%

(send_data,

recvData))

#

4、關(guān)閉socket對象

clientSocket.close()

def

get_audio(filepath):

#錄入新的音頻

aa

=

str(input("是否開始錄音?

(是/否)"))

if

aa

==

str("是")

:

CHUNK

=

256

FORMAT

=

pyaudio.paInt16

CHANNELS

=

2

#

聲道數(shù)

RATE

=

16000

#

采樣率

RECORD_SECONDS

=

1

WAVE_OUTPUT_FILENAME

=

filepath

p

=

pyaudio.PyAudio()

stream

=

p.open(format=FORMAT,

channels=CHANNELS,

rate=RATE,

input=True,

frames_per_buffer=CHUNK)

print("*"*10,

"開始錄音:請在1秒內(nèi)輸入語音")

frames

=

[]

for

i

in

range(0,

int(RATE

/

CHUNK

*

RECORD_SECONDS)):

data

=

stream.read(CHUNK)

frames.append(data)

print("*"*10,

"錄音結(jié)束\n")

stream.stop_stream()

stream.close()

p.terminate()

wf

=

wave.open(WAVE_OUTPUT_FILENAME,

'wb')

wf.setnchannels(CHANNELS)

wf.setsampwidth(p.get_sample_size(FORMAT))

wf.setframerate(RATE)

wf.writeframes(b''.join(frames))

wf.close()

elif

aa

==

str("否"):

exit()

else:

print("無效輸入,請重新選擇")

get_audio(in_path)

def

sending():

#延時進度條

scale

=

20

print("開始發(fā)送指令...")

start

=

time.perf_counter()

for

i

in

range(scale

+

1):

a

=

"="

*

i

b

=

"."

*

(scale

-

i)

c

=

(i/scale)*100

dur

=

time.perf_counter()

-

start

print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,dur),end

="")

time.sleep(0.1)

#print("\n"+"指令發(fā)送成功!")

if

__name__

==

'__main__':

#訓練模型

build_model()

#錄入語音

is_contin

=

input("是否開始錄入音頻:

(任意鍵繼續(xù),q鍵退出)

")

count

=

1

while

is_contin

!=

'q':

input_filename

=

"yes123{}.wav".format(count)

#

麥克風采集的語音輸入

input_filepath

=

".\\test_ray\\yes\\"

#

輸入文件的path

in_path

=

input_filepath

+

input_filename

get_audio(in_path)

count

+=

1

is_contin

=

input("是否繼續(xù)錄入音頻:

(任意鍵繼續(xù),q鍵退出)

")

#使用模型識別語音

path

=

"test_ray\\house\\"

result

=

predict(path)

print("模型識別出的指令為:",

result,

'\n')

time.sleep(2)

#發(fā)送信號

for

re

in

result:

print("向機器發(fā)送

{}

指令".format(re))

sending()

send_sig(re)

time.sleep(0.5)

print("\n"+"指令發(fā)送成功!")

print("指令發(fā)送完畢!")

電腦無法識別U盤該怎么辦HYPERLINK電腦無法識別U盤怎么辦?打開我的電腦上單擊右鍵,在快捷菜單里,選擇“管理”,打開“計算機管理”窗口。在計算機管理窗口里,選擇“存儲”下面的“磁盤管理”,如果看得到?jīng)]有盤符的U盤,那么在這個U盤上按鼠標右鍵,選擇“更改驅(qū)動器名稱和路徑”選項,就打開了“更改……的驅(qū)動器號和路徑”對話框。再點擊“更改”按鈕,打開“更改驅(qū)動器號和路徑”的對話框,在“指定以下驅(qū)動器號”的右邊下拉列表里,選擇你希望分配給U盤的驅(qū)動器號,盡可能靠后選擇,比如X、Y、Z,選擇好后,單擊確定按鈕,回到上一次“更改……的驅(qū)動器號和路徑”對話框窗口,再一次單擊確定,就回到“計算機管理”窗口。至此,如果一切正常,就給U盤單獨設(shè)置了一個長久使用的驅(qū)動器號,并卻,不受虛擬驅(qū)動器的影響了。建議將U盤插到電腦上,看任務(wù)欄中是否顯示圖標,如果顯示,在我的電腦點右鍵查看屬性——高級——硬件——設(shè)備管理器——查看里面是否有問號的設(shè)備,在問號設(shè)備上點右鍵——更新驅(qū)動程序然后下一步——否暫時不連接到網(wǎng)絡(luò)——下一步自動安裝軟件(推薦)就可以了另外:系統(tǒng)不認U盤的幾種處理方法1.禁用主板usb設(shè)備。管理員在CMOS設(shè)置里將USB設(shè)備禁用,并且設(shè)置BIOS密碼,這樣U盤插到電腦上以后,電腦也不會識別。這種方法有它的局限性,就是不僅禁用了U盤,同時也禁用了其他的usb設(shè)備,比如usb鼠標,usb光驅(qū)等。所以這種方法管理員一般不會用,除非這臺電腦非常重要,值得他舍棄掉整個usb總線的功能。但是這種屏蔽也可以破解,即便設(shè)置了密碼。整個BIOS設(shè)置都存放在CMOS芯片里,而COMS的記憶作用是靠主板上的一個電容供電的。電容的電來源于主板電池,所以,只要把主板電池卸下來,用一根導線將原來裝電池的地方正負極短接,瞬間就能清空整個CMOS設(shè)置,包括BIOS的密碼。隨后只需安回電池,自己重新設(shè)置一下CMOS,就可以使用usb設(shè)備了。(當然,這需要打開機箱,一般眾目睽睽之下不大適用~~)2.修改注冊表項,禁用usb移動存儲設(shè)備。打開注冊表文件,依次展開"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbehci”雙擊右面的“Start”鍵,把編輯窗口中的“數(shù)值數(shù)據(jù)”改為“4”,把基數(shù)選擇為“十六進制”就可以了。改好后注銷一下就可以看見效果了。為了防止別人用相同的方法來破解,我們可以刪除或者改名注冊表編輯器程序。提示:“Start”這個鍵是USB設(shè)備的工作開關(guān),默認設(shè)置為“3”表示手動,“2”是表示自動,“4”是表示停用。3.在computermanagement里將removablestorage的使用權(quán)限禁止。computermanagement是一個windows管理組件,可以在控制面板——管理工具——計算機管理打開。在該工具窗口中storage——removablestorage——property中,general項,可以控制系統(tǒng)托盤是否顯示security則可以管理移動存儲設(shè)備的使用權(quán)限。在security中將普通用戶的使用權(quán)限降低,就可以達到禁用u盤的目的。破解的方法也很簡單,管理員降低普通用戶移動存儲設(shè)備的使用權(quán)限,但未必禁用computermanagement的使用權(quán)限。普通用戶可以通過這個工具解除usb移動存儲設(shè)備的使用權(quán)限限制。另外,值得一提的是,如果u盤插到電腦上后可以驅(qū)動,但是我的電腦里卻沒有盤符,很有可能是管理員改動了u盤的默認盤符,使得我的電腦不能識別。這種情況,可以在movablestorage中看到u盤驅(qū)動器。可以在u盤驅(qū)動器屬性設(shè)置里為u盤重新分配一個盤符,再重新插拔一次u盤,就可以在我的電腦里看到u盤的盤符了。一、首先可以將該U盤換到別的機器上,看使用是否正常。如果排除了硬件損壞的可能,一般就是軟件方面有問題。在WindowsXP+SP1操作系統(tǒng)下,有些USB2.0設(shè)備的確常常出現(xiàn)工作不穩(wěn)定的問題,可以試試安裝設(shè)備自帶的USB2.0驅(qū)動程序。另外最好不要使用USB延長線,防止因為供電不足而造成不穩(wěn)定現(xiàn)象。如果仍無效,可以在主板BIOS設(shè)定中,將USB接口強行設(shè)置為USB1.1傳輸速率。二、(適用于WIN98)啟動計算機,進入主板BIOS設(shè)置,檢查BIOS中USB的相關(guān)選項是否已經(jīng)打開:OnChipUSB設(shè)定為Enabled;USBController設(shè)定為Enabled;PNPOSInstalled設(shè)定為Yes;AssignIRQForUSB設(shè)成Enabled。要正常使用USB設(shè)備首先要開啟USB接口,在主板BIOS里可以進行此項工作,一般來說只需在BIOS中進入ChipsetFeatures設(shè)置,并將USBKeyborad/MouseLegacy選項設(shè)定為Enable,就能夠保證在操作系統(tǒng)下使用USB鍵盤了。這些選項的作用是打開主板芯片組對USB設(shè)備的完全支持,為系統(tǒng)識別USB設(shè)備做準備工作。三、USB口接觸不好處理辦法:拔下,等十秒鐘再插上USB口,使接觸完好;五、閃存盤驅(qū)動程序沒有安裝完成(WIN98系統(tǒng)下)處理辦法:鼠標點“我的電腦”,選擇屬性找到“通用串行總線”,刪除其中的USBMASSSTORAGE項,再點擊“刷新”,然后按照提示重新安裝一次驅(qū)動程序。六、接其它USB設(shè)備(如掃描儀、打印機、數(shù)碼相機)時可以正常使用,接優(yōu)盤時閃指示燈不亮,不能夠使用。1、檢查優(yōu)盤與電腦的聯(lián)接是否正常,并換用其它USB接口測試。2、檢查設(shè)備管理器,看是否出現(xiàn)”通用總線設(shè)備控制器”條目,如果沒有,請將電腦主板BIOS中USB接口條目*激活(ENABLE)。3、如果電腦安裝過其它類型USB設(shè)備,卸載該設(shè)備驅(qū)動程序,并首先安裝優(yōu)盤驅(qū)動程序。4、到其它電腦試用此優(yōu)盤,確認是否優(yōu)盤不良。七、啟動型優(yōu)盤在的電腦上無法實現(xiàn)啟動,可能是主板型號不支持。如何判斷一塊主板是否支持閃存盤啟動系統(tǒng)啟動型優(yōu)盤是采用模擬USB軟驅(qū)和USB硬盤的方式啟動電腦的。只要電腦主板支持USB設(shè)備啟動,即BIOS的啟動選項中有USB-FDD、USB-HDD或是其它類似的選項,就可以使用啟動型優(yōu)盤啟動電腦。八、第一次在電腦上使用優(yōu)盤,未出現(xiàn)提示發(fā)現(xiàn)新硬件的窗口,驅(qū)動程序無法安裝的原因可能是:1、主板usbcontroller未啟用解決辦法:在電腦主板BIOS中啟用此功能。2、usbcontroller已經(jīng)啟用但運行不正常解決辦法:在設(shè)備管理器中刪除”通用串行控制器”下的相關(guān)設(shè)備并刷新。3、優(yōu)盤被電腦識別異常,在設(shè)備管理器中表現(xiàn)為帶有黃色?或!的”其它設(shè)備”或“未知設(shè)備”。解決辦法:刪除此設(shè)備并刷新。九、大容量的U盤(例如兼具MP3播放器或錄音功能的U盤)或移動硬盤在電腦上無法正常使用,雖然系統(tǒng)提示找到了未知的USB設(shè)備,但無法正確識別U盤或移動硬盤。原因可能是:1.USB接口供電不足:系統(tǒng)為每個USB接口分配了500mA的最大輸出電流,一般的U盤只需要100mA的工作電流,因此在使用過程中不會出現(xiàn)什么問題。大多數(shù)移動硬盤所使用的是普通的2.5英寸硬盤,其工作電流介于500mA~1000mA之間,此時假如僅僅通過USB接口供電,當系統(tǒng)中并無其他USB設(shè)備時,那么還是可以勉強使用的,但如果電壓不穩(wěn)的話,就隨時可能出現(xiàn)供電不足的問題。特別是使用支持USB2.0的移動硬盤時,情況最為嚴重。另外,如果你的筆記本電腦使用電池供電,那么USB接口所分配的電量就更小了。2.使用了外接的USB擴展卡:在筆記本電腦中使用USB2.0的U盤或移動硬盤時,如果筆記本電腦不支持USB2.0技術(shù),一般必須通過PCMCIA卡轉(zhuǎn)USB2.0的擴展卡來間接實現(xiàn)支持,這些擴展卡基本上都采用NEC公司的D720100AGMUSB控制芯片,少則提供兩個USB2.0接口,多則提供五個USB2.0接口,對一般用戶而言足夠使用了。由于PCMICA接口提供的電源功率比板載USB接口要小,這樣就會由于供電不足而導致移動硬盤工作的出現(xiàn)問題。解決方案:1.它從USB連接線上接移動硬盤的一端引出一根轉(zhuǎn)接線,可以插入電腦背后的PS/2接口取電,這里可以比USB接口提供更大的電流輸出。2.利用電源補償線(也稱“鍵盤取電線”),如果U盤或移動硬盤的包裝盒中提供了選配的電源適配器,你就可以直接使用外接電源,這樣就可以從根本上避免供電不足的情況發(fā)生了前置USB線接錯。當主板上的USB線和機箱上的前置USB接口對應相接時把正負接反就會發(fā)生這類故障,這也是相當危險的,因為正負接反很可能會使得USB設(shè)備燒毀。所以盡量采用機箱后置的USB接口,也少用延長線.也可能是斷口有問題,換個USB端口看下.USB接口電壓不足。當把<ahref="mobileharddisk">移動硬盤</a>接在前置USB口上時就有可能發(fā)生系統(tǒng)無法識別出設(shè)備的故障。原因是<ahref="">移動硬盤</a>功率比較大要求電壓相對比較嚴格,前置接口可能無法提供足夠的電壓,當然劣質(zhì)的電源也可能會造成這個問題。解決方法是<ahref="">移動硬盤</a>不要接在前置USB接口上,更換劣質(zhì)低功率的電源或盡量使用外接電源的硬盤盒,假如有條件的話。主板和系統(tǒng)的兼容性問題。呵呵這類故障中最著名的就是NF2主板與USB的兼容性問題。假如你是在NF2的主板上碰到這個問題的話,則可以先安裝最新的nForce2專用USB2.0驅(qū)動和補丁、最新的主板補丁和操作系統(tǒng)補丁,還是不行的話嘗試著刷新一下主板的BIOS一般都能解決。系統(tǒng)或BIOS問題。當你在BIOS或操作系統(tǒng)中禁用了USB時就會發(fā)生USB設(shè)備無法在系統(tǒng)中識別。解決方法是開啟與USB設(shè)備相關(guān)的選項。就是開機按F2或DEL鍵,進入BIOS,把enableusbdevice選擇enable。拔插要小心,讀寫時千萬不可拔出,不然有可能燒毀芯片。XP中任務(wù)欄中多出USB設(shè)備的圖標,打開該圖標就會在列表中顯示U盤設(shè)備,選擇將該設(shè)備停用,然后你再拔出設(shè)備,這樣會比較安全。

其實判斷軟件硬件問題很簡單,在別的機器或換個系統(tǒng)試試就可以了.有些小的問題不妨先用專門軟件格式化下.還有提醒大家WINDOWS下格式化時要選擇FAT,不要選FAT32。

提示無法識別的USB設(shè)備維修

故障提示如圖:

無法識別的USB設(shè)備:UnknownUSBDevice.很多人都遇到過的一個問題,所謂“無法識別”對于操作系統(tǒng)來說,或者是驅(qū)動程度有問題,或者是USB設(shè)備出現(xiàn)了問題,或者是計算機與USB設(shè)備連接出現(xiàn)了故障,解決問題的方法也是從這幾處著手。

對于不同的設(shè)備會有不同的處理方法,了解USB設(shè)備正常工作需要的條件以及一些可

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論