文字轉(zhuǎn)語(yǔ)音芯片(單片機(jī)用)
45Microcontrollers & Embedded Systems2002.12新器件新技術(shù) NEW PRODUCT & TECH用EP7211實(shí)現(xiàn)傳呼信息實(shí)時(shí)語(yǔ)音合成和播放■ 鄭州解放軍信息工程大學(xué) 胡澤明 王鵬摘 要關(guān)鍵詞闡述在一款集成傳呼功能的二合一PDA系統(tǒng)中,使用嵌入式處理器EP7211實(shí)現(xiàn)個(gè)人傳呼信息的實(shí)時(shí)語(yǔ)音合成和播放的功能,主要包括字符語(yǔ)音庫(kù)的建立,字符語(yǔ)音合成算法和Codec語(yǔ)音中斷服務(wù)例程等3部分.PDA G.729 語(yǔ)音庫(kù) 語(yǔ)音合成引 言PDAPersonal Digital Assitant,個(gè)人數(shù)字助理是近年來(lái)繼尋呼機(jī)和移動(dòng)電話之后,在國(guó)內(nèi)市場(chǎng)迅速崛起的便攜式電子產(chǎn)品.就其擴(kuò)展意義來(lái)講,它能夠集成移動(dòng)計(jì)算,電話和網(wǎng)絡(luò)等多種功能.根據(jù)不同的應(yīng)用需求,它可以管理個(gè)人信息,提供名片存儲(chǔ)和日程安排,也可以接收各種尋呼信息如股市,天氣預(yù)報(bào)等.如果是集成通信模塊,還可以作為移動(dòng)電話使用,進(jìn)行無(wú)線網(wǎng)絡(luò)互聯(lián).廣義的PDA包括簡(jiǎn)單的電子記事本,電子辭典和功能強(qiáng)大的掌上電腦,它們的主要區(qū)別表現(xiàn)在操作系統(tǒng),存儲(chǔ)能力,運(yùn)算速度和數(shù)據(jù)交換能力等方面.目前國(guó)內(nèi)傳統(tǒng)PDA產(chǎn)品經(jīng)過(guò)幾年的高速發(fā)展后,市場(chǎng)基本飽和,銷(xiāo)售額出現(xiàn)負(fù)增長(zhǎng).不過(guò)由于PDA產(chǎn)品的靈活性,有針對(duì)性的行業(yè)應(yīng)用作為一個(gè)新亮點(diǎn),開(kāi)始為人們所關(guān)注.經(jīng)過(guò)行業(yè)應(yīng)用改造后的PDA產(chǎn)品,已經(jīng)在國(guó)內(nèi)市場(chǎng)大顯身手.文曲星展現(xiàn)超強(qiáng)的語(yǔ)言翻譯能力,比較適合于大學(xué)生和語(yǔ)言翻譯者使用;藍(lán)火系列能實(shí)時(shí)接收股市信息和專(zhuān)家點(diǎn)評(píng),適合工薪階層的炒股者.國(guó)家信息產(chǎn)業(yè)部已經(jīng)鼓勵(lì)PDA產(chǎn)品在交通,警務(wù),保險(xiǎn)等領(lǐng)域的行業(yè)應(yīng)用和推廣.分析市場(chǎng)需求,我們研發(fā)了集成傳呼功能的,專(zhuān)門(mén)面向鐵路交通行業(yè)應(yīng)用的鐵路交通信息系統(tǒng)PDA.本PDA系統(tǒng)除了具備傳統(tǒng)PDA的個(gè)人名片管理和辭典檢索等功能外,同時(shí)提供交通行業(yè)應(yīng)用的民航航班查詢(xún),鐵路列車(chē)時(shí)刻表查詢(xún)等功能.本PDA的尋呼系統(tǒng)實(shí)現(xiàn)如下功能:能夠通過(guò)尋呼對(duì)列車(chē)時(shí)刻表,列車(chē)晚點(diǎn)信息,列車(chē)剩余票額,股道信息等行業(yè)數(shù)據(jù)進(jìn)行動(dòng)態(tài)更新.作為另一個(gè)特色,當(dāng)接收到個(gè)人尋呼時(shí),能夠?qū)ず魞?nèi)容實(shí)時(shí)地轉(zhuǎn)換成語(yǔ)音并播放.下面重點(diǎn)介紹本PDA系統(tǒng)中使用嵌入式處理器EP7211實(shí)現(xiàn)個(gè)人尋呼內(nèi)容的實(shí)時(shí)語(yǔ)音轉(zhuǎn)換和播放.該功能的實(shí)現(xiàn)包含前后相關(guān)的3個(gè)部分:字符語(yǔ)音庫(kù)的建立,字符的語(yǔ)音合成算法和Codec語(yǔ)音中斷服務(wù)例程.1實(shí)現(xiàn)條件和要求PDA屬于嵌入式應(yīng)用系統(tǒng),其同一般PC機(jī)有很大差別.硬件方面,嵌入式處理器基于RISC體系結(jié)構(gòu),一般工作頻率在幾十MHz,甚至更低;系統(tǒng)內(nèi)存容量一般在幾百KB~幾MB之間;一般使用容量小的ROM或者Flash作為硬盤(pán)來(lái)存儲(chǔ)可執(zhí)行程序和數(shù)據(jù).軟件方面,PDA系統(tǒng)一般有專(zhuān)用的嵌入式操作系統(tǒng)和軟件開(kāi)發(fā)調(diào)試移植環(huán)境.個(gè)人傳呼信息的特點(diǎn)是單條傳呼信息長(zhǎng)度變化較大,20~50個(gè)字符不等.最為常見(jiàn)的是"請(qǐng)回電話***";傳呼信息涉及到的字符數(shù)量較大,字符語(yǔ)音合成時(shí)運(yùn)算量大,單字符合成后語(yǔ)音數(shù)據(jù)占用的存儲(chǔ)空間多;需要事先建立字符語(yǔ)音庫(kù)等.由于具體硬件環(huán)境的限制,傳呼信息的特點(diǎn)和語(yǔ)音合成的要求,該功能能夠?qū)崿F(xiàn)的前提有:語(yǔ)音庫(kù)占用的空間小;字符合成時(shí)速度要快;采用前臺(tái)進(jìn)行字符語(yǔ)音合成時(shí),以后臺(tái)中斷方式進(jìn)行合成語(yǔ)音的播放來(lái)保證其實(shí)時(shí)性和連續(xù)性.2具體實(shí)現(xiàn)下面分別介紹字符語(yǔ)音庫(kù)的建立,字符語(yǔ)音合成算法,本PDA系統(tǒng)的框架結(jié)構(gòu)和語(yǔ)音中斷服務(wù)例程.2.1建立字符語(yǔ)音庫(kù)我們選用G.729語(yǔ)音壓縮編碼標(biāo)準(zhǔn)來(lái)建立語(yǔ)音庫(kù).該標(biāo)準(zhǔn)采用的算法是共軛結(jié)構(gòu)的代數(shù)碼激勵(lì)線462002.12新器件新技術(shù) NEW PRODUCT & TECH性預(yù)測(cè)CS-ACELP,是基于CELP碼激勵(lì)線性預(yù)測(cè)編碼模型的算法.這種編碼規(guī)范的嚴(yán)格性使性能達(dá)到或超過(guò)了32 Kbps的G.726 ADPCM編碼,具有很高的語(yǔ)音質(zhì)量;同時(shí),它是在語(yǔ)音信號(hào)8 KHz取樣的基礎(chǔ)上得到16 bit線性PCM后進(jìn)行編碼的,壓縮后的數(shù)據(jù)速率僅為8 Kbps,具有相當(dāng)于8:1的高壓縮率.其算法延遲少于16 ms.由于G.729編解碼器能夠?qū)崿F(xiàn)很高的語(yǔ)音質(zhì)量和很低的算法延時(shí),因此被廣泛地應(yīng)用.字符語(yǔ)音庫(kù)是一個(gè)單字發(fā)音語(yǔ)音數(shù)據(jù)的集合,各段數(shù)據(jù)之間相互獨(dú)立,不具有相關(guān)性.語(yǔ)音庫(kù)包含了國(guó)標(biāo)一,二級(jí)字庫(kù)中的所有6763個(gè)漢字,10個(gè)阿拉伯?dāng)?shù)字和26個(gè)英文字符的標(biāo)準(zhǔn)普通話語(yǔ)音數(shù)據(jù).每個(gè)漢字或字符發(fā)音時(shí)長(zhǎng)為0.65 s,采用8 KHz抽樣頻率,使用了G.729A語(yǔ)音編碼算法對(duì)上述的語(yǔ)音數(shù)據(jù)進(jìn)行壓縮,壓縮后的數(shù)據(jù)速率為8 Kbps,相當(dāng)于具有8:1的高壓縮率.在漢字中,同音字占了相當(dāng)大的比例,而在語(yǔ)音合成中對(duì)于同音字的處理是沒(méi)有區(qū)別的,故近7000個(gè)漢字,我們只存儲(chǔ)1123個(gè)不同的發(fā)音.經(jīng)過(guò)同音字處理和采用G.729A標(biāo)準(zhǔn)壓縮字符語(yǔ)音數(shù)據(jù),則最終建立的語(yǔ)音庫(kù)文件大小為729 950字節(jié),完全符合本PDA系統(tǒng)的數(shù)據(jù)存儲(chǔ)要求;否則,語(yǔ)音庫(kù)數(shù)據(jù)量太大,本PDA系統(tǒng)不能接受!建立一個(gè)語(yǔ)音壓縮數(shù)據(jù)庫(kù)的具體步驟如下:◇ 將數(shù)字和常用漢字的標(biāo)準(zhǔn)發(fā)音獨(dú)立地錄入到數(shù)據(jù)文件中,作為基礎(chǔ)數(shù)據(jù).使用cooledit2000軟件完成語(yǔ)音的錄入.◇ 對(duì)于輸入數(shù)據(jù),按照每幀10 ms80個(gè)樣點(diǎn)的長(zhǎng)度,將A_law語(yǔ)音通過(guò)簡(jiǎn)單換算變成16 bit PCM數(shù)據(jù),作為編碼算法的輸入.◇ 按照G.729A算法標(biāo)準(zhǔn),對(duì)數(shù)據(jù)進(jìn)行編碼.◇ 將編碼后的數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制比特流,寫(xiě)入語(yǔ)音庫(kù)文件中.壓縮后數(shù)據(jù)速率為8 Kbps,具有相當(dāng)于8:1的高壓縮率.用C語(yǔ)言實(shí)現(xiàn)這一過(guò)程的程序流程如圖1所示.字符語(yǔ)音庫(kù)的建立是在Windows平臺(tái)及VisualC++編程環(huán)境下實(shí)現(xiàn)的,最終壓縮處理后數(shù)據(jù)量的大小為729 950字節(jié),每個(gè)字符語(yǔ)音數(shù)據(jù)的大小是650字節(jié).2.2語(yǔ)音合成當(dāng)收到個(gè)人傳呼信息時(shí),語(yǔ)音合成程序首先從指定位置獲取傳呼信息數(shù)據(jù),然后在語(yǔ)音庫(kù)中查找每個(gè)漢字,阿拉伯?dāng)?shù)字或者英文字符的發(fā)音,重組一個(gè)數(shù)據(jù)文件.解碼程序?qū)υ撐募M(jìn)行解碼并且輸出原始語(yǔ)音.語(yǔ)音合成流程如圖2所示.語(yǔ)音合成過(guò)程首先是當(dāng)前字符在語(yǔ)音庫(kù)的定位.對(duì)于10個(gè)阿拉伯?dāng)?shù)字和26個(gè)英文字符,將其放在語(yǔ)音庫(kù)開(kāi)頭.這些字符的查找比較方便.漢字是2字節(jié)存儲(chǔ),我們依據(jù)其區(qū)位碼來(lái)作為語(yǔ)音庫(kù)中的定位索引.字符語(yǔ)音庫(kù)檢索結(jié)束后的語(yǔ)音壓縮數(shù)頭文件,全局變量,函數(shù)原型的說(shuō)明輸入語(yǔ)音文件及壓縮后的碼文件名初始化編碼器,包括濾波器狀態(tài)的初始化及語(yǔ)音,激勵(lì)等緩沖區(qū)的初始化語(yǔ)音文件是否結(jié)束讀1幀語(yǔ)音80點(diǎn)A_Law轉(zhuǎn)換成16bit線性PCM將參數(shù)碼字轉(zhuǎn)成串行碼流,再轉(zhuǎn)成碼字codeword寫(xiě)文件結(jié)束編碼主函數(shù)Coder_ld8aYN圖1 字符語(yǔ)音庫(kù)的建立流程圖查找語(yǔ)音庫(kù),將尋呼文字信息替換為壓縮語(yǔ)音文件解碼器初始化碼文件是否結(jié)束讀取1幀數(shù)據(jù),并轉(zhuǎn)換成二進(jìn)制碼流解碼主函數(shù)輸出數(shù)據(jù)變?yōu)锳_LAW信號(hào)語(yǔ)音播放結(jié)束YN圖2 語(yǔ)音合成流程圖47Microcontrollers & Embedded Systems2002.12新器件新技術(shù) NEW PRODUCT & TECH據(jù)作為該字符解碼過(guò)程的輸入.數(shù)據(jù)解碼過(guò)程可以分為參數(shù)解碼和重構(gòu)信號(hào)后處理2部分.首先要從輸入的數(shù)據(jù)中提取參數(shù)符號(hào),對(duì)這些符號(hào)解碼之后,可以獲得相應(yīng)于10 ms話音幀的編碼器參數(shù).這些參數(shù)包括線性預(yù)測(cè)系數(shù),自適應(yīng)碼本矢量,固定碼本矢量以及它們的增益.解碼之后的參數(shù)用來(lái)計(jì)算重建語(yǔ)音信號(hào).得到重構(gòu)語(yǔ)音信號(hào)只有通過(guò)后處理過(guò)程來(lái)對(duì)該信號(hào)進(jìn)行放大,包括后向?yàn)V波,高通濾波以及按比例因子擴(kuò)大,最后得到原始的語(yǔ)音數(shù)據(jù).字符解碼器原理如圖3所示.2.3PDA系統(tǒng)的體系結(jié)構(gòu)PDA系統(tǒng)的硬件體系結(jié)構(gòu)如圖4所示.PDA系統(tǒng)中嵌入式處理器EP7211進(jìn)行數(shù)據(jù)處理,傳呼解碼芯片接收傳呼信息并進(jìn)行解碼, LCD提供數(shù)據(jù)輸出顯示,觸摸屏提供用戶輸入接口,F(xiàn)lash用來(lái)存儲(chǔ)應(yīng)用程序和數(shù)據(jù),SRAM為程序運(yùn)行提供內(nèi)存空間,電源電路為嵌入式處理器和外圍設(shè)備提供所需要的工作電壓.嵌入式處理器EP7211是Cirrus Logic公司專(zhuān)門(mén)為低成本,超低功耗的嵌入式應(yīng)用設(shè)計(jì)的,包含ARM7TDMI處理器內(nèi)核和豐富的外圍接口.外圍接口有CODEC音頻接口,SPI串行A/D接口,單色LCD接口,DRAM接口,紅外接口,2個(gè)PWM接口,實(shí)時(shí)時(shí)鐘RTC以及電源檢測(cè)接口.EP7211的內(nèi)核電路工作在2.5 V,而外圍電路工作在3.3 V;可根據(jù)具體情況對(duì)內(nèi)核的時(shí)鐘進(jìn)行動(dòng)態(tài)編程控制,可工作在18,36,49和74MHz.另外EP7211還有3種基本供電模式:正常操作operating,空閑idle和等待standby.在等待模式,主時(shí)鐘被關(guān)斷,整個(gè)CPU及相關(guān)外圍除中斷和RTC也關(guān)斷,但可通過(guò)中斷或按鈕來(lái)喚醒.系統(tǒng)軟件開(kāi)發(fā)平臺(tái)采用了我們自主開(kāi)發(fā)研制的,專(zhuān)門(mén)面向嵌入式應(yīng)用系統(tǒng)開(kāi)發(fā)的XGW平臺(tái).XGW開(kāi)發(fā)平臺(tái)采用消息驅(qū)動(dòng)機(jī)制,是C語(yǔ)言開(kāi)發(fā).它功能強(qiáng)大,模塊化設(shè)計(jì),擴(kuò)展性強(qiáng),產(chǎn)品升級(jí)容易,總體框架如圖5所示.圖5全面反應(yīng)了XGW開(kāi)發(fā)平臺(tái)的體系結(jié)構(gòu),包括事件消息驅(qū)動(dòng)機(jī)制,內(nèi)存管理,字符和圖形顯示輸出,圖形組件庫(kù)等.圖形組件庫(kù)中的編輯框,列表框,按鈕等為用戶應(yīng)用程序開(kāi)發(fā)提供了系統(tǒng)應(yīng)用編程接口API.不過(guò),XGW平臺(tái)對(duì)于系統(tǒng)硬件的中斷響應(yīng)沒(méi)有提供統(tǒng)一的入口和出口,需要開(kāi)發(fā)人員單獨(dú)處理.XGW開(kāi)發(fā)平臺(tái)的消息分為鼠標(biāo)消息,鍵盤(pán)消息和定時(shí)器消息等3類(lèi).2.4語(yǔ)音中斷服務(wù)例程嵌入式處理器EP7211本身提供的外設(shè)語(yǔ)音錄放Codeccoder/decoder芯片可以實(shí)現(xiàn)語(yǔ)音的錄入和適應(yīng)碼向量解碼增益解碼固定碼向量解碼結(jié)構(gòu)激勵(lì)MA碼增益預(yù)測(cè)11,GBGA22,GBGAnv間隔延時(shí)pg^^cg^11,CS22,CSzPnc編碼序號(hào)LP綜合濾波器nu后濾波器^ns高通上標(biāo)定nfsLSP解碼內(nèi)插值^zALSFLSP序號(hào)3210,,,LLLL每幀每子幀210,,PPP圖3 字符解碼原理框圖天線LCD觸摸屏?xí)r鐘,復(fù)位,喚醒射頻輸入FlashSRAM電源管理串行口紅外口傳呼解碼芯片嵌入式處理器EP7211收音設(shè)備語(yǔ)音錄放電路圖4 硬件結(jié)構(gòu)482002.12新器件新技術(shù) NEW PRODUCT & TECH播放功能.該模塊提供2個(gè)獨(dú)立的16字節(jié)長(zhǎng)的數(shù)據(jù)發(fā)送和接收緩沖區(qū)FIFO,其為全雙工模式,數(shù)據(jù)收發(fā)速率是64 kbps.芯片自身提供工作時(shí)鐘,定時(shí)脈沖以及數(shù)據(jù)的串/并和并/串轉(zhuǎn)換功能.編程人員通過(guò)設(shè)置EP7211相應(yīng)的控制寄存器使能這些項(xiàng)功能,則每當(dāng)數(shù)據(jù)收發(fā)緩沖區(qū)半慢或者半空時(shí)8字節(jié),芯片自身就會(huì)產(chǎn)生一次中斷信號(hào)供外部處理.理論計(jì)算芯片中斷速率是1 ms/次.語(yǔ)音播放中斷服務(wù)例程主要完成的工作是,當(dāng)產(chǎn)生語(yǔ)音中斷時(shí),仍然有數(shù)據(jù)需要播放,則向語(yǔ)音數(shù)據(jù)發(fā)送緩沖區(qū)FIFO中寫(xiě)入指定數(shù)據(jù),剩下的工作由Codec芯片本身來(lái)完成.中斷服務(wù)例程ISR的偽代碼如下因?yàn)榫唧w實(shí)現(xiàn)代碼沒(méi)有通用性,故此處用偽碼描述:void IRQ_Codec_Handlervoid{while檢測(cè)系統(tǒng)狀態(tài)寄存器,發(fā)現(xiàn)語(yǔ)音芯片數(shù)據(jù)發(fā)送緩沖區(qū)FIFO非滿{if已經(jīng)播放過(guò)的語(yǔ)音數(shù)據(jù)長(zhǎng)度 = 給定的需要播放的語(yǔ)音數(shù)據(jù)長(zhǎng)度 //結(jié)束{禁止數(shù)據(jù)發(fā)送緩沖區(qū)中斷;復(fù)位各相關(guān)的全局變量;程序返回;}}else{向語(yǔ)音芯片發(fā)送數(shù)據(jù)緩沖區(qū)FIFO寫(xiě)入默認(rèn)數(shù)據(jù)系統(tǒng)調(diào)用通用開(kāi)發(fā)控件字符輸出圖形輸出內(nèi)存管理用戶自定義控件事件消息驅(qū)動(dòng)硬件中斷執(zhí)行ISR中斷返回硬件中斷執(zhí)行ISR中斷返回用戶級(jí)應(yīng)用程序圖5 XGW平臺(tái)的軟件體系結(jié)構(gòu)0XFF;}}}3試驗(yàn)結(jié)果和分析由于在設(shè)計(jì)階段充分考慮過(guò)語(yǔ)音合成算法的大運(yùn)算量和系統(tǒng)的實(shí)時(shí)性要求,故我們?cè)诰唧w實(shí)現(xiàn)的時(shí)候也采取了一些措施,比較突出的有:用ARM匯編語(yǔ)言來(lái)實(shí)現(xiàn)關(guān)鍵性的函數(shù)代碼;語(yǔ)音合成時(shí)提高處理器EP7211的工作頻率處理器正常工作頻率是18 MHz;對(duì)于一些常用的三角函數(shù)計(jì)算,采用查表的方式等來(lái)加快程序執(zhí)行速度.在PDA樣機(jī)測(cè)試中,單字符合成時(shí)間在650 ms左右,基本上能夠滿足實(shí)際應(yīng)用需求.數(shù)據(jù)語(yǔ)音庫(kù)經(jīng)過(guò)處理之后,占用了729 560字節(jié)也能夠滿足本PDA系統(tǒng)的存儲(chǔ)要求.當(dāng)PDA系統(tǒng)收到1條個(gè)人傳呼信息時(shí),在語(yǔ)音庫(kù)的支持下,立刻啟動(dòng)語(yǔ)音合成算法,逐個(gè)進(jìn)行字符語(yǔ)音合成.當(dāng)?shù)?個(gè)字符語(yǔ)音合成結(jié)束后,立刻啟動(dòng)語(yǔ)音中斷服務(wù)例程進(jìn)行語(yǔ)音播放.這樣收到的個(gè)人傳呼信息,在前臺(tái)逐個(gè)字符解碼時(shí),其后臺(tái)語(yǔ)音播放也在進(jìn)行.根據(jù)實(shí)際測(cè)試參數(shù),基本上滿足了系統(tǒng)的實(shí)時(shí)性要求.從一定角度看,單字符650 ms的語(yǔ)音合成時(shí)間基本能夠滿足實(shí)際應(yīng)用需要,但還是希望能夠進(jìn)一步減小這個(gè)值.這由于我們對(duì)ARM處理器的使用還處在研究階段.ARM本身提供了16位的Thumb指令集和32位的ARM指令集,而且兩者在某些方面表現(xiàn)出較大差別.一般來(lái)講,Thumb代碼長(zhǎng)度是ARM代碼長(zhǎng)度的65%,而執(zhí)行效率要比后者高出60%.但在某些方面,32位的ARM指令集也會(huì)表現(xiàn)出其優(yōu)于16位Thumb指令集的強(qiáng)大功能;同時(shí)該處理器系統(tǒng)支持ARM指令集和Thumb指令集混合編程模式.隨著對(duì)二者差別和各自?xún)?yōu)勢(shì)的深入理解,結(jié)合本系統(tǒng)的硬件體系結(jié)構(gòu),采用有效的指令集混合編程模式將會(huì)使程序執(zhí)行效率進(jìn)一步提高,從而使實(shí)時(shí)性得到進(jìn)一步加強(qiáng).參考文獻(xiàn)1Cirrus Logic公司. EP7211數(shù)據(jù)手冊(cè)2馬忠梅. ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ). 北京:北京航空航天大學(xué)出版社,20023Gibson Jerry D,等. 多媒體數(shù)字壓縮原理與標(biāo)準(zhǔn). 李煜暉等譯. 北京:電子工業(yè)出版社,2000
熱門(mén)搜索
- 2018-07-318月8號(hào)成都出發(fā)去色達(dá),自駕游,有2個(gè)位置可以結(jié)伴
- 2018-07-31這地方熱嗎?莫干山不錯(cuò)的,下渚湖怎樣熱不熱
- 2018-07-31兒童超過(guò)120m要買(mǎi)票嗎
- 2018-07-31準(zhǔn)備去大理旅游三天,從昆明出發(fā) 求大神推薦路線
- 2018-07-31從廈大學(xué)生公寓到南普陀寺怎么走,要多長(zhǎng)時(shí)間到?
- 2018-07-31問(wèn)一哈從宜賓到濟(jì)南,怎么走最劃算