發表文章

目前顯示的是 2013的文章

使用Google Speech Recognition做語音辨識 - Python

Google的語音辨識能力很好,在Google的首頁就可以體驗到,雖然無法100%的神準,但是也夠用了。如果我們想要讓我們的程式具有語音辨識的能力,使用Google的語音辨識至少比我們自己手動寫出一套語音辨識系統強上太多了!

  因為我想快速的利用Python進行設計,查找之下發現已經有現成的套件可以使用,就是python的pygsr套件來作,已經都定義好的物件,直接呼叫使用。pygsr的source可以從下面網址下載,可以抓下來自行安裝,如果不想這麼麻煩可以直接用python的pip指令新增套件。以下教學是使用pip的方式,如果想認識pygsr的內容,可以抓source檔案下來研究。

使用Google Text To Speech發聲 - Python

Google翻譯應該大家都用過,除了可以翻譯之外,還具有把文字轉為聲音的功能,就是所謂的TTS(Text To Speech)。這次我透過Python將這項功能變成可程式化,讓我們可以結合這項功能做到更強的應用。

這裡的操作環境是在Ubuntu作業系統,因為Python已經預先安裝了,這樣就可以不用管Python的問題,在終端機環境直接可以執行Python程式。

C++程式筆記-靜態成員未宣告導致編譯錯誤

這是一個在寫程式時遇到的小Bug,是關於Visual C++的類別(class)使用靜態成員(static)時在編譯上產生錯誤的問題。下面為專案建置後,系統所發出的錯誤內容:

Motion.obj : error LNK2001: 無法解析的外部符號 "public: static double Motion::Wt" (?Wt@Motion@@2NA)

經過一番的查找與調查,終於發現是我沒有將類別中的靜態變數初始化的緣故。在.h檔已將static變數宣告在class下,所以在.c檔案中補上初始化的部分問題就解決了。
double Motion::Wt =  0.0 ;


類別靜態成員的生命週期就等同於全域變數,即使物件沒有被宣告也可以直接使用,因此,靜態函數只能夠調用同類別中的靜態成員跟全域變數。靜態變數除了要宣告之外,還要記得初始化!


當初會使用到靜態函數是基於使用Thread功能,希望函數能夠包含在類別中,在程式碼管理時能夠對不同功能的程式碼一目了然。也就是因為寫靜態成員的關係,才會有這許多問題出現。

[開箱]輕便相機 SONY Cyber-shot W710 開箱

圖片
這次非常開心的買了這台小小的數位相機SONY W710,功能陽春被定位成入門款,功能當然比不上類單或單眼,但我看上的是他好帶好拿的體積,而且還具有5倍光學變焦,可以拉近拉遠。因為是入門款的關係,其實價格也不會太高,三千內就可以買到了。
      外盒看起來很大,其實裡面裝了兩個小盒子,一個是相機本身的盒子,另一個是電池組配件。據說電池組的市售價格要一千七百多元(其實我覺得成本應該沒這麼高),所以買到等於賺到,而且可以帶兩顆電池出門,這樣拍再多都不用怕了。

Lubuntu讓老朋友再度生龍活虎

圖片
這位老朋友是指我的上一部筆電,去年換了新筆電後,過了一個月沒開機硬碟就這樣壞了,所以其實已經一年沒有動它了。上週就從網路上買了顆二手硬碟來換上,主要是因為規格有點舊,是IDE 2.5吋,而且容量也不能裝太大,所以別人淘汰的舊品反而救了我的電腦。這台電腦原本配備的OS是Windows XP,但當初在使用時效能就已經不是很好了,且這台電腦我並不打算在上面使用Microsoft Office這類的工具,因此我認為Lubuntu是我的最佳選擇!Lubuntu就是Ubuntu+LXDE桌面,在適合硬體配備比較弱的電腦也可以有很好的使用體驗。

換上硬碟後我就馬上開機試試看,發現裏頭有作業系統耶(意外),不過除了作業系統外什麼都沒也,看來硬碟還是有做過基本的處裡,還算不錯。接下來就要將我準備好的Lubuntu 13.10光碟安裝上去了。

JSMAX彩色玩伴III平價平板開箱文

圖片
最近一很想買一台平板來看pdf格式的文件,因為我對他的要求其實不高,本身已經有一支還算高階的智慧型手機,只是用手機小小的螢幕,看小字總是要縮放真的有點不太理想。總結,我的目標就是:螢幕大一點,看pdf的時候不用一直放大移來移去就行了。



做了一點小功課後,決定買JSMAX彩色玩伴III,這是一款平價平板,從網路上買只要1990元。他擁有7吋的大小,解析度是1024x600,這算是我最關心的問題了,7吋的平板大小近似於A5,與很多的手帳、筆記本大小相近,尺寸剛剛好又不會太重,好收納拿起來又沒負擔;再者一般廉價平板解析度常見是800x480,這個解析度看看漫畫可能還好,一但是文字pdf檔案應該還是要縮放一陣才可以看到文字,所以解析度能夠選高的還是高一點好,看字比較清楚。其他規格的部份因為這個價位的都差不多,也不用特別比較,應該跑閱讀軟體都沒有太大的問題。

[文具]出國也不會忘記買文具。北京清華帶回來的紀念鋼筆

圖片
上個月奉命到北京清華大學,途中把握了一點點的小時間去校園內走走,到了紀念品專賣店買些紀念品,就發現好多的鋼筆!全部一字排開,玻璃櫃中有不少的高級鋼筆,已經包裝成禮盒形式,可能是方便送師長、外賓的時候可以用吧;另外一區就是一般文具店陳列原子筆般的擺設,有許多10~100 RMB左右的普通鋼筆,可以任意地拿起來是試試手感,看到鋼筆竟然幾十塊人民幣,怎麼能不多買幾支,10 RMB元換算成台幣也才50左右,跟一隻UNI 0.38的訂價差不多吧,這種好康要去哪裡找阿!(Preppy好歹也要NT 75元才買的到)

    因為顧買東西,所以就忘記拍照了,不過裏頭紀念品很多,因為樓下就是郵局,所以也可以順道買些特色明信片寄給自己,寄台灣郵資很便宜,寄給很多朋友也不會大失血(一張1.5 RMB,地址方面就是兩岸神奇的地方了...就像台灣寄大陸直接寫省份就可以寄了,大陸寄台灣只要在地址前面加"台灣"就可以寄了,感覺就像國內信一樣,如果無關政治的話倒是挺方便的)。

以下就是這次買回來的鋼筆們:

愛爾蘭民謠 Drowsy Maggie

圖片
Drowsy Maggie是一首愛爾蘭民謠,是稍快的傳統舞曲,因為覺得很好聽所以把它重新寫成簡譜版本。這首曲子在Youtube上很容易找到,用十孔口琴吹也很好聽。
這份譜依然是寫成C調,當然也可以試試換成其他調性演奏,應該會有不同的感覺。

在XBMC中新增中文影片來源

圖片
這一次是要在XBMC上新增中文站台,這樣就可以看到熟悉語言的中文劇了。方法不難,安裝中文站台的補充包就行了。

下載補充包
https://code.google.com/p/xbmc-addons-chinese/

虛擬機VMware與VirtualBox的使用心得

圖片
當初會使用虛擬機的緣由是因為自己電腦上的硬碟每個磁區都已用了不少空間,而且又懶得搬動他、整理他。所以,與其大動干戈清出一個磁區來安裝另一個作業系統,還不如裝虛擬機,反正記憶體夠大,效能顧得住。

網路上常見的兩款虛擬機軟體如VirtualBox、VMware(當然還有其他的),此兩款皆很多人使用,也都有免費版本。VirtaulBox只要進入到官方網站很容易就可以找到免費下載點;VWware的產品稍多,免費版的名稱叫做VMware player,進入他的官方網站後到「所有下載」頁面裡去找比較快。

不論是VirtualBox或者VMware,在客體作業系統(Ubuntu)安裝補充套件之前都需要先裝「build-essential」,只需要在終端機下安裝指令就可以安裝完成
    $ sudo apt-get install build-essential
如果沒有先安裝build-essential,在安裝虛擬機補充套件時,應該會出現類似安裝中斷的訊息,表示沒有完成安裝。


用OpenCV來擷取Webcam的畫面 - C語言

圖片
Webcam現在很常見,可以用來視訊對話、拍照、錄影等等,近期的筆記型電腦都有內建了,而市面上賣的獨立USB攝影機甚至可以拍攝HD畫質呢。除了比較一般的用途,我們還可以利用Webcam把畫面加入程式裡。這次是自己動手寫程式,利用OpenCV的函式庫來擷取攝影機(Webcam)的畫面,可以從螢幕上看到Webcam的內容,也可以根據個人需求變成一個自動拍照的攝影機。

軟體部分是用C語言加入OpenCV函式庫,硬體部分就是筆電上的內建攝影機而已(夠簡單吧)。軟體編譯的是在Ubuntu下使用gcc編譯。

蘇格蘭民謠 Mrs. McLeod of Raasay

圖片
這首是蘇格蘭民謠Mrs. McLeod of Raasay,在這裡將他改成簡譜形式,移為C調。上排為音階簡譜,下排為十孔口琴的孔數譜,供練習者參考用。這首曲子在Youtube上很容易找到,不訪花點時間先聽聽看再開始練習。

安裝XBMC於Ubuntu上的初體驗

圖片
XBMC是一套影音軟體,可以執行在Linux等多種的作業系統下,最吸引我的地方是可以自動訂閱影片來源成為一個個人影音空間。之前有試過Raspberry Pi版本的Rasbmc,有嘗試玩一陣子XBMC,但畢竟Pi的效能有限,在某一次的死機之後就再也開不起來了(系統損毀)。所以想要嘗試一下再Ubuntu上安裝XBMC,我想這次應該就不會有效能上的問題了吧。

在Ubuntu作業系統上安裝OpenCV

圖片
這一次是要將OpenCV安裝在Linux系統下,有了OpenCV就可以快速的進行影像處理,非常的方便好用。這一次要裝的是 OpenCV 2.4.6.1 的版本,搭配 Lubuntu 13.10,因為Ubuntu與Lubuntu的內容大概只有桌面環境是不一樣的,所以我想兩者在安裝上是沒有差別的。而OpenCV的主程式中副有很多有趣的範例程式,也可以藉此找到想用的功能,加入自己的程式中,且可用於多種程式語言如C、C++、Python等。

這些安裝步驟是前些日子在網路上找到的,經過實際測試後整理出來的結果,最下面參考來源是原始網頁的內容。

在Linux上常用的終端機指令(shell)整理

圖片
我初次接觸Linux時就是使用Ubuntu,有豐富的圖形化界面,不過要上網、看檔案、打文件其實都已經綽綽有餘了。但難免還是會有需要打開終端機輸入指令的時候,初時還真令人手忙腳亂,經過一段時間的適應後,發現文字界面的操作其實挺容易的,而且有時候會比圖形界面來的方便。接下來整理一些基本常用的指令,讓進入終端機後不至於會手忙腳亂。

以下只要是指令,該行都是以「$」來開頭,這個符號叫做shell prompt,就是打開終端機後所出現在畫面上的這個符號,我們所有的指令都是輸入在這個符號之後,這個符號是終端機自己產生的,不需要手動打。只要這個符號出現,我們就可以開始輸入指令。

在Ubuntu上的第一支C語言程式

圖片
安裝好Ubuntu之後要寫C語言程式需要先安裝編譯器(如gcc),再來就是文字編輯器了,Ubuntu有內建gedit可以使用,不過也可以使用文字介面的文字編輯器vim。在我第一次接觸vim就覺得這編輯器太有趣了,所以有的功能都是用鍵盤操作,只要有鍵盤就可以工作了,不過因為指令功能有點多,比較罕用的功能還是記不太起來...。


[比較]Arduino各開發板之差異比較

圖片
Arduino是一套open source的控制器開發版,因為簡單、好用又便宜,所以常被拿來製作小專題或者機器人製作,所想打開Youtube應該就可以看到不少案例了。對於一位剛接觸Arduino的人來說,最初的困擾應該是「要選擇哪一塊板子?」。Arduino的開發版根據不同的晶片、用途、功能有各式各樣的型號,在這裡我舉出幾個比較常見的型號來比較:Uno、Leonardo、Due、Mega 2560、Mega ADK。

初次使用LXDE桌面於Ubuntu 13.04

圖片
今天看到了關於製作PCMan的程式設計報導,其中有提及到LXDE桌面的設計緣由。於是我心血來潮的也來嘗試,本身的ubuntu作業系統是安裝再VMWare之中,所以桌面對系統的負擔當然越小越好。LXDE桌面目前有預載入Lubuntu中,而透過安裝的方式一樣可以讓Ubuntu使用到LXDE桌面。

在Ubuntu上使用Boa Server作為網頁伺服器

圖片
Boa server是一個輕量化的web server(網頁伺服器)
執行起來所佔用的CPU資源較少
想要執行web server呈現網頁又不想佔用太多資源的話,boa是一個不錯的選擇
也時有應用在嵌入式設備的例子

推薦線上程式語言學習平台 - Codecademy

我自己目前在生活中比較常用的還是C/C++居多
前些日子聽聞到python這個程式語言,是與C不太一樣的語言
採用直譯式的方式來運行,等於每條程式碼都可以單獨運行
據說python本身可以很快地進行程式開發
當下讓我非常心動想一探究竟

因為心血來潮想要學習Python
經由朋友推薦得到這個線上學習的資源
這網站中有相當多的內容可以學習,其中也包含了python

在Windows上建立FTP Server

圖片
每當看到學校提供FTP server服務,就感覺這好像是一種很艱難的技術,給人一種好像不是很容易做到的感覺,其實不然。

架設FTP聽起來好像很難,但實際上就只是安裝一套軟體到電腦裡就行了,本次介紹的方式是利用Rainbow FTP Server在Windows上架設FTP server,這樣就可以把個人主機搖身一變成為FTP server了。有了FTP server,隨時開網路交換檔案,就可以省的USB在那兒插來插去、又很麻煩了;也可當成智慧型手機傳輸檔案的媒介,就不需要到處尋找傳輸線了。

第一篇,開始的第一步

對於常常喜歡對電腦動點小手腳的我來說,常常碰到問題就會瘋狂似的開啟瀏覽器搜尋,其中也不乏外國網站,簡體中文、英文...等等。每次都會友許多的資料來源,卻也鮮少整理。這一次希望能夠以BLOG的方式,能夠對這些資訊做整理,也順道分享出來,讓有相同問題的人也可以參考。

    BLOG的主要內容,也許會是平常的電腦問題,或是程式語言、微控制器、Linux、旅行日記等等不太太一定,這些只是我的興趣,就看平常想要做哪些事情了。

以這篇為開端,開始我的部落格世界。