Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://kovayashi.blog120.fc2.com/tb.php/332-11b1faec

-件のトラックバック

-件のコメント

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

rubyでOSX Lion say -v kyokoを使ってニコ生コメント読み上げツール(棒読み)を作る。

>say -v kyoko ほげほげ
がターミナルで動くようにしたら、


#!/usr/bin/ruby
require 'rubygems'
require 'mechanize'

U={
:user=>'account',
:password=>'******'
}

puts 'input lv or url'
if /.*(lv\d{9})/=~STDIN.gets.chomp
url='http://live.nicovideo.jp/api/getplayerstatus?v='+$1
else
puts 'err bad input'
exit
end

Mechanize.new do |a|
a.get 'https://secure.nicovideo.jp/secure/login_form'

a.page.form_with(:action=>/login/) do |form|
form.field_with(:id=>'mail').value=U[:user]
form.field_with(:id=>'password').value=U[:password]
form.click_button
end

a.get url

xml_doc=Nokogiri::XML(a.page.body)

TCPSocket.open(xml_doc.xpath('//addr').text,xml_doc.xpath('//port').text) do |sock|
sock.write("<thread thread=\"#{xml_doc.xpath('//thread').text}\" res_from=\"-1\" version=\"20061206\" scores=\"1\"/>\0")
sock.each("\0") do |l|
next unless l=~/>([^\/]+)</
puts $1
#fork do
IO.popen('say -v kyoko>/dev/null 2>&1','w') do |io|
io.puts $1
end
#end
end
end
end


#forkと#endはお好みで外してください。

ツイキャス用はこちら
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://kovayashi.blog120.fc2.com/tb.php/332-11b1faec

0件のトラックバック

0件のコメント

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

Appendix

プロフィール

kovayashi

Author:kovayashi
・嫌いなもの
 →好きなもの

・インストール
 →バンドル
・バックアップ
 →アップロード
・努力
 →チート

最近のトラックバック

ブログ内検索

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。