2010年6月13日 星期日

Music Theory in the Real World Lesson 1

Lesson 1 主要就是介紹閱讀樂譜的基本 notation,了解目前是用什麼方式來描述音樂

Sight reading 就是指一個人看樂譜(score or music sheet)並且去演奏這段音樂,也就是視奏

五線譜 , staff or stave




在五線譜上線跟線之間就稱 space,線就稱為 line








如果當五線譜不夠用的時候,會多加暫時的線來表達更多的音域,像是上一線,下一線
這些多的線段又稱 ledger(leger) line 例如以下例子:

在第五線上多了好幾條 ledger line







介紹完了 staff,那每一條線(line)上或是每一間(space)上又會是什麼音呢?
所以必須要有譜號來定義目前這個staff上所表現的音域
而譜號又稱 clef以下是常見的 clef:
Treble:高音譜記號
Bass:低音譜記號
Alto:中音譜記號
Tenor:次中音譜記號

當然像是鋼琴的譜,種是會看到有包含 Treble 和 Bass 的譜表,這就是所謂的大譜表,又稱為 full staff  or grand staff or master staff
例如以下的圖片:











而在 full staff 中Treble下一線的音等於Bass上一線的音,都是C(Do),又稱為中央C (middle C)


時間(time value)對於音樂是很重要的,所以音樂有定義很多不同相對時間長短的音符(note),有定義發音的長短,當然也會有定義靜音的相對時間長短的休止符(rest)
以下就是 note 和 rest 的的長短(duration):


NoteRestAmerican nameBritish name
Longa.gifLonga rest.svglongalonga
Breve.gifBreve rest.svgdouble whole notebreve
Whole note.gifWhole rest.svgwhole notesemibreve
Half note.gifHalf rest.svghalf noteminim
Quarter note.gifCrotchet rest alt plain-svg.svg or Crotchet rest plain-svg.svgquarter notecrotchet
Eighth note.gifEighth rest.svgeighth notequaver
Sixteenth note.gif16th rest.svgsixteenth notesemiquaver
32nd note.gif32nd rest.svgthirty-second notedemisemiquaver
64th note.gif64th rest.svgsixty-fourth notehemidemisemiquaver
128th note.gif128th rest.svghundred twenty-eighth noteQuasihemidemisemiquaver /
Semihemidemisemiquaver

下圖指出對於一個 note 結構的英文名稱:


最後來探討小節(bar or measure):
在一個樂譜的一開始都會加上拍號(time signature or meter signature),而小節線的目的就是在切割樂譜所給定拍號的時間。

而 time signature主要目的就是在指出一個measure裡有幾拍(beat),並且一個beat是由什麼長度的音符(note value)表示。

time signature 通常是由兩個數字組成,例如 a/b 拍,a代表一個measure裡有幾beat,而b代表一個 beat 由什麼 note value 代表,例如:3/4代表每個measure有 3 beat 而每個 beat 由 4分音符(quarter note)表示,如下圖:


下圖是常見的 time signature:
4/4拍, 4/4 time 也可以用左邊數來第二格大C符號來表示
2/2拍, 2/2 time 也可以用左邊數來第四格大C符號加上一條直豎線來表示
2/4拍, 2/4 time
3/4拍, 3/4 time
6/8拍, 6/8 time

以上就是這個 lesson 1 的大略重點整理

圖片皆取自 wikipedia



2008年11月27日 星期四

What's SVCHOST.EXE??

工作管理員中有很多SVCHOST.EXE在執行,作用是什麼?
文/李世平 (記者) 2007-09-09 

當開啟Windows工作管理員時,常常會發現有很多個SVCHOST.EXE在執行,請問這個處理程序的用途是?若發現此程序占用了大量系統資源,又該如何處理? 

根據微軟中文知識庫編號314056的文件說明:「SVCHOST.EXE是從動態連結程式庫(DLL) 執行之服務的一般性主處理程序名稱」。當電腦啟動時,SVCHOST.EXE會檢查登錄中的服務部分,以建立一份它需要載入的服務清單。多個SVCHOST.EXE可以同時執行,且每一個 SVCHOST.EXE工作階段都可以包含一組服務。 

由於這個程序是開啟Windows服務的重要檔案,因此之前也曾有疾風等多種病毒,會利用SVCHOST.EXE來達到入侵或破壞等目的。所以當發生占用系統資源的情形時,可先利用Process Explorer這個工具,檢查哪一個DLL是讓SVCHOST.EXE占用大量處理器資源的元兇。一般而言若不是電腦中毒,則很有可能會發現是MSI.DLL或是NT.DLL造成的。 

MSI.DLL或NT.DLL是屬於Windows Update服務的動態連結程式庫,會在每天固定時間,或系統重新開機後,上網搜尋Microsoft產品的更新元件,當電腦處理器或記憶體等硬體等級較差時,便很有可能占用全部資源。比較簡單的解決方法,是將Windows Update的自動執行排程,設定在半夜或凌晨等不會使用到電腦的時間,並且一直保持在開機狀態。不然就得要徹底停止Windows Update服務,但這方式會讓系統無法自動更新,修補漏洞時,非不得已,最好不要採取這項作法。停止該服務的方法如下: 

第一步:重新檢查系統的服務狀態 
首先在「開始」工具列按下「執行」,並輸入「services.msc」後按「確定」,再點選「服務(本機)」的「Automatic Updates」。選擇「登入」標籤,確定登入身分為「本機系統帳戶」,且取消勾選「允許服務與桌面互動」對話框。之後確認服務已在目前的「硬體設定檔」中被啟用,若設定檔中沒有顯示已啟用服務,則按下「啟用」按鈕。完成後進入「一般」標籤,檢查「啟動類型」是否為「自動」,並按下「啟動」按鈕。 

完成後回到「服務(本機)」頁面,並對「Background Intelligent Transfer Service (BITS) 」服務重複執行上述步驟。 

檢查Automatic Updates服務狀態。

第二步:重新註冊Windwos Update 的元件 
同樣也是先在「開始」工具列啟動「執行」,之後輸入「REGSVR32 WUAPI.DLL」,當看到「DllRegisterServer在WUAPI.DLL成功」的訊息後按下「確定」。 

之後以上述步驟重新註冊其他相關檔案,例如REGSVR32 WUAUENG.DLL、 WUAUENG1.DLL、ATL.DLL、WUCLTUI.DLL、WUPS.DLL、WUPS2.DLL,以及WUWEB.DLL 等元件。 

第三步:清除可能已損壞的 Windows Update 暫存目錄 
在「程式集」的「附屬應用程式」中,開啟「命令提示字元」,並在命令提示字元中輸入「net stop WuAuServ」。(此時若出現錯誤訊息請先重開機後再執行一次),完成後在「開始」工具列選擇「執行」,並輸入「%windir%」。在「Windows」目錄中,找到「SoftwareDistribution」資料夾,並將整個資料夾刪除(若擔心造成系統錯誤亦可先暫時改名),之後再次啟動「命令提示字元」,並輸入「net start WuAuServ」指令。完成上述步驟後重新開機,即可停止Windows Update服務。文⊙李世平 

iThome歡迎讀者提問,請將你所遇到的各種企業IT疑難雜症,寄至iThome編輯部:QA@mail.ithome.com.tw

轉載:
http://www.ithome.com.tw/itadm/article.php?c=45184

windows netstat tips

使用 netstat 監控電腦上 socket 連線

netstat -a = 列出所有 socket 連線 (hostname)

netstat -n = 列出 socket 連線 (numerical)

netstat -b = 列出 image name (執行檔的名稱)

netstast -v = 搭配 -b 列出 image name 的路徑

netstat -r = route print (印出本機的routing table)

netstat -o = 列出 連線並搭配  process ID 

netstat -e = 列出 Ethernet 封包的 statistics

netstat -s = 列出 TCP, UDP, ICMP, IP 的 statistics

netstat -p [TCP | UDP | ICMP | ... ] = filtering, 列出該 protocol 的 socket 連線


example:

netstat -avbp TCP | find "ESTABLISHED" = 利用 pipe 搭配 find 找出建立好的連線





EDA final project

老師挑出兩個問題中挑出一題,或從97 CAD競賽挑出任何一題

CAD 軟體競賽 problem set: 

windows kill process

最近防火牆沒有開,都會有一些奇怪的人連到我的電腦,不知道在做些甚麼事,所以突然想找找看有沒有kill process的指令,果然在windows上也有

taskkill /? 可以看到更多資訊