版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目六基于語(yǔ)音識(shí)別實(shí)現(xiàn)智能家居控制邊緣智能計(jì)算應(yīng)用項(xiàng)目引導(dǎo)案例智能家居(smarthome,homeautomation)是以住宅為平臺(tái),利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、安全防范技術(shù)、自動(dòng)控制技術(shù)、音視頻技術(shù)將家居生活有關(guān)的設(shè)施集成,構(gòu)建高效的住宅設(shè)施與家庭日程事務(wù)的管理系統(tǒng),提升家居安全性、便利性、舒適性、藝術(shù)性,并實(shí)現(xiàn)環(huán)保節(jié)能的居住環(huán)境。換句話說,智能家居并不是一個(gè)單一的產(chǎn)品,而是通過技術(shù)手段將家中所有的產(chǎn)品連接成一個(gè)有機(jī)的系統(tǒng),主人可隨時(shí)隨地控制該系統(tǒng)。項(xiàng)目引導(dǎo)案例
本項(xiàng)目將帶著大家體驗(yàn)基于語(yǔ)音識(shí)別實(shí)現(xiàn)智能家居控制,主要任務(wù)有:語(yǔ)音合成與播報(bào)語(yǔ)音識(shí)別和語(yǔ)音控制任務(wù)一語(yǔ)音合成與播報(bào)邊緣智能計(jì)算應(yīng)用職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一語(yǔ)音合成與播報(bào)了解語(yǔ)言合成的相關(guān)知識(shí);了解ALSA高級(jí)Linux音頻架構(gòu)。掌握音頻接口的連接;掌握音頻接口的基本控制;掌握語(yǔ)音關(guān)鍵詞的播報(bào)。職業(yè)能力目標(biāo)01知識(shí)目標(biāo)技能目標(biāo)職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一語(yǔ)音合成與播報(bào)
此任務(wù)的主要內(nèi)容是查看并選擇合適的音頻設(shè)備,發(fā)送相應(yīng)的控制指令,完成語(yǔ)音命令詞識(shí)別、合成和播報(bào)的功能。任務(wù)描述任務(wù)要求使用命令查看系統(tǒng)音頻設(shè)備信息;測(cè)試語(yǔ)音合成接口;測(cè)試語(yǔ)音播報(bào)接口;完成語(yǔ)音合成并播報(bào)的應(yīng)用。任務(wù)描述與要求02職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一語(yǔ)音合成與播報(bào)任務(wù)分析如何提取我們所需要的語(yǔ)音?怎樣將我們得到的語(yǔ)音進(jìn)行合成?任務(wù)分析與計(jì)劃03任務(wù)計(jì)劃表項(xiàng)目名稱基于語(yǔ)音識(shí)別實(shí)現(xiàn)智能家居控制任務(wù)名稱語(yǔ)音合成與播報(bào)計(jì)劃方式自主設(shè)計(jì)計(jì)劃要求請(qǐng)用8個(gè)計(jì)劃步驟來完整描述出如何完成本次任務(wù)序號(hào)任務(wù)計(jì)劃1
2
3
45678通過上面的思考,你是否對(duì)本任務(wù)要完成的工作有所了解?讓我們一起來制訂完成本次任務(wù)的實(shí)施計(jì)劃吧!任務(wù)分析與計(jì)劃03職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一語(yǔ)音合成與播報(bào)ALSA204知識(shí)儲(chǔ)備語(yǔ)音合成1subprocess模塊簡(jiǎn)介3
什么是語(yǔ)音合成?語(yǔ)音合成就是讓計(jì)算機(jī)像人那樣講話。人們用語(yǔ)言進(jìn)行交流時(shí),用聲音來表達(dá)自己的意向、情感。例如:如某人問你:你愿意和我一起去看電影嗎?你的回答可能是:“是的,我很高興和你一起去看電影”(肯定,高興)“抱歉,我不能和你一起看電影,因?yàn)槲乙ラ_會(huì)”(無可奈何)“不去,還是你自己去看吧”(否定)這三句話表達(dá)了不同的意向和情感,計(jì)算機(jī)也該像人那樣來回答。語(yǔ)音合成是一門跨學(xué)科的前沿技術(shù),涉及到下列相關(guān)研究領(lǐng)域:自然語(yǔ)言理解、語(yǔ)言學(xué)、語(yǔ)音學(xué)、信號(hào)處理、心理學(xué)、聲學(xué)...它將上述領(lǐng)域的研究成果結(jié)合在一起,使計(jì)算機(jī)具備說話的能力。04語(yǔ)音合成什么是語(yǔ)音合成語(yǔ)音合成技術(shù)的研究已有兩百多年的歷史,但真正具有實(shí)用意義的近代語(yǔ)音合成技術(shù)是隨著計(jì)算機(jī)技術(shù)和數(shù)字信號(hào)處理技術(shù)的發(fā)展而發(fā)展起來的。主要是讓計(jì)算機(jī)能夠產(chǎn)生高清晰度、高自然度的連續(xù)語(yǔ)音。在語(yǔ)音合成技術(shù)的發(fā)展過程中,早期的研究主要是采用參數(shù)合成方法,后來隨著計(jì)算機(jī)技術(shù)的發(fā)展又出現(xiàn)了波形拼接的合成方法。1939年Voder第一個(gè)電子合成器。1987年Klatt共振峰合成@藍(lán)光行云。04語(yǔ)音合成語(yǔ)音合成歷史
語(yǔ)音合成技術(shù)可以大大改善人機(jī)交互環(huán)境。計(jì)算機(jī)反饋信息的方式是屏幕顯示。這種單調(diào)的信息輸出方式給用戶帶來許多不便,特別是長(zhǎng)時(shí)間地注視顯示屏使人疲勞,降低人獲取信息和理解信息的能力。網(wǎng)絡(luò)環(huán)境的輸出設(shè)備多種多樣:這種枯燥單一的交互方式影響了計(jì)算機(jī)的應(yīng)用。計(jì)算機(jī)語(yǔ)音輸出能提供聲文并茂的信息表示方式,可以改變?nèi)藱C(jī)交互“默默無聞”的狀況,為計(jì)算機(jī)的普及應(yīng)用創(chuàng)造更好的條件。將“能看到”、“看不到”的信息變成“可聽”的信息。將“非即時(shí)獲得的信息”變成“即時(shí)可聽”的信息。04語(yǔ)音合成語(yǔ)音合成的研究意義音頻在各行各業(yè)都有廣泛使用,主要包括音頻播放,錄音,以及現(xiàn)在廣泛用在了語(yǔ)音識(shí)別等人工智能方向,我們?cè)絹碓较M斯ぶ悄?AI)解決方案能夠接受語(yǔ)音命令并提供語(yǔ)音響應(yīng)。04語(yǔ)音合成越來越多的家居和汽車系統(tǒng)可以通過講話來進(jìn)行控制-發(fā)出諸如“關(guān)燈”之類的命令,以及希望獲得對(duì)“今天會(huì)下雨嗎”之類的問題的口頭回答。04語(yǔ)音合成為了實(shí)現(xiàn)這種交互,AI系統(tǒng)必須支持兩種能力:語(yǔ)音識(shí)別-檢測(cè)和解釋語(yǔ)音輸入的能力。語(yǔ)音合成-生成語(yǔ)音輸出的能力。04語(yǔ)音合成語(yǔ)音合成和語(yǔ)音識(shí)別技術(shù)是實(shí)現(xiàn)人機(jī)語(yǔ)音通信,建立一個(gè)有聽和講能力的口語(yǔ)系統(tǒng)所必需的兩項(xiàng)關(guān)鍵技術(shù)。使電腦具有類似于人一樣的說話能力,是當(dāng)今時(shí)代信息產(chǎn)業(yè)的重要競(jìng)爭(zhēng)市場(chǎng)。04語(yǔ)音合成和語(yǔ)音識(shí)別相比,語(yǔ)音合成的技術(shù)相對(duì)說來要成熟一些,并已開始向產(chǎn)業(yè)化方向成功邁進(jìn),大規(guī)模應(yīng)用指日可待。04語(yǔ)音合成語(yǔ)音合成是指將文字轉(zhuǎn)換為聲音輸出的過程。語(yǔ)音合成是通過機(jī)械的、電子的方法產(chǎn)生人造聲音的技術(shù)。它將計(jì)算機(jī)自己產(chǎn)生的或外部輸入的文字信息轉(zhuǎn)變?yōu)槿祟惵牭枚摹⒘骼目谡Z(yǔ)進(jìn)行輸出的技術(shù)。04語(yǔ)音合成我們所說的“讓機(jī)器像人一樣開口說話”與傳統(tǒng)的聲音回放設(shè)備(系統(tǒng))有著本質(zhì)的區(qū)別。傳統(tǒng)的聲音回放設(shè)備(系統(tǒng)),如磁帶錄音機(jī),是通過預(yù)先錄制聲音然后回放來實(shí)現(xiàn)“讓機(jī)器說話”的。這種方式無論是在內(nèi)容、存儲(chǔ)、傳輸或者方便性、及時(shí)性等方面都存在很大的限制。04語(yǔ)音合成而通過計(jì)算機(jī)語(yǔ)音合成則可以在任何時(shí)候?qū)⑷我馕谋巨D(zhuǎn)換成具有高自然度的語(yǔ)音,從而真正實(shí)現(xiàn)讓機(jī)器“像人一樣開口說話”。04語(yǔ)音合成語(yǔ)音合成在很多方面與語(yǔ)音識(shí)別相反。它涉及到讓數(shù)據(jù)發(fā)出聲音,通常是通過將文本轉(zhuǎn)換為語(yǔ)音來實(shí)現(xiàn)。語(yǔ)音合成解決方案通常需要以下信息:要朗讀的文本。用于讀出語(yǔ)音的聲音。04語(yǔ)音合成若要合成語(yǔ)音,系統(tǒng)通常會(huì)對(duì)文本進(jìn)行詞匯切分,將其分解為單獨(dú)的字詞,并為每個(gè)字詞指定語(yǔ)聲。
接著將語(yǔ)音聽錄分解為韻律單元(如短語(yǔ)、分句或句子),以創(chuàng)建將被轉(zhuǎn)換為音頻格式的音素。
然后通過加上聲音(這將確定音調(diào)和音色等參數(shù))和生成可以輸出到揚(yáng)聲器或?qū)懭胛募囊纛l波形,將這些音素合成音頻。04語(yǔ)音合成你可以將語(yǔ)音合成的輸出用于多種目的,包括:生成對(duì)用戶輸入的語(yǔ)音回答。為電話系統(tǒng)創(chuàng)建語(yǔ)音菜單。在免動(dòng)手的情形下朗讀電子郵件或短信。在公共場(chǎng)所(如火車站或機(jī)場(chǎng))廣播通知。04語(yǔ)音合成ALSA204知識(shí)儲(chǔ)備語(yǔ)音合成1subprocess模塊簡(jiǎn)介3ALSA04
ALSA(AdvancedLinuxSoundArchitecture)是一個(gè)軟件框架,也是Linux內(nèi)核的一部分,ALSA為聲卡設(shè)備驅(qū)動(dòng)程序提供應(yīng)用程序編程接口(API)。ALSA04ALSA項(xiàng)目的目標(biāo)是聲卡硬件的自動(dòng)配置和系統(tǒng)中多音頻設(shè)備的調(diào)度優(yōu)化。ALSA發(fā)布在GPL-2.0或更高版本和LGPL-2.1或更高版本。除Linux內(nèi)核內(nèi)的軟件框架外,ALSA項(xiàng)目還提供了如alsactl、amixer、arecord/aplay、alsamixer等命令行實(shí)用工具。ALSA04aplay工具介紹aplay是ALSA聲卡驅(qū)動(dòng)程序的命令行音頻文件播放器。它支持多種文件格式和多種設(shè)備的多種聲卡。對(duì)于支持的音頻格式文件,可以從聲音文件頭部中自動(dòng)確定采樣率、位深度等。ALSA04arecord命令簡(jiǎn)要說明:arecord命令主要用于聲音錄制,通過arecord-h命令,可以查看具體的使用幫助信息。ALSA04amixer命令簡(jiǎn)要說明:alsamixer是Linux音頻架構(gòu)ALSA中的Alsa工具的其中一個(gè),用于配置音頻的各個(gè)參數(shù)。alsamixer是基于文本下的圖形界面的,可以通過鍵盤的上下鍵,左右鍵等,很方便地設(shè)置需要的音量,開關(guān)某個(gè)switch(開關(guān))等等操作。amixer,是alsamixer的文本模式,即命令行模式,需要用amixer命令的形式去配置你的聲卡的各個(gè)選項(xiàng)。204知識(shí)儲(chǔ)備13ALSA語(yǔ)音合成subprocess模塊簡(jiǎn)介subprocess模塊簡(jiǎn)介04subprocess是Python新增的一個(gè)模塊,它允許生成新的進(jìn)程,連接到它們的input/output/error管道。并獲取它們的返回(狀態(tài))碼。subprocess模塊簡(jiǎn)介04運(yùn)行python的時(shí)候,我們都是在創(chuàng)建并運(yùn)行一個(gè)進(jìn)程。像Linux進(jìn)程那樣,一個(gè)進(jìn)程可以fork一個(gè)子進(jìn)程,并讓這個(gè)子進(jìn)程exec另外一個(gè)程序。在Python中,我們通過標(biāo)準(zhǔn)庫(kù)中的subprocess包來fork一個(gè)子進(jìn)程,并運(yùn)行一個(gè)外部的程序。subprocess模塊簡(jiǎn)介04subprocess包中定義有數(shù)個(gè)創(chuàng)建子進(jìn)程的函數(shù),這些函數(shù)分別以不同的方式創(chuàng)建子進(jìn)程,所以我們可以根據(jù)需要來從中選取一個(gè)使用。職業(yè)能力目標(biāo)01任務(wù)描述與要求02任務(wù)分析與計(jì)劃03知識(shí)儲(chǔ)備04任務(wù)實(shí)施05任務(wù)檢查與評(píng)價(jià)06任務(wù)小結(jié)07任務(wù)拓展08任務(wù)一語(yǔ)音合成與播報(bào)205任務(wù)實(shí)施13獲取音頻設(shè)備ID導(dǎo)入依賴庫(kù)語(yǔ)音合成與播報(bào)導(dǎo)入依賴庫(kù)05importreimportsubprocessre:re模塊使Python語(yǔ)言擁有全部的正則表達(dá)式功能;subprocess:subprocess模塊允許用戶啟動(dòng)一個(gè)新進(jìn)程,并連接到它們的輸入/輸出/錯(cuò)誤管道,從而獲取返回值。205任務(wù)實(shí)施13獲取音頻設(shè)備ID導(dǎo)入依賴庫(kù)語(yǔ)音合成與播報(bào)42使用aplay工具查看系統(tǒng)音頻設(shè)備信息1使用Shell命令查看系統(tǒng)音頻設(shè)備信息3使用subprocess模塊在Python中獲取命令行輸出信息使用re模塊提取聲卡設(shè)備ID5將獲取音頻設(shè)備ID的代碼封裝為函數(shù)獲取音頻設(shè)備ID05獲取音頻設(shè)備ID獲取音頻設(shè)備ID05!cat/proc/asound/cards1.使用Shell命令查看系統(tǒng)音頻設(shè)備信息在Linux系統(tǒng)中可以使用cat/proc/asound/cards命令查看系統(tǒng)中的音頻設(shè)備,如下所示:獲取音頻設(shè)備ID05!aplay-l2.使用aplay工具查看系統(tǒng)音頻設(shè)備信息使用aplay工具查看系統(tǒng)音頻設(shè)備信息的命令為cat/proc/asound/cards獲取音頻設(shè)備ID05res_content=subprocess.getstatusoutput('aplay-l')3.使用subprocess模塊在Python中獲取命令行輸出信息subprocess模塊允許你生成新的進(jìn)程,連接它們的輸入、輸出、錯(cuò)誤管道,并且獲取它們的返回碼。subprocess.getstatusoutput(cmd):返回在shell中執(zhí)行cmd產(chǎn)生的(exitcode,output)。末尾的一個(gè)換行符會(huì)從輸出中被去除。命令的退出碼可被解讀為子進(jìn)程的返回碼。例如:此函數(shù)現(xiàn)在返回(exitcode,output)而不是像Python3.3.3及更早的版本那樣返回(status,output)。exitcode的值與returncode相同。獲取音頻設(shè)備ID05ifres_content[0]==0andres_content[1]!='':#用于查找設(shè)備ID的正則表達(dá)式
pattern=r'.*card(.*?):.*,device(.*?):USBAudio.*'#查找USB音頻設(shè)備
result=re.findall(pattern,res_content[1])#獲取得到的首個(gè)USB聲卡的ID信息
dev_id=result[0]#打印CardID與DeviceIDprint(dev_id)else:print("無法獲取語(yǔ)音設(shè)備id,請(qǐng)檢查設(shè)備!?。?)4.使用re模塊提取聲卡設(shè)備IDre.findall(pattern,string,flags=0):對(duì)string返回一個(gè)不重復(fù)的pattern的匹配列表,string從左到右進(jìn)行掃描,匹配按找到的順序返回。參數(shù)說明:pattern:正則表達(dá)式;string:搜索的是那些字符串。>>>text="Hewascarefullydisguisedbutcapturedquicklybypolice.">>>re.findall(r"\w+ly",text)['carefully','quickly']獲取音頻設(shè)備ID05defget_device_id():res_content=subprocess.getstatusoutput("aplay-l")#使用'aplay-l'查看系統(tǒng)音頻設(shè)備信息#若獲取到音頻設(shè)備信息
ifres_content[0]==0andres_content[1]!='':pattern=r'.*card(.*?):.*,device(.*?):USBAudio.*’#用于查找設(shè)備ID的正則表達(dá)式
result=re.findall(pattern,res_content[1])#查找USB音頻設(shè)備#獲取得到的USB聲卡的ID信息
foriinrange(len(result)):dev_id=result[i]print(dev_id)#打印CardID與DeviceIDelse:print("無法獲取語(yǔ)音設(shè)備id,請(qǐng)檢查設(shè)備!?。?)returnreturnresult[0]get_device_id()#獲取設(shè)備ID功能測(cè)試5.將獲取音頻設(shè)備ID的代碼封裝為函數(shù)subprocess.getstatusoutput(cmd):返回在shell中執(zhí)行cmd產(chǎn)生的(exitcode,output)。參數(shù)說明:cmd:shell命令,以字符串形式輸入。205任務(wù)實(shí)施13獲取音頻設(shè)備ID導(dǎo)入依賴庫(kù)語(yǔ)音合成與播報(bào)42測(cè)試語(yǔ)音播報(bào)1測(cè)試語(yǔ)音合成接口3語(yǔ)音合成并播報(bào)將實(shí)現(xiàn)語(yǔ)音播報(bào)的代碼封裝為函數(shù)語(yǔ)音合成與播報(bào)05語(yǔ)音合成與播報(bào)獲取音頻設(shè)備ID05!cd./speech/broadcast/bin/&&./tts_offline_sample"小陸,你好"1.測(cè)試語(yǔ)音合成接口使用cd命令進(jìn)入./speech/recognition/bin/目錄下,運(yùn)行tts_offline_sample(傳入的文本為“小陸,你好”),測(cè)試語(yǔ)音合成接口是否可用。!aplay./speech/broadcast/bin/tts_sample.wav2.測(cè)試語(yǔ)音播報(bào)(1)使用aplay工具直接播放。(2)使用aplay工具并指定音頻設(shè)備ID播放。get_device_id()#獲取USB聲卡的設(shè)備ID獲取音頻設(shè)備ID05text="小陸,你好"print('語(yǔ)音合成開始。。。')#調(diào)用語(yǔ)音合成接口的指令tts_cmd='cd./speech/broadcast/bin/'+'&&./tts_offline_sample{}'.format(text)res_content=subprocess.getstatusoutput(tts_cmd)#語(yǔ)音合并并獲取返回值#如果合并成功ifres_content[0]==0and'合并成功'inres_content[1]:print('語(yǔ)音合并成功,開始播報(bào)。。。')#使用aplay播放語(yǔ)音
broadcast_cmd='aplay./speech/broadcast/bin/tts_sample.wav'subprocess.Popen(broadcast_cmd,shell=True)else:print('語(yǔ)音合并失敗')3.測(cè)試語(yǔ)音合成接口subprocess.getstatusoutput(cmd):返回在shell中執(zhí)行cmd產(chǎn)生的(exitcode,output)。參數(shù)說明:cmd:shell命令,以字符串形式輸入。subprocess.Popen(args,shell=False):將Shell命令賦值給args即可在Python中運(yùn)行Shell命令。參數(shù)說明:args:可以是一個(gè)字符串,可以是一個(gè)包含程序參數(shù)的列表。要執(zhí)行的程序一般就是這個(gè)列表的第一項(xiàng),或者是字符串本身;shell:默認(rèn)False,在linux下,當(dāng)shell=True時(shí),如果arg是個(gè)字符串,就使用shell來解釋執(zhí)行這個(gè)字符串。如果args是個(gè)列表,則第一項(xiàng)被視為命令,其余的都視為是給shell本身的參數(shù)。獲取音頻設(shè)備ID05defbroadcast(text):print('語(yǔ)音合成開始。。。')#調(diào)用語(yǔ)音合成接口的指令
tts_cmd='cd./speech/broadcast/bin/'+'&&./tts_offline_sample{}'.format(text)#語(yǔ)音合并并獲取返回值
res_content=subprocess.getstatusoutput(tts_cmd)#如果合并成功
ifres_content[0]==0and'合并成功'inres_content[1]:print('語(yǔ)音合并成功,開始播報(bào)。。。')#使用aplay播放語(yǔ)音
broadcast_cmd='aplay./speech/broadcast/bin/tts_sample.wav'subprocess.Popen(broadcast_cmd,shell=True)else:print('語(yǔ)音合并失敗')#語(yǔ)音播報(bào)功能測(cè)試broadcast("小陸,你好!")4.將實(shí)現(xiàn)語(yǔ)音播報(bào)的代碼封裝為函數(shù)職業(yè)能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度廠房租賃合同解除及賠償協(xié)議模板3篇
- 2025年度環(huán)保涂料產(chǎn)品銷售合作合同協(xié)議書4篇
- 二零二五年度龍門吊安全操作與維護(hù)管理服務(wù)協(xié)議4篇
- 二零二五年度網(wǎng)紅店鋪知識(shí)產(chǎn)權(quán)及經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同3篇
- 二零二五年度苗木苗圃定向培育與生態(tài)旅游合同范本4篇
- 二零二五版綠色住宅建筑租賃管理合同
- 二零二五年度特種車輛購(gòu)置協(xié)議4篇
- 2025年度教育培訓(xùn)機(jī)構(gòu)代理商加盟協(xié)議4篇
- 2025年度地下車庫(kù)排水系統(tǒng)修繕合同范本4篇
- 二零二五版城市道路廣告牌租賃與維護(hù)管理合同3篇
- COCA20000詞匯音標(biāo)版表格
- 滬教版七年級(jí)數(shù)學(xué)上冊(cè)專題06圖形的運(yùn)動(dòng)(原卷版+解析)
- JTG-T-F20-2015公路路面基層施工技術(shù)細(xì)則
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數(shù)據(jù)標(biāo)準(zhǔn)
- 建筑垃圾減排及資源化處置措施
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)附答案
- 中西方校服文化差異研究
- 2024年一級(jí)建造師考試思維導(dǎo)圖-市政
- 高壓架空輸電線路反事故措施培訓(xùn)課件
- 隱私計(jì)算技術(shù)與數(shù)據(jù)安全保護(hù)
- 人教版小學(xué)數(shù)學(xué)五年級(jí)上冊(cè)口算題卡
評(píng)論
0/150
提交評(píng)論