2011-11-21 33 views
0

以下是我的問題的一般描述。從電臺流中保存最喜愛的曲目

我有我最喜歡的音樂文件夾(好吧,這不是一個問題:D)有2-3個電臺流,我週期性地切換。有時當我在收音機上聽一些曲目時,我意識到我喜歡它並想將它保存到我的收藏夾中。正如你可能猜到的問題是,當我決定要保存曲目時,它已經部分播放,而它應該從一開始就完全保存。

所以一般情況下它應該是這樣的:我正在聽流 - >決定我希望它保存到我的文件夾 - >按下一些按鈕 - >在無線電流軌道完成後它出現在我的收藏夾夾。

我使用ubuntu linux 10.04,rhythmbox進行流聆聽。我可以從ubuntu存儲庫或外部源安裝任何其他程序。我很喜歡編寫/使用python,bash腳本甚至是java或C++中的程序。

我對這個問題的研究如下。

流行的軟件無線電流翻錄是streamripper。我沒有問題,將所有曲目保存到單個文件或將傳入的流分割成單獨的文件。 因此,我的第一個方法是開始將流轉錄成單獨的曲目並轉播它以便能夠傾聽自己。 問題這種方法:

  • 我結束了大量的文件,我將在接下來要處理, 消除所有的人,但那些我喜歡
  • 我怎麼記得這實際上跟蹤我喜歡?
  • 硬盤負載 - 從2-3流中翻錄時,它似乎成爲磁盤上的恆定負載。這似乎矯枉過正,因爲大多數保存到磁盤上的數據的

我相信第一個問題可以用某種後臺程序/腳本來解決將被刪除 - 刪除最新的文件,如果「我喜歡」按鈕沒有之前被按下。

第二個問題可以使用dbus for rhythmbox來解決,例如通過編寫python script來詢問rhythmbox當前正在播放的曲目的名稱。

我還沒有拿出第三個問題的解決方案。在我看來,linux命名管道是避免任何磁盤負載的方法。但是當分離軌道時,streamripper會創建文件,所以我不能將它們命名爲管道而不是常規文件。當然,我可以創建命名管道並指示stramripper將整個流保存到此文件,同時使用某個程序從管道的另一端讀取數據。但在這種情況下,我不能使用streamripper的軌道分割邏輯。

那麼我該如何解決我的問題?有什麼辦法可以通過解決第三個問題來完成我的方法嗎?或者,對於我的一般問題,有沒有完全不同的方法?唯一的軟件需求是Ubuntu本身。我可以接受任何節目。

+0

爲什麼不撕到RAM磁盤,然後移動文件時,你用其標記爲「我喜歡」按鈕? –

+0

@ F.C。我根本不熟悉RAM磁盤。使用它是否會在硬盤上產生完全沒有負載?我可以在不修改系統配置的情況下裝載和卸載它嗎?總之這看起來很有前途請張貼它作爲答案。 –

回答

1

使用RAM磁盤不會觸及硬盤,但您應該有足夠的內存來保存您的翻錄內容。

https://www.google.com/search?q=linux+make+ram+disk

+0

我發現在我的安裝中已經有ramdisk可以使用 -/dev/shm。我現在看不到執行我的想法有任何問題,謝謝! –