發表文章

目前顯示的是 6月, 2017的文章

Python_Exception例外異常處理_with語法使用教學介紹

圖片
在寫任何程式過程中難免會出現一些例外 (異常) python 也是如此 為此python提供了 Exception 解決的語法方案 讓我們先來簡單示範一下讀取一個文字檔案中的內容 先準備一個文字檔案 內容中有 取名為read.txt 然後放在桌面 和 C槽 寫一個簡單的 openfile的python程式 再輸入路徑之後 你感覺程式運行都很正常 但是一般用戶可能會忽略 .txt副檔名 就會出現這個異常 FileNotFoundError的異常錯誤 這是一個系統子類之異常 Python常見的異常 (摘錄自:http://www.runoob.com/python/python-exceptions.html) 異常名稱 描述 BaseException 所有異常的基類 SystemExit 解釋器請求退出 KeyboardInterrupt 用戶中斷執行(通常是輸入^C) Exception 常規錯誤的基類 StopIteration 迭代器沒有更多的值 GeneratorExit 生成器(generator)發生異常來通知退出 StandardError 所有的內建標準異常的基類 ArithmeticError 所有數值計算錯誤的基類 FloatingPointError 浮點計算錯誤 OverflowError 數值運算超出最大限制 ZeroDivisionError 除(或取mode)零(所有數據類型) AssertionError 斷言語句失敗 AttributeError 對像沒有這個屬性 EOFError 沒有內建輸入,到達EOF 標記 EnvironmentError 操作系統錯誤的基類 IOError 輸入/輸出操作失敗 OSError 操作系統錯誤 WindowsError 系統調用失敗 ImportError 導入模塊/對象失敗 LookupError 無效數據查詢的基類 IndexError 序列中沒有此索引(index) KeyError 映射中沒有這個鍵 MemoryError 內存溢出錯誤(對於Python 解釋器不是致命的) NameError 未聲明/初始化對象(沒有屬性) UnboundL...

Google Cloud Speech API備案學習使用

圖片
Google Cloud Speech API 第一階段. 需要先下載兩個模組 gcloud python module google-api-python-client module pip install -- upgrade gcloud pip install -- upgrade google - api - python - client 這裡由於我是在新的作業系統環境下去運行 因此 第一條指令在安裝過程 若有失敗主要是因為你有缺少 sudo apt - get install build - essential sudo apt - get install python - dev sudo apt - get install python3 - dev 之後可能還會出現 Could not find .egg-info directory in install record for future>=0.15.2 (from google-gax>=0.12.3,<0.13dev->gcloud) 等橘色錯誤訊息 那需要再下 sudo pip install --upgrade setuptools pip 升級並更新  pip 之後重新再次下指令做安裝最新版  gcloud sudo pip install --upgrade gcloud 即可完成第一階段安裝 第二階段. 至 Cloud Platform Console ,  enable Cloud Speech API 參考 link: https://cloud.google.com/speech/docs/ How to use google speech recognition api in python? [closed] https://stackoverflow.com/questions/38703853/how-to-use-google-speech-recognition-api-in-python What does a “Could not ...

程式碼暫存

 import speech_recognition as sr  # obtain audio from the microphone  r = sr.Recognizer()  with sr.Microphone() as source:      print("Say something!")      audio = r.listen(source) # recognize speech using Google Speech Recognition  try:      # for testing purposes, you're just using the default API key       # to use another API key, use `r.recognize_google(audio, key="GOOGLE_SPEECH_RECOGNITION_API_KEY")`      # instead of `r.recognize_google(audio)`       print("Google Speech Recognition thinks you said " + r.recognize_ google(audio))  except sr.UnknownValueError:       print("Google Speech Recognition could not understand audio")  except sr.RequestError as e:       print("Could not request results from Google Speech Recognition service; {0}".format(e))  

RaspberryPi上出現的萬惡錯誤_"Segmentation fault"

圖片
最近在樹梅派做嵌入式應用的小project的時候 遇到這個很討厭的錯誤資訊 想說試試看有沒有有解決方案 若解決不了就換別的備案 , 反正看了許多英文經驗交流還可學(複習)些單字 沒有壞處!!! 還順便接觸複習 Linux 指令 根據國外工程們的經驗分享和交流中 有人說是   " filesystem corruption " 的問題 可能是沒正確關機 下載到有病毒的檔案 周邊裝置沒安置好 等等諸多問題 第一個參考link 工程師A的問答經驗交流 https://raspberrypi.stackexchange.com/questions/5404/segmentation-fault Segmentation faults should not be happening like that, and it strongly implies to me you have filesystem corruption. It could also be the result of something malicious( 惡毒的;有毒的 ) , but that is probably less likely on the pi since it is prone to( 傾向於.... ) such corruption if, eg, it is subject to inappropriate voltages(電壓 ; 伏特) , or frequently unplugged(未使用(安插好)電子擴音裝置之樂器的) without a proper shutdown. Take the SD card out, salvage whatever you want/can off it using another computer, then umount it there but leave it plugged in and try: 希望應該不是有毒的問題 = =||| 下方後續又有國外高手工程師則認為是檔案空間不足夠 建議菜鳥工程師可以試試看 df 查看 並刪除快取資料 Can you confirm that you have enough spa...

嵌入式系統_樹梅派音控相關電子裝置介紹

圖片
一般在電子裝置中可以產生聲音的裝置 常見的有  蜂鳴器(Buzzer)、喇叭(Speaker) 蜂鳴器(Buzzer) 電路符號是以 半月型 表示 音頻範圍較小,通常用來發出警示音 可細分為 有源(有震盪源,一接電就會發出聲音) 無源(內部無震盪源,需要輸入數位方波訊號才會發聲) 兩種 樹梅派上的GPIO可直接驅動它 喇叭(Speaker) 音頻範圍較大,音質也就好 常被廣泛用在 音響等電器產品 依照頻率響應還可細分為 高音喇叭(Tweeter) 中音喇叭(Mid-Range Speaker) 低音喇叭(Woofer) 重低音喇叭(Subwoofer) 等等。 樹梅派上的GPIO接腳是無法直接驅動喇叭的!!!! 而另外提供HDMI等音源輸出 電路符號是以 正方形連接梯形 表示 除了這些電子裝置和音訊相關之外 還包括有  麥克風、USB音效卡、USB集線器等等裝置喔!!! 因為 Raspberry Pi 本身設計上並未提供 音源輸入之介面 因此USB音效卡是為此須另外準備的。 麥克風 USB音效卡

Virtual Assistant 運作模式探討_TTS和STT的原理及運作Keep It Simple, Stupid

圖片
Virtual Assistant 從字面上來翻譯叫做虛擬助理 在商業電影中 鋼鐵人等科幻片 很常有向電腦說話溝通就自動有服裝換上或是飲料遞送而來的畫面 讓人覺得十分特別 Commercial Virtual Assistants 其實在許多手機 Siri 語音助理就時常看到 FB創辦者 Mark Zuckerberg 近期的 Jarvis 就是一個很生活化又典型的例子 當中運用到了 TTS   及  STT 兩項技術 TTS (Text-to-Speech) STT(Speech-to-Text) 基本上和使用者的人機互動模式為 STT(Speech-to-Text) Input端為人說的話語 透過STT技術轉為字串,才可讓邏輯引擎去做處理。 當中用到了 Natural Language Processing(NLP) 來轉換語音字串 當然這些錄音資料會有去噪和修復扭曲的前置處理,才可讓電腦能夠做語音轉字串處裡。 Logic Engine 主要就是接收人的語音訊息,再丟給電腦做聲紋之類的分析 最終目標是去判斷要回應捨麼內容(Output為何??) 可以說是大腦的部分 TTS (Text-to-Speech) 之後接收來自邏輯引擎回傳的資訊 將要回應的文字字串轉為語音資訊 以下我們用  樹梅派 來嘗試開發這套簡單小系統 首先至下方兩個網站 下載 PortAudio 及 PyAudio (前提是你的Alsa的相關設定都已經就緒) 因為 PortAudio 的驅動和 ALSA 密切相關 若還未設定就下看看如下指令 sudo apt-get install libasound-dev 後續可參考下方link 參考 link http://cagewebdev.com/raspberry-pi-getting-audio-working/ http://karuppuswamy.com/wordpress/2015/08/15/configuring-alsa-audio-output-on-analog-and-hdmi-of-raspberry-pi/ 第二階段 . 下載並安裝  PortAu...