欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      實驗二 語音交互設(shè)計-TTS(匯編)

      時間:2019-05-13 00:35:07下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《實驗二 語音交互設(shè)計-TTS》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《實驗二 語音交互設(shè)計-TTS》。

      第一篇:實驗二 語音交互設(shè)計-TTS

      文本語音(Text-to-Speech,以下簡稱TTS),它的作用就是把通過TTS引擎把文本轉(zhuǎn)化為語音輸出。簡單介紹如何運用Microsoft Speech SDK 建立自己的文本語音轉(zhuǎn)換應(yīng)用程序。Microsoft Speech SDK是微軟提供的軟件開發(fā)包,提供的Speech API(SAPI)主要包含兩大方面:

      1.API for Text-to-Speech:微軟TTS引擎的接口,通過它我們可以很容易地建立功能強大的文本語音程序 ;

      2.API for Speech Recognition:與TTS相對應(yīng)的語音識別

      為了在VC中使用這SDK,必需在工程中添加SDK的include和lib目錄,為免每個工程都添加目錄,最好的辦法是在VC的Option->Directoris加上SDK的include和lib目錄。

      一、TTS—基于控制臺

      這是一個基于控制臺的語音程序示例。這個例子中,使用了最簡單的COM框架,并讓計算機“說”一句簡單的話。同時介紹了如何使用XML標簽來對語音進行修改。主要包括如下步驟:--Step1:建立工程項目--Step2:初始化COM接口--Step3:創(chuàng)建語音對象--Step4:開始說話

      --Step5:用XML標簽修改語音

      1、Step1:建立工程

      (1)利用Visual Studio的開發(fā)環(huán)境中的應(yīng)用程序向?qū)Ы⒁粋€Win32控制臺(console)程序。在創(chuàng)建過程中時,選擇一個簡單的“Hello world”應(yīng)用程序工程項目。

      (2)創(chuàng)建完成后,打開“stdafx.h”頭文件,把以下的內(nèi)容粘貼在“#include ”與“#end if”之間。這樣把SAPI所需的其它依賴信息包含進來。

      #define _ATL_APARTMENT_THREADED #include (3)在工程中增加兩個文件sapi.h和sapi.lib的路徑。在菜單欄中選擇“Project”|“Settings”|“C/C++”標簽頁,接著在“Category”下拉列表中選擇“Preprocessor”,在“Additional include directories”編輯框中填入實際頭文件路徑,“F:Program FilesMicrosoft Speech SDK 5.1Include”。

      (4)再設(shè)置sapi.lib的路徑。在同樣的“Settints”對話框中,選擇“Link”標簽頁;在“Category”下拉列表中選擇“Input”;在“Additional library path”編輯框中填入sapi.lib的路徑:“F:Program FilesMicrosoft Speech SDK 5.1Libi386 ;

      (5)在同樣的“Link”標簽頁中的“Object/library modules”欄中增加“sapi.lib”,注意,這里的各個庫名字之間用空格隔開。

      Step2:初始化COM接口

      SAPI 是基于COM框架的,所以使用SAPI相關(guān)函數(shù)之前和SAPI對象被激活時,程序必須初始化COM接口。下面的代碼雖然除了初始化之外沒有任何其它的功能,但是它確保COM能被正常啟動。程序清單2:

      #include #include int main(int argc, char* argv[]){ if(FAILED(::CoInitialize(NULL)))return FALSE;??

      ::CoUninitialize();return TRUE;} Step3:創(chuàng)建語音對象

      COM 運行環(huán)境建立起來之后,接下來創(chuàng)建語音對象。語音對象是一個簡單的COM對象。另外,語音對象使用很多智能的默認配置,在自身初始化過程中,SAPI自動為其配置大多數(shù)的默認值,語音對象創(chuàng)建完成后就可以立即被程序使用。這些默認的參數(shù)是從“控制面板”的“語言屬性”中獲得的,包括語言種類等。所有的默認參數(shù),包括顯見的和非顯見的(比如說話速度,基音周期等),都可以用編程的方式改變,或從控制面板中的語言屬性中修改。

      #include #include int main(int argc, char* argv[]){ ISpVoice * pVoice = NULL;//獲取ISpVoice接口:

      if(FAILED(::CoInitialize(NULL)))return FALSE;HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice,(void **)&pVoice);if(SUCCEEDED(hr)){ pVoice->Release();pVoice = NULL;// pVoice設(shè)置為NULL空值不是必須的,但這樣做有助于檢查錯誤,也可以作為一個提示,表示這個指針的空間已經(jīng)分配了或者被釋放了。} ::CoUninitialize();return TRUE;} 注:SDK提供的是基于COM封裝的,只要按部就班地用CoInitialize()、CoCreateInstance()獲取IspVoice接口就夠了,需要注意的是初始化COM后,程序結(jié)束前一定要用CoUninitialize()釋放資源。

      SAPIStep4:開始說話

      上述程序的流程是獲取IspVoice接口,然后用ISpVoice::Speak()把文本輸出為語音,只需調(diào)用“Speak”函數(shù)即可。

      HRESULT Speak(const WCHAR *pwcs,DWORD dwFlags,ULONG *pulStreamNumber);

      (1)*pwcs 輸入的文本字符串,必需為Unicode,如果是ansi字符串必需先轉(zhuǎn)換為Unicode.(2)dwFlags 用來標志Speak的方式,其中SPF_IS_XML 表示輸入文本含有XML標簽。

      (3)PulStreamNumber 輸出,用來獲取去當前文本輸入的等候播放隊列的位置,只有在異步模式才有用。代碼如下: #include #include int main(int argc, char* argv[]){ ISpVoice * pVoice = NULL;if(FAILED(::CoInitialize(NULL)))return FALSE;HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice,(void **)&pVoice);if(SUCCEEDED(hr)){ hr = pVoice->Speak(L“Hello world”, 0, NULL);pVoice->Release();pVoice = NULL;} ::CoUninitialize();return TRUE;} Step5:用XML標簽修改語音

      TTS API功能最強大之處在于能夠分析XML標簽,通過XML標簽設(shè)置音量、音調(diào)、延長、停頓,幾乎可以使輸出達到自然語音效果。前面已經(jīng)提過,把Speak參數(shù)dwFlags設(shè)為SPF_IS_XML,TTS引擎就會分析XML文本,輸入文本并不需要嚴格遵守W3C的標準,只要含有XML標簽就行了,在下面的例子中,后部分的語音基音頻率會比前部分的低10個等級。

      #include #include int main(int argc, char* argv[]){ ISpVoice * pVoice = NULL;if(FAILED(::CoInitialize(NULL)))return FALSE;HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice,(void **)&pVoice);if(SUCCEEDED(hr)){ hr = pVoice->Speak(L“Hello world”, 0, NULL);// Change pitch hr = pVoice->Speak(L“This sounds normal

      but the pitch drops half way through”, SPF_IS_XML, NULL);pVoice->Release();pVoice = NULL;} ::CoUninitialize();return TRUE;}

      第二篇:實驗二 語音交互設(shè)計TTS-基于圖形用戶界面

      COM:即組件對象模型,Component Object Model。

      1、在COM構(gòu)架下,人們可以開發(fā)出各種各樣的功能專一的組件,組件實際上是一些小的二進制可執(zhí)行程序,它們可以給應(yīng)用程序、操作系統(tǒng)以及其他組件提供服務(wù),然后將它們按照需要組合起來,構(gòu)成復(fù)雜的應(yīng)用系統(tǒng)(如dll)。優(yōu)點:可用新組件替換原有組件,系統(tǒng)升級和定制更加簡便;可在多個應(yīng)用系統(tǒng)中重復(fù)利用同一個組件;可以方便的將應(yīng)用系統(tǒng)擴展到網(wǎng)絡(luò)環(huán)境下;COM與語言、平臺無關(guān),程序員可充分發(fā)揮自己的才智與專長編寫組件模塊等。

      2、使用和處理COM對象。COM獨立于語言,COM為自己提供對象管理例程。COM中創(chuàng)建對象,實際是調(diào)用COM庫中的API函數(shù)CoCreatInstance().調(diào)用該函數(shù)時,在注冊表中查找COM服務(wù)器位置,將服務(wù)器加載到內(nèi)存,并創(chuàng)建所請求的實例。

      3、一般使用COM對象的步驟是: ? 初始化COM庫(Initialize);

      ? 創(chuàng)建一個COM對象,獲得相應(yīng)接口;

      ? 如果對象創(chuàng)建成功,則調(diào)用COM對象的某個方法; ? 釋放接口;

      ? 收回COM庫(Uninitialize)

      二、TTS—基于圖形界面

      基于圖形用戶界面創(chuàng)建一個TTS應(yīng)用程序,通過對菜單命令的選擇執(zhí)行文本-語音的轉(zhuǎn)換。

      一、建立項目

      1、創(chuàng)建一個實現(xiàn)典型“Hello world”應(yīng)用的windows 32平臺應(yīng)用程序項目。

      二、設(shè)置sapi路徑:與SAPI相關(guān)的文件路徑必須在項目中聲明。(sapi.h和sapi.lib)

      1、選擇“Tools”→ “Options”→“Directories”選項卡;

      2、選擇“Include Files”下拉式選單,增加“sapi.h”的文件路徑;

      3、選擇“Library Files”下拉式選單,增加“sapi.lib”的文件路徑;

      三、創(chuàng)建“Speak”菜單命令

      1、修改自動生成的菜單項。打開“資源管理器”→“File”菜單→增加“Speak”命令項→資源ID設(shè)置為“IDM_SPEAK”。

      四、實現(xiàn)speak功能 第1步:初始化COM 第2步:創(chuàng)建語音對象設(shè)置聲音 第3步:調(diào)用speak函數(shù) 第4步:設(shè)置感興趣的事件 第5步:確定事件類型 第6步:響應(yīng)事件

      1、初始化COM if(FAILED(CoInitialize(NULL)))

      {

      return FALSE;

      }

      2、創(chuàng)建語音對象設(shè)置聲音

      一旦com運行后,下一步就是要創(chuàng)建語音對象。這里需要用到CoCreatInstance().為簡潔和方便起見,這個例子使用了特別的處理方式。首先,它使用initinstance()來初始化聲音。這是最簡單的初始化過程。第二,這個語音對象是全局性的。第三,語音對象建立之后,對象本省和用到的內(nèi)存立即被釋放。最后,如果初始化失敗,應(yīng)用程序應(yīng)該有更強有力的檢查錯誤機,更廣泛的報告和更詳細的資料。

      程序清單2:

      ISpVoice *pVoice;//SAPI voice(初始化模塊)……

      BOOL InitInstance(HINSTANCE hInstance, int nCmdShow){。。。

      // Instead of using IDC_TEST, use the identifier of menu resource of the current application.SetMenu(hWnd, LoadMenu(hInstance, MAKEINTRESOURCE(IDC_TEST)));ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);//Initialize SAPI

      HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice,(void **)&pVoice);

      if(SUCCEEDED(hr))

      {

      pVoice->SetInterest(SPFEI(SPEI_WORD_BOUNDARY),SPFEI(SPEI_WORD_BOUNDARY));

      pVoice->SetNotifyWindowMessage(hWnd, WM_USER, 0, 0);

      }

      else

      return FALSE;

      3、調(diào)用Speak函數(shù)實現(xiàn)“講話”的功能

      要讓計算機講話只需一句簡單的調(diào)用命令,要講話的內(nèi)容用一個參數(shù)傳給語音對象,常是從一個對話框或一個文件獲取字符串的。另外,字符串也可以從一個流中獲取,但就要使用另外一個調(diào)用 ispvoice:: speakstream。Speak函數(shù)的調(diào)用代碼是放在windows的消息處理函數(shù)wndproc()相應(yīng)的消息處理中的。從文件菜單選擇Speak命令,計算機將開始講: “我很高興發(fā)言?!? 程序代碼3: // FUNCTION: WndProc(HWND, unsigned, WORD, LONG)。。。

      LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){

      。。。WCHAR tempString[30]。。。

      switch(wmId){。。。case IDM_SPEAK:

      wcscpy(theString, L“I am glad to speak.”);

      pVoice->Speak(theString, SPF_ASYNC, NULL);

      pVoice->Speak(L“I am glad to speak”, SPF_ASYNC, NULL);

      break;

      default:

      return DefWindowProc(hWnd, message, wParam, lParam);}

      4、設(shè)置事件

      像其它大部分windows應(yīng)用程序一樣,在COM組件中有很多交互動作,這些交互信息將以信息形式出現(xiàn)。sapi是也一樣。信息是在TTS或SR引擎中產(chǎn)生的,某個特定的事件也是在那里開始和結(jié)束的.很多時候, sapi或sapi的引擎產(chǎn)生的事件是對應(yīng)用程序有用的。舉例來說,當一個識別過程開始的時候,應(yīng)用程序會得到相應(yīng)的通知或消息,最終的用戶也可以得到相應(yīng)的通知。

      (1)首先,需要接收一個來自sapi的或sapi的引擎的消息。這個消息是程序自定義的.但是,所有的活動sapi都使用相同的消息通知應(yīng)用程序;

      (2)得到通知后,應(yīng)用程序要檢查一個事件結(jié)構(gòu),這個事件結(jié)構(gòu)是由SAPI完成的.利用這個結(jié)構(gòu)來確定具體是發(fā)生了什么事件(見第五步驟).(3)設(shè)定感興趣的事件。程序可以用setinterest 來設(shè)置感興趣的事件。默認情況下,TTS不向程序發(fā)出任何事件通知。也就是說,如果程序忽略了setinterest的調(diào)用,TTS應(yīng)用程序是得不到任何事件通知的。

      (4)設(shè)定消息。不論以何種事件,應(yīng)用程序都應(yīng)該將一個消息與sapi聯(lián)系起來。程序通過調(diào)用setnotifywindowmessage來完成這個任務(wù),本例使用WM_USER消息。

      程序清單4:

      //Initialize SAPI HRESULT hr = CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice,(void **)&pVoice);if(SUCCEEDED(hr)){

      pVoice->SetInterest(SPFEI(SPEI_WORD_BOUNDARY),SPFEI(SPEI_WORD_BOUNDARY));

      pVoice->SetNotifyWindowMessage(hWnd, WM_USER, 0, 0);

      } else return FALSE;

      5、確定事件。使用事件來工作需要2個步驟。

      (1)首先是使用一個簡單和標準的做法設(shè)置和使用Windows消息。消息是被發(fā)送到程序的消息環(huán)中的。在這個例子里,wndproc()接收wm_user訊息。一旦訊息是捕獲,其余事情由sapi函數(shù)來完成。

      (2)第二個步驟是確定哪些消息發(fā)生了。Sapi使用 spevent和getevents方法來確定具體的事件和消息。通過這兩個函數(shù)可以獲取指定的事件信息和事件類型。在SPEVENT的成員eeventid恰恰是setinterest所設(shè)定的值。該spevent結(jié)構(gòu)必須在首次使用時被初始化。而且重新使用之前也要被清除??梢允褂胹pclearevent來完成清除工作。

      程序清單5:

      switch(message)

      {

      case WM_COMMAND:

      wmId

      = LOWORD(wParam);

      wmEvent = HIWORD(wParam);

      。。。

      case WM_USER: //處理speak命令的窗口

      SPEVENT eventItem;

      memset(&eventItem, 0,sizeof(SPEVENT));

      while(pVoice->GetEvents(1, &eventItem, NULL)== S_OK)

      {

      switch(eventItem.eEventId)

      {

      case SPEI_WORD_BOUNDARY :

      SPVOICESTATUS eventStatus;

      pVoice->GetStatus(&eventStatus, NULL);

      ULONG start, end;

      start = eventStatus.ulInputWordPos;

      end = eventStatus.ulInputWordLen;

      wcsncpy(tempString, theString + start , end);

      tempString[ end ] = '/0';

      //MessageBoxW(hWnd, tempString, L“GUIApp”, MB_OK|MB_ICONWARNING);

      MessageBoxW(hWnd, tempString, L“SayApp”, MB_OK|MB_ICONWARNING);

      break;

      default:

      break;

      }

      SpClearEvent(&eventItem);

      }

      break。。。case WM_DESTROY:

      if(pVoice)

      {

      pVoice->Release();

      pVoice = NULL;

      }

      PostQuitMessage(0);

      break;

      default:

      return DefWindowProc(hWnd, message, wParam, lParam);

      }

      6、響應(yīng)事件。在這個例子中,應(yīng)用程序使用spei_word_boundary消息來取定每一個單詞。可以用getstatus函數(shù)和spvoicestatus結(jié)構(gòu)來獲取更詳細的信息。一個獨立的單詞,可以用事件發(fā)生時的第一個字母和最后一個字母的位置來確定。在這個例子中,使用MessageBoxW來顯示所講的單詞。在說話過程中,屏幕是實時更新的,并顯示實際發(fā)言的文字。這個特點是由spf_async標志控制的。如果在Speak函數(shù)中使用NULL參數(shù),而不是SPF_ASYNC參數(shù),那樣就要等整句話說完之后,才顯示消息框。pVoice->Speak(theString, SPF_ASYNC, NULL);

      //釋放語音對象

      程序代碼6:

      case SPEI_WORD_BOUNDARY : SPVOICESTATUS eventStatus;

      pVoice->GetStatus(&eventStatus, NULL);

      ULONG start, end;

      start = eventStatus.ulInputWordPos;

      end = eventStatus.ulInputWordLen;

      wcsncpy(tempString, theString + start , end);

      tempString[ end ] = '/0';MessageBoxW(hWnd, tempString, L“GUIApp”, MB_OK|MB_ICONWARNING);break;總結(jié):

      最后,總結(jié)一下這個例子的主要知識點: 1,初始化COM: CoInitialize和CoUninitialize 2,建立語音對象實例:CoCreateInstance 3,講話:Speak 4,設(shè)置感興趣的事件:SetInterest

      設(shè)定SAPI返回的消息 :setnotifywindowmessage 5,消息來時,確定事件類型:GetEvents 清除事件結(jié)構(gòu):SpClearEvent 6,響應(yīng)事件時,用GetStatus確定當前SAPI的狀態(tài)

      第三篇:實驗二語音信號分析與處理2010

      實驗一語音信號分析與處理

      學號姓名注:1)此次實驗作為《數(shù)字信號處理》課程實驗成績的重要依據(jù),請同學們認真、獨立完成,不得抄襲。

      2)請在授課教師規(guī)定的時間內(nèi)完成;

      3)完成作業(yè)后,請以word格式保存,文件名為:學號+姓名

      4)請通讀全文,依據(jù)第2及第3 兩部分內(nèi)容,認真填寫第4部分所需的實驗數(shù)據(jù),并給出程序內(nèi)容。

      1.實驗?zāi)康?1)學會MATLAB的使用,掌握MATLAB的程序設(shè)計方法

      (2)掌握在windows環(huán)境下語音信號采集的方法

      (3)掌握MATLAB設(shè)計FIR和IIR濾波器的方法及應(yīng)用

      (4)學會用MATLAB對語音信號的分析與處理方法

      2.實驗內(nèi)容

      錄制一段自己的語音信號,對錄制的語音信號進行采樣,畫出采樣后語音信號的時域波形和頻譜圖,確定語音信號的頻帶范圍;使用MATLAB產(chǎn)生白噪聲信號模擬語音信號在處理過程中的加性噪聲并與語音信號進行疊加,畫出受污染語音信號的時域波形和頻譜圖;采用雙線性法設(shè)計出IIR濾波器和窗函數(shù)法設(shè)計出FIR濾波器,畫出濾波器的頻響特性圖;用自己設(shè)計的這兩種濾波器分別對受污染的語音信號進行濾波,畫出濾波后語音信號的時域波形和頻譜圖;對濾波前后的語音信號進行時域波形和頻譜圖的對比,分析信號的變化;回放語音信號,感覺與原始語音的不同。

      3.實驗步驟

      1)語音信號的采集與回放

      利用windous下的錄音機或其他軟件錄制一段自己的語音(規(guī)定:語音內(nèi)容為自己的名字,以wav格式保存,如wql.wav),時間控制再2秒之內(nèi),利用MATLAB提供的函數(shù)wavread對語音信號進行采樣,提供sound函數(shù)對語音信號進行回放。

      [y,fs,nbits]=wavread(file),采樣值放在向量y中,fs表示采樣頻率nbits表示采樣位數(shù)。Wavread的更多用法請使用help命令自行查詢。

      2)語音信號的頻譜分析

      利用fft函數(shù)對信號進行頻譜分析

      3)受白噪聲干擾的語音信號的產(chǎn)生與頻譜分析

      ①白噪聲的產(chǎn)生:

      N1=sqrt(方差值)×randn(語音數(shù)據(jù)長度,2)(其中2表示2列,是由于雙聲道的原因)然后根據(jù)語音信號的頻譜范圍讓白噪聲信號通過一個帶通濾波器得到一個帶限的白噪聲信號N2;

      帶通濾波器的沖激響應(yīng)為:

      hB(n)=?c2

      ?sinc(?c2

      ?(n??))??c1

      ?sinc(?c1

      ?(n??))其中ωc1為通帶濾波器的下截止頻率,ωc2為通帶濾波器的上截止頻率。其中下截止頻率由每個人的語音信號的最高頻率確定 濾波器的長度N由濾波器的過渡帶確定,一般不宜太?。ù笥?000),α=(N-1)/2; ②信號y通過低通濾波器,得到信號為x1

      低通濾波器的沖激響應(yīng)為:

      hL(n)??c1?sinc(?c1

      ?(n??))其中的ωc1與上面的帶通濾波器的下截止頻率一致,濾波器的長度N也于上面的帶通濾波器一致,α=(N-1)/2

      ③將N1加上x1得到一個受到噪聲污染的聲音信號

      4)據(jù)語音信號的頻帶情況,設(shè)計FIR和IIR兩種濾波器

      5)用濾波器對受污染語音信號進行濾波

      FIR濾波器fftfilt函數(shù)對信號進行濾波,IIR濾波器用filter函數(shù)對信號進行濾波

      6)比較濾波前后信號的波形與頻譜

      7)回放濾波后的語音信號

      4.實驗數(shù)據(jù)及實驗程序

      實驗數(shù)據(jù)

      1)原始語音信號的時域波形和頻譜圖及語音信號的頻帶范圍

      2)帶限白噪聲信號的時域波形和幅頻特性

      3)受污染語音信號的時域波形和幅頻譜圖

      4)濾波器的頻響特性圖

      FIR濾波器的幅頻響特性圖

      IIR濾波器的幅頻響特性圖

      5)濾波后語音信號的時域波形和頻譜圖

      6)濾波前后的語音信號時域波形對比圖和幅頻譜對比圖

      7)將實驗的資料的電子文檔交給班長(建立一個文件夾,里面包括:①實驗報告的電子版;②采集的語音信號電子文件;③受污染的語音信號及濾波后的語音信號存在文件名為“姓名+學號.mat”文件的文件中)

      實驗程序:

      1)實驗主程序

      2)FIR濾波器子程序

      3)IIR濾波器子程序

      第四篇:交互設(shè)計心得整理

      交互設(shè)計心得整理

      長期以來我就有對幾年來交互設(shè)計的心得進行總結(jié)整理的想法?;氐街袊鴣碛H身體會到不少同行,主要是交互設(shè)計師和視覺設(shè)計師對于交互設(shè)計的困惑,以及其他行業(yè)對于交互設(shè)計的誤解和濫用。后來我在小范圍內(nèi)開設(shè)了一個關(guān)于交互設(shè)計的講座;現(xiàn)在把它整理成文,希望與同行切磋,共同進步。

      這篇文章是我?guī)啄陙碓诿绹鴱氖陆换ピO(shè)計工作的一個經(jīng)驗總結(jié)。當時我們遵循以用戶為中心(User-Centered-Design, 簡稱UCD)的設(shè)計原則,每一個項目都是不折不扣的按所有UCD的步驟進行。下面總結(jié)的交互設(shè)計的方法,是從UCD的過程中提煉出來,也就是說,同樣適用于任何非UCD的設(shè)計過程。交互設(shè)計的流程

      如果一提到交互設(shè)計,你就想到畫線框圖或原型圖,那你只對了五分之一。交互設(shè)計是一個過程,從開始到結(jié)束有一套系統(tǒng)的流程。原型圖只是其中的一個環(huán)節(jié)。

      當接到一個設(shè)計項目,怎么開始?都應(yīng)該做哪些工作?怎樣盡可能的保證交付物滿足既定的功能以及用戶體驗層面的易用性?

      第一步,是任務(wù)分析,列出界面所要完成的所有任務(wù)。第二步按各任務(wù)確定頁面流程,建立信息架構(gòu)。接下來是創(chuàng)建統(tǒng)一的頁面布局包括分區(qū)等。然后在頁面布局的基礎(chǔ)上進行原型設(shè)計,可以是低保真和高保真的原型圖。最后編寫設(shè)計說明。下面以設(shè)計一款動感相冊界面為例,逐步講解各個環(huán)節(jié)。1.任務(wù)分析

      第一步任務(wù)分析。這里要做的是對于將要設(shè)計的這個新界面的所有任務(wù)的分析,也就是用戶在界面上能進行的所有操作。這個分析在功能需求的基礎(chǔ)上進行,需求方一般提供一個功能點的列表。

      任務(wù)分析最常見的是任務(wù)列表,另外有任務(wù)流程和任務(wù)場景等。下面以任務(wù)列表為例。列出所有主要任務(wù),以及每個主要任務(wù)的子任務(wù)。再把子任務(wù)細分到各個步驟。形成下面這個列表。主要任務(wù)1 子任務(wù)1 步驟1 步驟2 子任務(wù)2 步驟1 步驟2 主要任務(wù)2 …

      以動感相冊為例,任務(wù)分析列表如下:

      1.瀏覽相冊 1)瀏覽相冊列表 2)選擇相冊 3)瀏覽照片 2.創(chuàng)建新相冊 1)添加照片 a)選擇已有相冊 b)選擇照片 c)排列順序 d)添加字幕文字 e)選擇動畫效果 2)添加模板 a)瀏覽模板 b)選擇模板 3)添加音樂 a)瀏覽音樂列表 I.試聽音樂 II.選擇音樂 b)增加新音樂 I.打開本地文件 II.選擇音樂 4)預(yù)覽(略)… 5)命名(略)… 6)保存(略)… 3.修改相冊(略)…

      任務(wù)列表包括所有功能點,并對每一個功能點的邏輯關(guān)系進行整合。必要時會對各任務(wù)的使用頻率和其它影響設(shè)計的重要因素進行分析,這里不做解釋了。2.頁面流程

      任務(wù)分析完成后,進入設(shè)計的第一步,即設(shè)計頁面流程。頁面流程是設(shè)計的開始,也是重要的一環(huán)。它決定整個界面的信息架構(gòu)和操作邏輯。頁面流程是上一步任務(wù)分析的自然轉(zhuǎn)化。一般來說,一個主要任務(wù)就是一個頁面,其它子任務(wù)也可以轉(zhuǎn)化為頁面。

      以動感相冊為例,頁面流程如下:

      頁面幾乎是把任務(wù)分析照搬過來了。所以上一步做好了,這一步很輕松,而且越往后越輕松。注意這個流程圖應(yīng)該包括所有將要設(shè)計的新頁面,一個不少,一個不多。它不僅確定頁面內(nèi)容,頁面數(shù)量,還確定各頁面之間的關(guān)系。如果在后來設(shè)計具體頁面原型時,發(fā)現(xiàn)這個流程圖多了或少了頁面,或者頁面關(guān)系發(fā)生了變化,說明你的功夫不到家(這個比較難,我一般不苛求我們的設(shè)計師)。根據(jù)原型圖來創(chuàng)建或者修改頁面流程圖,不是在做設(shè)計,而是在寫設(shè)計說明。3.頁面布局

      第三步頁面布局是具體頁面設(shè)計的開始,在上一步知道有哪些頁面需要進行設(shè)計后,這里對頁面進行劃分,對內(nèi)容進行組織。最重要的一點是確定頁面分區(qū)。以動感相冊為例,頁面布局如下: 總布局,即通用布局,適合所有頁面。

      具體頁面布局,在不與總布局沖突的情況下,有更細節(jié)的布局。

      頁面布局賦予零碎的內(nèi)容以邏輯性,以分區(qū)的形式把頁面各區(qū)域所對應(yīng)的功能區(qū)確定下來,減少具體設(shè)計時的隨意性。這是設(shè)計嚴謹與否的表現(xiàn)所在。把類似的操作放在一起,對于用戶來說是可以預(yù)見的,用戶能夠判斷哪個操作在哪個區(qū)域,減少盲目尋找?guī)淼睦щy和疑惑。4.原型設(shè)計 這一步是大家熟知的,即具體頁面的設(shè)計。這一步設(shè)計把所有的界面元素表現(xiàn)出來??梢杂械捅U婧透弑U嬖蛨D。低保真即是線框圖,高保真多是接近最終效果圖。下面是動感相冊的低保真原型圖。

      5.設(shè)計說明

      最后一步需要做的是對所有頁面進行詳細的描述,包括對頁面上所有元素進行說明,比如默認狀態(tài),跳轉(zhuǎn)頁面,字號字體,尺寸等。這里就不解釋了。這是交給開發(fā)人員的文檔,以及測試人員進行測試的依據(jù)。小結(jié)

      交互設(shè)計是一個過程,它不僅僅是畫線框圖。交互設(shè)計最關(guān)鍵的兩個環(huán)節(jié)是頁面流程和頁面布局,前者建立清晰的架構(gòu)和嚴密的邏輯,后者整合零散的信息并確定分明的主次關(guān)系。這一切都是為了我們的終極目標——讓我們的界面符合用戶的預(yù)期,不帶給他們?nèi)魏蔚囊馔?。一切都在用戶的意料之中?/p>

      第五篇:交互設(shè)計檔案

      交互設(shè)計師的基本素質(zhì)

      首先,談?wù)勎覀€人對交互設(shè)計師基本素質(zhì)的看法。從我個人的理解來看,可以簡單歸納為九字訣:“聽、看、想、說、磨、做、驗、寫、講”(如圖1.1)。

      圖1.1 1)聽:做一個交互設(shè)計師,最重要的一點就是要懂得傾聽(這里蘊藏了一個隱晦的性格屬性:謙虛?。?。通常情況下,我們不是用戶,所以很難 100%代表用戶,更左右不了老板,所以我們首先要有聽的本事,把來自用戶的、老板的、PD的、視覺的、前端的、開發(fā)的、測試的、市場的、業(yè)界的等各方面的聲音都聽過來,聽進去。

      2)看:99%的情況下,交互不是一蹴而就的創(chuàng)造工作,它是站在前人肩膀上不斷迭代更新的行為過程。我這里指的“看”是要求設(shè)計師能博覽、能泛獵,看到好的,見過差的,什么都略懂,交互才能變得很美??

      3)想:交互是思考的輸出產(chǎn)物和表現(xiàn)形式。當設(shè)計師將之前聽到的和看到的內(nèi)容在頭腦中加以整理、分析,經(jīng)過發(fā)散的創(chuàng)造性碰撞和嚴謹?shù)倪壿嬚撟C后,逐漸得到了相對靠譜的交互產(chǎn)物。這個思索分析的過程貫穿于交互設(shè)計工作流程的每個環(huán)節(jié)。

      4)說:一個能說會道的人不一定是一個優(yōu)秀的交互設(shè)計師,但一個優(yōu)秀的交互設(shè)計師必然是一個善于準確表達自己想法和觀點的人。在這一點上,我堅持交互是一門分享的學科,需要的是開放的性格和良好的溝通技巧。

      5)磨:耐心、技巧、熱情的綜合表現(xiàn)。在一個項目的進程中,不可避免的會面臨很多的挑戰(zhàn),優(yōu)秀的交互設(shè)計師善于發(fā)揮“磨”的精神,他們懷揣對交互專業(yè)的無比熱情,以無所不用其極的技巧,耐心的纏死一個又一個質(zhì)疑方,最終讓大家認同并幫助推動設(shè)計的實現(xiàn)。通常來說,一個優(yōu)秀的交互設(shè)計師會是一個優(yōu)秀的Idea推銷員。

      6)做:交互設(shè)計師專業(yè)度的核心表現(xiàn)。俗語說得好,是騾子是馬,牽出來遛遛。對于交互設(shè)計師來說,之前的環(huán)節(jié)做得再好、再完美,也只是停留在設(shè)計師自己的腦子里,游蕩于聽眾們的耳膜間。如果理論落實不到實際,那所有的想法都只是空中樓閣,你之前所有的努力都只是在佐證你的空泛和不切實際。所以我們不僅要能 “做”,更要“做”得漂亮,“做”得完美!我一直都是這樣認為:“做”決定了一個交互設(shè)計師是不是靠譜,決定了一個交互設(shè)計師的高度,是一個交互設(shè)計師最根本的專業(yè)素質(zhì)。

      7)驗:用戶體驗設(shè)計,最終是要落實到用戶的身上的??陀^中立的驗證、分析、評估能力是一個優(yōu)秀交互設(shè)計師的重要素質(zhì)。無論個人還是團隊,設(shè)計的成果都需要通過精準的測試才能算得上合乎標準,此時,一顆平常心和一雙敏銳的眼睛是設(shè)計師最需要的。

      8)寫:分析、歸納和總結(jié)能力的綜合表現(xiàn)。一個項目,無論成功還是失敗,總是有很多地方值得設(shè)計師本人或后來人借鑒。交互設(shè)計之路不是一座苛求零失誤的獨木橋,但絕對是一條要求零“重復(fù)”失誤的單行線。評價一個設(shè)計師的專業(yè)度,很重要的一環(huán)就是看他能不能多犯前人從來沒有犯過的錯誤,并能有效總結(jié)給后來人。于是,他就成了大家,路就這樣被趟了出來??

      9)講:演講能力。這里所指的是在項目后期進行的交流分享。一個專業(yè)的交互設(shè)計師會站在宏觀的高度上,以平和的心態(tài)同他人溝通,驗證自己先前設(shè)計的合理性、全面性和科學性,更好的提高自己的專業(yè)能力,為今后的交互設(shè)計做好準備。

      ·交互專業(yè)度的具象化表現(xiàn)

      剛才講了很多,但總體來說還是偏理論,還是讓人摸不著頭腦,虛幻的概念最大的優(yōu)勢在于它的顛簸不破和四平八穩(wěn),誰也揪不住它的小辮子。但這不是我的風格,更不是我寫這篇文章的初衷,我希望的是拋磚引玉,給大家?guī)硪恍┱嬲饬x上能直接使用的東西。所以,接下來,我們來些“干貨”,玩點簡單粗暴的??

      圖1.2

      根據(jù)阿里巴巴目前的產(chǎn)品開發(fā)流程(如圖1.2),交互設(shè)計是大環(huán)節(jié)中的一個小點,拋開雜亂的干擾信息,單純考量交互設(shè)計師在過程中的參與度,我們就能得到一個理想化的交互設(shè)計行為流(如圖1.3):

      圖1.3 流程沒什么好講的,更沒什么好爭辯的,無非也就是增加一個、減少一個、偷換概念、細分歸納之類的忽悠。我這里想和大家分享的是流程中每個環(huán)節(jié)的專業(yè)輸出物,我有一個激進的想法:如果某人能精準的完成某些公認的標準化輸出物,那他99%可以被稱為是一個“專業(yè)”的75分交互設(shè)計師了,剩下的 1%,也許是拼RP??

      這里,我先簡單交代一下即將涉及到的流程節(jié)點、對應(yīng)輸出物的圖形色塊的代表含義。

      1)流程環(huán)節(jié)說明(如圖1.4):

      圖1.4 2)流程環(huán)節(jié)各輸出物說明(如圖1.5):

      圖1.5 在我看來,一個專業(yè)的交互設(shè)計師,在一個理想化產(chǎn)品設(shè)計的過程中,有一些是屬于必須的輸出物,有一些屬于最好有(推薦)的輸出物,還有一些屬于可有可無的輸出物。同時,根據(jù)項目的實際情況和參與角色的分工情況,存在一些交互設(shè)計師可能需要負責的輸出物,具體細節(jié)我將在下面逐一介紹。1)需求獲取階段:

      此階段通常來說會由PD等外部資源發(fā)起,輸出物主要是FRD文檔和時間計劃文檔,用以描述問題、提出初步目標,假想可能的解決方案、預(yù)估資源并梳理時間計劃等。當然,對于從UED內(nèi)部發(fā)起的項目,這兩部分的輸出也可以由交互設(shè)計師完成,屬于可能責任輸出物; 2)需求分析階段:

      歷史數(shù)據(jù)的關(guān)注和分析階段,基于項目本身,要針對競爭對手、行業(yè)現(xiàn)狀等做詳盡的收集和分析,其中的關(guān)鍵考核點是要做必要的頭腦風暴,獲取發(fā)散而全面的信息集合。在此階段,競爭分析報告和頭腦風暴輸出物是交互設(shè)計師專業(yè)度的重要表現(xiàn)。

      3)用戶訪談階段:

      對于一些條件允許的項目,我們建議能在項目初期尋求一些用戶的信息,定義一些用戶的屬性,這些對于之后的交互設(shè)計都會是堅實的基礎(chǔ)。一個高專業(yè)度的交互設(shè)計師甚至會主動介入訪談問卷的設(shè)定工作,客觀的參與調(diào)研報告輸出的全過程。

      4)需求修正階段:

      專業(yè)的交互設(shè)計師通常不甘于淪為一個純粹的資源,抗拒被動的接受命令。我們之前經(jīng)歷的需求分析和用戶訪談都是為掌控主動權(quán)而做的準備。如今,我們有理有據(jù),應(yīng)該主動出擊,和需求方討論研究需求的合理性、可行性,明確最終的修正目標,并對達成目標所涉及的重點突破點有理性的分析判斷,篩選出各設(shè)計點的優(yōu)先級。5)設(shè)計草稿階段

      項目目標和設(shè)計方向確定下來后,我們將進入核心的設(shè)計環(huán)節(jié)。作為交互設(shè)計師的“殺手锏”,交互流程和線框草圖當然一個都不能少,但此時我更想強調(diào)一項輔助性質(zhì)的調(diào)研分析工作。從交互的角度來看,在大流程大框架敲定的情況下,交互設(shè)計師通常會投入更多的精力在一些核心的設(shè)計點,也就是我們在需求修正階段確認的設(shè)計重點。此時,專業(yè)的設(shè)計師絕對不會拍腦袋設(shè)計,更不會想當然出方案,而是會針對這些核心點做業(yè)界調(diào)研和分析,為自己即將進行的設(shè)計尋求一個足夠?qū)拸V厚實的肩膀。6)設(shè)計細化階段

      第一階段的設(shè)計工作將在此階段性輸出。我們回顧一下,截止此時的設(shè)計產(chǎn)物有:用戶調(diào)研報告、FRD確認文檔、交互流程、線框草圖、核心設(shè)計調(diào)研分析、核心設(shè)計詳細說明、交互流程整體說明等?;旧?,一個交互設(shè)計師的專業(yè)度,已經(jīng)可以根據(jù)此時的輸出物數(shù)量、質(zhì)量看出個大概齊了 7)專家評審階段

      一個專業(yè)的交互設(shè)計師,要謙虛。此刻,我們進入小范圍專家評審的階段了,三個臭皮匠還頂一個諸葛亮呢,更何況是參與評審的專家呢。此時設(shè)計師的專業(yè)度就體現(xiàn)在 “聽”、“說”和“想”這三訣上,耐心的做好評審記錄,有理有據(jù)的同專家們進行專業(yè)溝通,并確認最終的結(jié)論和方向。8)設(shè)計優(yōu)化階段

      經(jīng)歷了專家團的考驗,又該抖擻精神重新上路了,沒什么好說的,把過程做好了,你的專業(yè)度也就到位了。設(shè)計優(yōu)化階段的投入度和產(chǎn)出將直接影響到后續(xù)Demo及測試的效果,和最終設(shè)計也息息相關(guān),各位交互設(shè)計師們,千萬別打瞌睡了!

      9)仿真Demo開發(fā)階段

      終于到了仿真Demo的模型化階段啦,這時盡管并沒有直接的交互輸出物,但還是需要交互設(shè)計師用百分百的挑刺精神,協(xié)助視覺和前端精準的達成我們之前的設(shè)計,嚴格保證最佳的輸出效果。10)測試驗證階段

      仿真Demo出來之后,將進入最后的測試驗證階段,根據(jù)項目的實際情況,可能是QA測試,也可能是用戶測試,總之,這個環(huán)節(jié)能幫助設(shè)計師最后把關(guān)設(shè)計的合理性,專業(yè)如你,一定要親自跟進測試并給出最終的評估報告,哪些點是前期沒有考慮周全的?那些點是成功的?哪些點是必須立即改進的?哪些點能以后再說?哪些?? 11)完成設(shè)計階段

      最后的設(shè)計階段,根據(jù)之前的測試驗證評估報告,交互設(shè)計師要對所有之前的輸出做一次嚴格的檢查和修正,完成最后的輸出。

      12)開發(fā)上線階段

      盯緊視覺設(shè)計師和前端工程師吧,最關(guān)鍵的時候終于到了,經(jīng)歷了那么多紛繁復(fù)雜的環(huán)節(jié),我們等的就是上線的這一瞬間。當然,千萬別忘了后續(xù)的跟蹤和分析,這能為你的專業(yè)度加分不少哦 ·總結(jié)和展望

      綜上所述,我們已經(jīng)整理出來了體現(xiàn)交互設(shè)計師專業(yè)度的過程輸出物了,總結(jié)一下:以75分交互設(shè)計師的標準來看,我們的專業(yè)度能通過以下的關(guān)鍵輸出物衡量:FRD目標確認文檔、競爭分析報告、頭腦風暴產(chǎn)出物、項目初期用戶調(diào)研報告、核心設(shè)計點調(diào)研及分析報告、專家評審報告和評估報告、原型測試報告、交互流程圖及詳細說明文檔、頁面線框圖、核心設(shè)計點說明文檔和最后的跟蹤分析報告。

      基本上,所有的輸出物都是反復(fù)易稿的結(jié)果,都是細碎過程的迭代輸出,都飽含了設(shè)計師辛勤的工作投入。所有有夢想的交互設(shè)計師們,請正確的審視這些輸出物,珍惜自己的付出,它們不光是單板的形式教條,它們更是證明自己專業(yè)度最有利的武器!

      被很多同學都質(zhì)疑過:那么多的輸出物,平時做需求怎么可能全部做出來?每當此時,我的回答都是一樣的:“是的,找借口總是很容易的。大家的確都很忙碌,按季度來說,基本上每個人都會經(jīng)手大大小小幾十個需求,但我們真的忙碌到輸出一個高質(zhì)量設(shè)計的精力都沒有了嗎?還是我們打心里就本著做交互、混日子的想法呢?”

      不是不能,是不愿!那才是交互設(shè)計這個職業(yè)最可悲之處??

      作者信息:本文http://

      下載實驗二 語音交互設(shè)計-TTS(匯編)word格式文檔
      下載實驗二 語音交互設(shè)計-TTS(匯編).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        數(shù)字交互設(shè)計

        《數(shù)字交互設(shè)計》教學大綱 課程名稱:數(shù)字交互設(shè)計 課程類型:專業(yè)方向課 課程編號:134081 學時數(shù)及學分:總32學時,2學分,其中講課8學時,上機24學時。 教材名稱及作者、出版社、出版......

        交互設(shè)計實習報告

        實習報告: 一、實習說明 實習時間:2010年10月20日至2011年1月5日 實習內(nèi)容:關(guān)于手機微波客戶端的交互分析 實習性質(zhì):畢業(yè)實習二、實習內(nèi)容介紹微博,即微博客(MicroBlog)的......

        基于交互白板的數(shù)學實驗教學策略初探

        基于交互白板的數(shù)學實驗學習策略初探 The Exploration of Math Experiment Learning Strategy Based on Interactive Whiteboard 牟 林 Lin Mu 四川成都華西中學Chengdu Hua......

        語音教學設(shè)計[本站推薦]

        背景: 上海出版社牛津英語3A開始時就有了語音教學,從開始學習字母時,學生就學習了26個字母及以該字母為首的單詞的發(fā)音,初步對語音有所了解,我發(fā)現(xiàn)學生讀單詞的能力較以前......

        實驗二 城市小游園設(shè)計

        實驗二城市小游園設(shè)計 一、 試驗?zāi)康?了解城市景觀構(gòu)成要素,根據(jù)城市游園的性質(zhì),劃分其功能和空間,滿足美化、豐富街景,提供人們休憩、觀賞、娛樂等功能要求。進一步掌握設(shè)計圖......

        實驗二 綜合布線設(shè)計實驗

        實驗二:綜合布線設(shè)計實驗 一、實驗?zāi)康?1、 掌握用VISIO學習繪制網(wǎng)絡(luò)拓樸結(jié)構(gòu)圖。 2、 掌握用VISIO學習繪制綜合布線方案設(shè)計圖。 3、 通過實驗更好的理解網(wǎng)絡(luò)拓樸結(jié)構(gòu)的原理......

        單片機實驗二電子鐘設(shè)計

        單片機實驗二:電子鐘設(shè)計 1、基礎(chǔ)部分:電子鐘能夠直觀、人性化顯示:時間、日期、星期,能夠按鍵校時, 用獨立的LED燈做流水燈裝飾。 2、提升部分:①帶有鬧鐘功能,能夠根據(jù)需要定時,②......

        實驗二

        實驗二 總賬管理系統(tǒng)初始設(shè)置 【實驗?zāi)康摹?1.掌握用友ERP-U8管理軟件中總賬管理系統(tǒng)初始設(shè)置的相關(guān)內(nèi)容。 2.理解總賬管理系統(tǒng)初始設(shè)置的意義。 3.掌握總賬管理系統(tǒng)初始設(shè)置......