簡短說明
它只錄音,也把檔案寫好
Pik Live 接收 Core Audio input device,逐軌寫入 RF64,同時寫到兩個儲存空間。它不是 DAW:不剪輯、不掛 plugin、不混音。它處理 drive 停止回應、interface 消失或 app 被強制結束這些錄音會遇到的情況。
這是什麼
一個 macOS recorder。input device 的每個 channel 各寫一個 RF64 檔案,沒有 WAV 的 4 GB 限制,同時寫入兩個目的地。
適合誰
演唱會、現場、廣電錄音 engineers,以及需要獨立備援 recorder 的 studio 團隊。
錄製
每軌一個檔案,沒有 4 GB 限制
Core Audio input device 的每個 channel 都寫到自己的 RF64 檔案,長時間 session 不會卡在 WAV 的限制。audio thread 不 malloc、不 lock、不碰檔案;samples 經 lock-free ring 到 writer thread,disk work 都在那裡完成。
- 每軌 RF64,沒有 4 GB size limit
- Real-time-safe audio thread:不 malloc、不 lock、不 file IO
- 格式
- RF64,每軌一個檔案
- 大小限制
- 無。RF64 沒有 4 GB WAV limit
- 輸入
- Core Audio device channels
- Audio thread
- 不 malloc、不 lock、不 file IO
- 路徑
- AUHAL、lock-free ring、writer thread
強制結束之後
檔案可播放到最近一次 durable flush
錄音進行時會重寫 headers,audio data 會在描述它的 metadata 之前先做成 durable。kill -9 後,檔案仍可開啟播放到最近一次 durable flush。interface 消失或取樣率變更時,錄音會停止、正確關檔,事件會進 log。
- 檔案可播放到最近一次 durable flush
- Device loss 或 rate change:停止、關檔、記錄
- Header
- 錄音進行時重寫
- 寫入順序
- 先讓 audio data durable,再寫 metadata
- kill -9 之後
- 檔案可播放到最近一次 durable flush
- 介面中斷
- 停止、關檔、記錄
- 取樣率變更
- 同樣停止、關檔、記錄
兩個儲存空間
一條 path 停了,另一條繼續錄
同一個 take 同時寫到兩條 paths,每一條都有自己的 file handles,所以問題留在發生的 path 上。一個 drive 停止回應時,另一條會繼續寫;xruns、device events 和 write delays 都會留在 black-box event log。
- 兩條 path 同時寫入,失敗依 path 隔離
- Black-box event log:xruns、device events、write delays
- 目的地
- 兩個,同時寫入
- 隔離
- 每條 path 各自 file handles
- 一條 path 失敗
- 另一條持續寫入
- Log
- xruns、device events、write delays
- 執行位置
- 在本機,無上傳、無 telemetry
會跟著介面一起來
- 錄音機式視窗:逐軌 meters、waveform lanes、大型 transport 與 timer
- Record Lock,避免誤觸停錄
- Pre-record buffer,0 到 30 秒
- 錄音路徑外的獨立 monitoring path
- Session templates 與 two path setup
這些已實作,但還沒通過 release gate,所以標為 coming,不是 shipped。Pik Live 完全在你的機器上執行:沒有上傳,也沒有 telemetry。