在去年三月跟實驗室去參加師大的WOCMAT之後
就對國外大師介紹的linux的音樂工作環境相當有興趣
演講裡面提到linux有一個叫做JACK的系統
可以自由將每個程式之間的輸入輸出作連接
感覺非常的好用而且好玩
後來有試灌過CCRMA維護的Planet CCRMA linux套件
但是因為當時NB速度慢 加上又要開進linux才能玩
對我來說不是非常實用

前陣子看JACK首頁看到消息說
JACK也有人在作porting到windows的動作!

雖然沒在上面看到詳細的資訊 但當然還是非常的期待
如果這麼彈性的音樂系統可以在windows上面使用
那一定是非常方便的事情!!!

後來翻JACK的mailing list
才發現原來作porting的作者已經把套件放出來了
網站上還放了一張圖 看起來真是棒呆了!

於是馬上抓下來玩
研究了一會兒以後終於把他跑起來了


JACK(正確來說是jackdmp這東西)在windows上的架構大概是這樣
由jackdmp當作audio server,接受其他JACK client的連接
backend目前提供使用portaudio來作底層的Audio I/O
另一方面, 他也提供一個ASIO Driver叫做JackRouter
所以所有windows上面支援ASIO的軟體
就可以藉由JackRouter連至jack server
之後在使用qjackctl程式來設定connection routing
出來的樣子就類似像是上面那一張圖
其實先不提可以亂接來接去 讓多個讓多個ASIO 軟體可以同時跑 這點就很讚了!

可是一開始試的結果是 能用是能用 但是都會有很明顯的latency
後來研究了一下(還好之前有研究portaudio...)
才發現 要在portaudio的參數再去指定使用哪個device
不然都會用預設的MME driver..因此有latency也不奇怪了..
改成用ASIO的device之後 latency就消失囉! 就可以快樂玩JACK亂接~~
至於詳細setup方式 等有空在詳細寫...

哈 這樣不曉得有沒有很賣關子
Bookmark: HemiDemi MyShare Baidu Google Bookmarks Yahoo! My Web Del.icio.us Digg technorati furl Bookmark to:YouPush Bookmark to:你推我報

Posted by TBri at 痞客邦 PIXNET Comments(2) Trackback(0) Hits(3280)


open trackbacks list Trackbacks (0)

Comments (2)

Post Comment
  • 程式Connect to JACK的問題

    TBri你好
    最近看了你寫的那一篇[HOWTO] Running JACK (jackdmp) on Windows的教學文章
    覺得很有興趣 加上自己平常也有在玩樂器
    便照著步驟在Windows上run JACK
    照著步驟做完後一開始還不行run
    不過之後灌了ASIO4ALL這個軟體後 就OK了

    之後自己也嘗試寫了一個小程式(當作client)來連結JACK(在Windows上)
    compile都過了 不過執行時卻會跳出以下的訊息

    arg 0 jackdmp
    arg 1 -R
    arg 2 -S
    arg 3 -v
    arg 4 -d
    arg 5 portaudio
    arg 6 -p
    arg 7 512
    error
    jackdmp: no drivers found; exiting
    Press any key to continue

    照這個訊息看來好像是某些driver沒裝@@?
    請問一下除了ASIO4ALL之外 還有什麼是需要安裝的嗎?
    在你的網誌上看到這些文章 感覺你應該對JACK在Windows上這方面有研究
    想說來上面請教一下 希望能獲得解答
    先謝謝你的回覆囉^^
  • LS兄您好

    其實我也沒特別有研究啦, 不過還是盡量看看能不能幫上什麼忙
    關於jackdmp輸出的那些錯誤訊息我是沒碰到過,
    想請問您jackdmp程式都有把他package的dll放在一起嗎?
    至少應該要包括4個dll檔案
    libjackdmp.dll, libjackmp.dll, MFC42D.dll, 還有jackmp目錄下的jack_portaudio.dll

    如果相關dll檔案都有放在一起的話
    您還可以試著執行看看以下指令, 看看jackdmp的輸出是怎樣
    "jackdmp -d portaudio --list-devices"
    或是你也可以執行我HOWTO的步驟5的那個zip檔案裡面的list_devices.bat,
    然後看devices.txt的檔案內容也是一樣的
    (如果指令過了一兩分鐘還沒正常結束, 就自行按Ctrl+C結束吧)
    輸出可以貼來這或是寄給我都可以~可以幫您看一下
    如果不介意的話您也可以把您的程式一起寄給我 我這裡也可以run看看有沒有啥問題

    其實如果沒有一定要在windows上的話, 我覺得用linux跑jack似乎還是比較好的選擇
    如果可以接受使用linux的話您可以試試Planet CCRMA這個distribution
    他是stanford在maintain的一個專門針對audio用戶提供的一個linux distribution

    還有其他疑問話歡迎再留言或直接用msn討論~~

Comment Permissions: Allow commenting

Leave Comment

*Name/Nickname
E-mail
Personal Website
Comment Title
*Comment
* Private Comment