2006-12-19

網路電台架設初學心得

之前考試期間太悶,就研究了一下網路電台的架設方法,架設的方法其實還蠻簡單的。

首先來看看一個電台需要哪些東西

  • 播放音樂的軟體(foobar2000、winamp...)
  • 將播放出來的聲音即時編碼並傳送給廣播伺服器的軟體(oddcast)
  • 廣播伺服器(shoutcast、icecast、peercast)

放音樂的軟體就是DJ介面,你可以使用自己常用的撥放器,像我平常都是用foobar2k,雖然說不管用哪個軟體都可以,但是如果不是用Winamp、 foobar2000的話就"不一定"可以在電台自動顯示目前播放歌曲的title或是作者之類的(跟oddcast有關、後面會說明)。

當我們可以放出音樂之後,還要一個軟體將音樂播放器發出的聲音擷取進行格式的轉換(編碼),並且將轉換之後的資料傳給廣撥伺服器,目前我在網路上只有看到oddcast這個軟體可以辦到(雖然我也沒有仔細去找其他的...),oddcast有出以下幾種版本
1. Foobar2000的外掛
2. Winamp的外掛
3. 獨立執行的程式 (standalone)
其實就性質就可以分成兩種:外掛版跟獨立版,外掛版的話只是作為播放軟體的插件(外掛),就是本身沒有exe執行檔,在你使用winamp或foobar2000的時候就會被當做播放器的一部分;而standalone版本身就是一個可以執行的程式;這兩種版本並不是只在執行方式上有差別,功能上也有些不同。

外掛版本 獨立執行版本
歌曲資訊 自動抓取 手動輸入或從視窗(播放器)標題擷取
撥放器 winamp、foobar2000 不限
音源 只有播放器發出的聲音 電腦發出的聲音(包括windows音效)、mic 等等..多種選擇
相容性 可能會與其他外掛衝突 獨立執行沒有相容性問題


廣播伺服器軟體則負責接收oddcast傳來的聲音,以及將資料傳給收聽的聽眾。

播放器->oddcast(擷取、格式轉換、轉接)->廣播伺服器 的三層式架構,讓播放器跟廣播伺服器可以不用裝在同一台電腦,這樣就可以把廣播伺服器放在上傳頻寬比較大的電腦上,DJ只要讓oddcast連線到伺服器,不需要很好的網路也能廣播。


待續...

繼續閱讀「 網路電台架設初學心得 (二)


2006-11-04

Sequence Alignment :: Similarity - dynamic programming

其實這是通識課作業XD

用來比對DNA、mRNA、cDNA序列相似度的方法,計分方式為相同的鹼基+1分、不同的-1、對上空白則-2,兩個序列不改變序列順序而允許插入空白(gap;null)的情況下做排列組合比較取出最高分者。計算出來的分數可以代表這兩個序列的相似度,越高分相似度就越高,例如ACG對上AC可以是(以-代表gap) (1)ACG對AC-:1+1-2=0、(2)ACG對A-C:1-2-1=-2、(3)ACG對-AC:-2-1-1=-4。

這好像叫做Needleman-Wunsch algorithm,但本來他是用暴力算法,就是同時列出兩個序列並包含gap的可能組合做計分,後來發現利用prefix計分來推算分數可以降低運算複雜度。
  null A G
null (0,0) (0,1) (0,2)
A (1,0) (1,1) (1,2)
C (2,0) (2,1) (2,2)
G (3,0) (3,1) (3,2)
  null A G
null 0 -2 -4
A -2 1 -1
C -4 -1 0
G -6 -3 0

比較序列s:ACG與序列t:AG;例如在(2,1)就是比較(null)A與(null)AC得分為-1。p,s null對上null為0分 比較快的推算法就是說,(i,j)可以從(i-1,j)、(i-1,j-1)、(i,j-1)推來,因為(i-1,j)、(i-1,j-1)、(i,j-1)都已經是最佳解了,所以只要取他們中推算到(i,j)最高的那個分數。

以PHP實做的程式碼,另外還有個豪華物件版 XD可以輸出prefix觀察比對過程 <?php function Similarity_csv_lite($s1,$s2) { $datas=array(); $csv=', '; //建立初始值 $datas[0][0]=0; for ($i=1;$i<=strlen($s1);$i++) { $datas[$i][0]=-2*$i; } for ($j=1;$j<=strlen($s2);$j++) { $datas[0][$j]=-2*$j; $csv.=','.$s2[$j-1]; } //開始推算 for ($i=1;$i<=strlen($s1);$i++) { for ($j=1;$j<=strlen($s2);$j++) { $tmp_value=0; $tmp_p=($s1[$i-1]==$s2[$j-1])?1:-1; $datas[$i][$j]=$datas[$i-1][$j]-2;; //(i-1,j) $tmp_value=$datas[$i-1][$j-1]+$tmp_p; //(i-1,j-1) $datas[$i][$j]=($tmp_value>$datas[$i][$j])?$tmp_value:$datas[$i][$j]; $tmp_value=$datas[$i][$j-1]-2; //(i,j-1) $datas[$i][$j]=($tmp_value>$datas[$i][$j])?$tmp_value:$datas[$i][$j]; } } $csv.="\r\n ,".join(',',$datas[0]); for ($i=1;$i<=strlen($s1);$i++) { $csv.="\r\n".$s1[$i-1].','.join(',',$datas[$i]); } return $csv; } echo Similarity_csv_lite('GACGGATTAG','GATCGGAATAG'); ?>

2006-10-29

被母DIV無視的Float DIV子

其實這個問題遇到過好幾次了,這次又遇到就特別給他研究一番,「當一個母div裡面包著的子div是float的話,母div的空間不會包含子div」,聽起來很饒舌,看一下下面的說明就知道。

2006-10-28

檢查網頁有沒有使用壓縮傳輸

http://www.port80software.com/products/httpzip/compresscheck

只要輸入網址,這個網頁就可以測試是否有使用壓縮傳輸。還會列出壓縮前跟壓縮後的比較。

最近想幫我的網頁加上更快的cache功能,因為總覺得loading有點慢,應該也會使用gzip壓縮傳輸,實驗成功之後也可以應用到課表網。

2006-10-27

Zoundry Blog Writer Version 1.0.35

今天才突然發現Zoundry Blog Writer釋出的修訂版本會放在他的論壇上(http://forums.zoundry.com/viewtopic.php?t=344),但是官網上的下載連結並沒有跟著更新,剛好看到一個Zoundry Blog Writer支援Blogger beta的消息,就趕快下載來用了。

在設定blogger beta帳號的時候,要注意帳號和密碼要填寫Gmail的帳號密碼,不是你blog網址前面那個帳號。試用了一下注意他有一個不錯功能,就是可以直接從Zoundry Blog Writer新增標籤/分類(應該說是blogger beta的API有支援)。



離線寫Blog的軟體

離線編輯Blog有很多好處,當你擁有不只一個blog的時候就不用到處複製貼上,而且寫的每篇文章都會保留一份在你的電腦上,另外我不喜歡直接在網頁上寫blog的原因就是寫作的編輯HTML文字方塊通常都不太好用,除非是自己架的還可以改html editor。

大部分常見的blog都有提供遠端編輯的管道,可惜的是國內的知名Blog提供者(例如無名小站Xuite)都沒有這些功能,實在是有待加強。

用過認為比較值得使用的軟體如下,我所謂比較值得用的就是有內建所見即所得的HTML編輯器、可以自動上傳圖檔、管理多個blog

Zoundry Blog Writer
是我目前認為最好用的,應該說是最適合的啦,跟Windows LiveWriter比起來贏在有比較多進階的設定,一些就算預設沒有支援的blog但是修正一下設定就可能可以用了,不過聽說移除的時候會對開始功能表裡面的程式捷徑造成問題,我還沒移除過所以不知道這個bug更正了沒。

Windows LiveWriter
在操作上Windows LiveWriter應該算是最好的,而且它還有個很棒的功能就是它可以下載blog的佈景,讓你在編輯的時候可以看到你發佈出去後在blog上得樣子(對某些blog有問題,不過可以自己修正樣式的html檔案;),Zoundry Blog Writer雖然也可以preview但是編輯的時候不能同時套用佈景,可惜的是它在新增blog的時候設定得很死,所以對某些設定(路徑、檔名)稍有變更的blog就不支援,目前還是beta版,期待之後會更完整,還有一個缺點就是要安裝.NET Framework,啟動有點慢。

Performancing
其實這個稱不上是一個獨立的軟體,Performancing 是Firefox的擴充套件,對於Firefox的使用者是一個很方便的工具,它還可以直接抓取你正在瀏覽的網頁貼到blog去。

註:目前的blog離線寫作軟體好像都不支援beta版的blogger,很可惜。Zoundry Blog Writer於1.0.35版已經支援。

動畫相關術語說明

以下名詞是我自己所意會解釋的,有些有錯誤也說不定,CTRL+F搜尋。

ver. 20061017

  • ACG
    動畫(Animation)、漫畫(Comic)、遊戲(Game)的簡稱。

  • 捏它
    為日語音譯,洩漏劇情的意思,常常會在論壇或BBS標題出現,就是告訴你裡面有透漏劇情,如果不想被捏(轉化用法?)到就不要看。

  • 百合
    女性之間的愛情曖昧之類的,類似的詞有GL,不過嚴格定義上又有些不同,範例:百合動畫。

  • 獵奇
    血腥殘酷,例如有出現許多人體肢解、喋血畫面或劇情的就可稱之為獵奇。

  • 宅、御宅族、Otakus
    對某事物或領域(狹義定義是ACG)有狂熱者(不是一般的狂熱),不過在台灣大部分的人都把蹲在家裏不出門當作宅,其實跟原本的意思不一樣,如果這個詞不是出於自稱的話通常有點貶低的意味,應該有一種浪費精神在XXX不務正業的感覺吧,這個詞彙有經過一段時間的演變,所以有些人的定義都不太一樣。(註:我不宅,差太遠了!!)

  • BL
    Boy Love,就男男。

  • 腐女
    喜好BL者。


關於Anime

這個分類主要是為我看過的動畫留下紀錄,盡量以客觀的立場介紹,不會有捏它(洩漏劇情)。


※介紹還是多少會有包含個人觀感。

關於暗部

所謂的暗部報告書...

oW2r9auiq6Kroquiq6Kh46Hjp0Gye6ZiprPEsbFvp+Kzb6xxpOWmcmRlY29kZaxPq9zE+Kq6qMa23C4uLqFu

就是這樣。
要有慧根才看的懂,不過看得懂也不是什麼好事。

Visual Ansi 0.9.8發佈

What's Visual Ansi
˙簡易上手的BBS繪圖軟體
˙直覺的繪圖風格
˙便利的動畫功能
˙附有方塊圖編輯器

0.9.8主要新功能
˙輸入模式 背景圖片 區塊位移
˙雙色字支援
˙時間軸系統 for ptt pmore
˙Windows剪貼簿支援

網站:http://med.tmu.edu.tw/~mouse26/va

Nerv. Studio

關於Nerv. Studio

Nerv. Studio並非正式組織,只是本人喜歡在作品上加註的一個稱號,因為這樣看起來好像比較專業(? XD)。Nerv這個詞來自我很喜歡的一部動畫作品,在德語中是神經的意思。Nerv. Studio主要的作品為一些程式還有一些奇奇怪怪的東西,有很多都只是實驗性質的玩具。
Nerv. Studio的作品授權:程式為Freeware(免費軟體)可以任意散佈、程式原始碼授權請參見『Nerv.程式碼授權說明』、程式碼以外的(例如文章、圖片、網頁等等) 採Creative Commons 姓名標示-非商業性-相同方式分享 授權條款為授權。

近期作品(僅列出堪用的):

  • Visual Ansi
    bbs 繪圖軟體,自2003年開始開發,首次發布版本為0.9.6,目前仍開發中,一年至半年出一次新版。
    Visual Ansi網頁 | 使用手冊