用alsa錄音

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

用alsa錄音

文章sppmg » 週日 10月 24, 2010 1:36 am

長久以來,我都無法使用gnome裡面的錄音程式。最近因為想用ekiga,再研究一下,終於研究出來。分享給大家。
不過因為我也只是試過能用而已,所以僅說明我的電腦上的解決方法。若有不足,請補充,謝謝!

我的配備是:單純使用主機板上的音效卡。機殼前端面板的mic孔接主機板上插座。
首先參考alsa官方說明

依照圖中,按F4切換後,按空白鍵指定「Capture」錄製。
之後要確定要「Digital」這項要打開,並且調高音量。

說明:
1.我的電腦中有「Capture」及「Capture 1」,我是只用Capture就行。
2.「Capture」、「Digital」的音量會影響錄音音量,所以儘量調高。(不過太高可能雜訊很多,請自行拿捏)
3.後面若有「Input Source」那當你mic插後擋板時選「mic」,插前面板時選「Front mic」

文字命令錄音就用
代碼: 選擇全部
$ arecord -vv -fdat foo.wav
(ctrl+C結束錄音)

播放就用
代碼: 選擇全部
$ aplay -vv foo.wav


至此結束~~~

這裡詢問一下各位,我想自寫script使用oggenc即時壓縮,指令是沒問題,但寫成script就不行了。
終端機中:
代碼: 選擇全部
arecord -vv -fdat | oddenc - -o out.ogg

script中我這樣寫不行,於是我改成先用mkfifo建個fifo,然後一端寫,一端讀。但好像無法同時完成。有人能順道分享嗎?這樣錄音起來很方便,也不用開gui
最後由 sppmg 於 週三 5月 18, 2011 2:22 am 編輯,總共編輯了 2 次。
系統的威力來自於程式的相互關係, 而非來自程式本身
is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.

(英文語法怪怪的......誰能提供完整的版本?)
sppmg
活潑的高中生
活潑的高中生
 
文章: 317
註冊時間: 週五 8月 04, 2006 3:47 pm
來自: 臺灣

Re: 用alsa錄音

文章sppmg » 週日 10月 24, 2010 1:42 pm

後來發現script使用
代碼: 選擇全部
arecord  -fdat | oddenc - -o out.ogg

就可以了,看來是-vv參數緣故。可是不太明瞭為何不行就是。

所以說,只要建一個script:record.sh
代碼: 選擇全部
#!/bin/bash
arecord  -c 1 -f S16_LE -r 48000 | oddenc - -o $1 -B 16 -C 1 -R 48000

你就可以透過
代碼: 選擇全部
$ record.sh foo.oga

來錄音囉! ;-)

上面這個是在eeepc 701上測試成功的。對於筆電來說,其mic只有一個,用單通道就好。
測試10分鐘結果:單通道=7MB、雙通道12MB。eeepc 701 cpu使用率約在30~20%(存tmpfs,不用擔心ssd干擾測試)。
其實可以依情況再精簡,譬如以音質降低換空間等等。

(ctrl+C結束錄音)
系統的威力來自於程式的相互關係, 而非來自程式本身
is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.

(英文語法怪怪的......誰能提供完整的版本?)
sppmg
活潑的高中生
活潑的高中生
 
文章: 317
註冊時間: 週五 8月 04, 2006 3:47 pm
來自: 臺灣


回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客