1057020 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

緑のボタンを押せ! Press the green button

緑のボタンを押せ! Press the green button

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Category

Keyword Search

▼キーワード検索

Archives

2024.04
2024.03
2024.02
2024.01
2023.12

Comments

 effelpist@ kilovermek.es effelpist &lt;a href=&quot; <small> <a href="http…
 Jun@ Re:「いっちゅう」さんのiEPG用ソフト入れてみた(09/15) TVdeIEPG Ver.1.2.1.0がリンク切れしてい…
 スター@ Re:hauppauge HD PVR 速報(08/25) スタービーチ <small> <a href="http://c…
 ASOBO@ Re:hauppauge HD PVR 速報 ASOBO攻略 <small> <a href="http:/…
 ハッピーメール@ Re:hauppauge HD PVR 速報 ハッピーメール <small> <a href="http:/…

Freepage List

Favorite Blog

まだ登録されていません
2009.10.24
XML
テーマ:私のPC生活(7398)
カテゴリ:Hauppauge HD PVR

 いや~、朝晩だんだん寒くなってきて、布団からなかなか出られなくなってきました。にゃんこ達はあさごはんが遅くなってしまい、死にそうな声でせがんだりしてます(笑)。

 


 

(2009/10/29 追記) スクリプトはちょっとバグってたので修正しました。

それはともかく、arecord直では自動運転するのにすこし不便なので、一枚皮をかぶせるためにrubyでスクリプトをさくっと書いてみました。

 

ruby arecord_suga.rb [-D デバイス名] [-F 保存フォルダ] [-s] ファイル名
-s は録音ストップの指定

みたいに使います。
ソースはこんな感じ


#!/usr/bin/ruby -wKu
# (c) 2009 BO
# usage
#   arecord-sugar [-D device] [-F FolderToSave] [filename]
#   arecord-sugar -s
# History
#  2009/10/29
#    fix
#      (1) way to identify PID of the running arecord
#      (2) snding kill SIGTERM to arecord correctly
#
#tested on
#   ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
require 'optparse'
opt = OptionParser.new

Config = Hash.new
#default config
Config[:folder] = '.'
Config[:stop] = false
Config[:device] = 'hw:1,0'

opt.on('-F FOLDER', '--folder=FOLDER') {|v| Config[:folder] = v.to_s  }
opt.on('-D DEVICE', '--device=DEVICE') {|v| Config[:device] = v.to_s  }
opt.on('-s', '--stop') {|v| Config[:stop] = true }
opt.parse!(ARGV)

previous_run = `ps -C arecord h`
reg = / *(\d*).*arecord .*-D +#{Config[:device]}/m

# if previus one exists, kill it
if reg =~ previous_run
    p $1
    `kill #{$1}`
end

#check if STOP mode
if Config[:stop]
    exit( 0 )
end

if ARGV[0]
    basename = ARGV[0]
else
    basename = Time.now.strftime('%Y_%m_%d__%H_%M_%S')
end

filename= "#{Config[:folder]}/#{basename}.wav"
num=0
while( File.exist?( filename ) )
    num = num +1
    filename= "#{Config[:folder]}/#{basename}_#{num}.wav"
end

cmd = "arecord -t wav -f dat -D #{Config[:device]} #{filename} & "
system( cmd )






お気に入りの記事を「いいね!」で応援しよう

Last updated  2009.10.29 21:25:38
コメント(0) | コメントを書く



© Rakuten Group, Inc.