處理聲音的應用程式


以下提到的 rpm 套件 大部分都可以在 rpmfind 的音樂頁 找到.
  1. 先用 redhat 的 sndconfig 設定音效卡, 確定硬體沒有問題.
  2. 自己手動把 sndconfig 的測試檔播放一遍: play /usr/share/sndconfig/sample.auplaymidi /usr/share/sndconfig/sample.midi (可能需要 root 的權限. 可以用 chmod u+s /usr/bin/playmidi /usr/bin/sox 開放這兩個程式的權限. 以下其他播音程式類似.) [處理聲音的程式] 圖案
  3. 事實上 play 只是一個 shell script, 真正的工作是由 sox 在做的: sox /usr/share/sndconfig/sample.au -t ossdsp /dev/dsp
  4. sox 可以播放很多種不同格式的檔案. 找其他的一些音效檔來測試: xboing 這個套件內有更多 .au 檔; gnome-audio 有很多 .wav 檔; MS Windows 下的 .wav 也可以拿來試一下.
  5. 若 sox 無法正確辨認檔案, 可先下 file 命令檢查檔案格式, 再將之改為正確的附加檔名 (或在 sox 命令列上, 檔名之前, 加上 -t 選項).
  6. 可以從 MIDI WORLD 出發, 找到一些 .mid 檔. ( 這裡 也有一些 midi 檔.)
  7. 安裝 xplaymidi, 可以在演奏時顯示一個 midi 檔內各個頻道的強弱, 也可以動態對某些頻道消音, 或動態調整播放速度.
  8. Midi 初學者一定要來 這裡 閱讀相關資訊.
  9. rosegarden 可以編輯 .mid 檔.
  10. cdda2wav 可以把 cdrom drive 內的音樂 cd 以軌為單位, 製作成 .wav 檔. 使用範例: cdda2wav -sx -t 2 -D /dev/cdrom melody.wav 以最高品質將 /dev/cdrom 內的 CD 上第二首歌 (第二軌) 存成 melody.wav 檔.
  11. wavplay 可以播放 .wav 檔
  12. bladeenc 可以把 .wav 檔轉換成 .mp3 檔.
  13. 直接把 cdrom drive 內的第二首歌存成 melody.mp3 檔: cdda2wav -sx -t 2 -D /dev/cdrom - | bladeenc STDIN melody.mp3
  14. mpg123 可以播放 .mp3 檔.
  15. wavrec 可以把 aumix 所指定的音源上正在播放的聲音錄製成 .wav 檔. (若希望將成果檔丟給 bladeenc 製成 .mp3 檔, 則需在錄製時加 -s 48000 參數)
  16. 錄音前, 先用 aumix 確認想錄的音源左邊都有 "R" 字樣, 不想錄的音源左邊是空白或是 "P" 字樣.
讓電腦講話
  1. 安裝 festival, speech_tools-libs, festlex_CMU, festlex_POSLEX, festvox_kedlpc16k 等套件, 並確定你的系統內有程式可以播放 .wav 檔. (例如 sox 套件內有一支程式叫 play)
  2. 執行 /usr/share/festival/examples/saytime 測試 (電腦念出現在時刻)
  3. 如果你的系統內裝有 perl/tk 的話, 可以將 /usr/share/festival/examples/speech_pm_1.0.tar 解壓縮, 測試 perl/tk 版的 festival 前端介面. 先啟動 festival_server 並將它丟到背景去; 然後執行 perl festival_panel.prl -c 'play WAVE' 等它念完介紹之後, 就可以修改上面的文字並按 speak 鍵念你輸入的句子.
  4. 如果要讀一整個純文字檔 (例如 intro.text), 可以這樣: /usr/share/festival/examples/text2wave < intro.text > ~/a.wav 然後 play ~/a.wav
  5. Festival 的輸出只有單聲道; 而我的筆記電腦只支援雙聲道。 猜想大概是左右喇叭搶資料的結果, 念出來的聲音超快超高, 像唐老鴉一樣。 系統的 play 命令 (來自 sox 套件) 有能力處理這種狀況, 所以我在 ~/.festivalrc 檔案裡面這樣設定:
    	(Parameter.set 'Audio_Method 'Audio_Command)
    	(Parameter.set 'Audio_Required_Format 'snd)
    	(Parameter.set 'Audio_Command "play -t snd $FILE")
          

參考資料

  1. Sound & MIDI Software For Linux 資源非常豐富!
  2. Making Music With Linux: We're Getting There.