プログラミングについての記事
2008年06月22日
2008年06月21日
2008年05月11日
Leopardの「辞書」アプリで「ランダムハウス英語辞典」を使う
Leopardの辞書アプリ(Dictionary.app)で英辞郎を使えるようにしたおかげで、海外のサイトを読むのもずいぶん楽になった。しかし、単語の意味などをもう少し詳しく知りたいという時は、英辞郎だとちと物足りない。そこで、だいぶ前に買ったまま、ほとんど活用していなかったランダムハウス英語辞典(第二版)をDictionary.app用に変換してみることにする。
ランダムハウス英語辞典が使えるMac用の辞書ソフトとしては、すでにJammingがあるが、できればDictionary.appにまとめたいところ。検索機能はJammingが格段に優れているが、日常的にさっと調べるならDictionary.appの方が使いやすく感じる。まあ、変換処理自体が面白くなってきたというのもあるのだけど。
2008年02月12日
Leopardの「辞書」アプリでEPWING辞書を使う
これまでに、Leopardの「辞書」アプリケーション(Dictionary.app)で英辞郎や郵便番号辞書を使う方法を紹介してきたが、EPWING形式の辞書を使いたいという要望が結構あるようなのでチャレンジしてみた。
ありがたいことに、hishida氏がEPWING構造解析ツール「EBDump」を、太田純氏がEBDumpの出力をHTMLに変換する「ebd2html」を発表されているのでこれらを利用させていただいた。なお、両ソフトともWindows用なので、以下で述べる作業を行うにはWindowsが必要になる(Parallels Desktop for Macなどの仮想環境でもOK)。
2007年11月20日
Leopardの「辞書」アプリで郵便番号辞書を使う
Mac OS X v10.5 "Leopard"の辞書(Dictionary.app)が面白くて仕方がない。control+command+Dを押していれば、どんどん自動的に辞書を引いていってくれるのは、思っていた以上に快適だ。
先の記事では、英辞郎の変換方法を紹介したが、ほかのデータでも辞書アプリを活用したい。そこで、日本郵便が公開している郵便番号データを辞書アプリ用に変換してみた。これから年賀状のシーズンだし。
この辞書では、郵便番号から住所を、あるいは逆に住所から郵便番号を引ける。読み方のわからない住所を調べるのにも役立つかもしれない。
2007年11月06日
Leopardの「辞書」アプリで「英辞郎」を使う
先の記事でも書いたように、Mac OS X v10.5 "Leopard"の「辞書」アプリケーション(辞書.app / Dictionary.app)用の辞書はユーザーが追加できるようになっている。そこで、定番の英和辞書「英辞郎」を変換するツールを作ってみた。英辞郎は、現時点で最新のv108を使用している。
"Leopardの「辞書」アプリで「英辞郎」を使う"の続きを読む。2007年02月28日
今だから、読書会
編集作業などを効率化するために、時々Rubyで簡単なスクリプトを書いて使っている。PCJapan用語辞典デジタル版の制作作業も半自動化しているのだけど、私のスクリプトはグローバル変数を多用したそれはそれは汚いものだったりする(よくここまでオブジェクト指向プログラミング言語っぽくないようにRubyを使えるものだ……)。また、Ruby on RailsによるWebアプリケーションにも興味があるため、きちんとRubyを勉強してみたいとは思ってはいるが、仕事の合間にやろうとしてもなかなか身につかない。何かいい方法はないかなと探したところ、「Rubyの本読書会」が開催されていることを知り、早速参加してみる。
内容は、30数人が会議室に集まり、小グループに分かれて『プログラミングRuby 第2版 言語編』を交代で音読していくというもの。声を出したり、人の声を聞きながらゆっくり読み進めていくと、理解せずにいい加減にとばしていたところが多いことに気づく。簡単そうなサンプルコードに実は高度な内容が盛り込まれていることも、スタッフの方に教えていただいて本当に勉強になる。また、参加者ともいろいろ有益な情報交換ができた。主催されたスタッフの方々、どうもご苦労様でした。
音読なんて聞くとアナクロな印象を受けるが、自発的に参加するなら(まあ何でもそうだが)かなり効果的な学習メソッドかも。参加するために、急いで仕事を片付けようとするし、ちょっとでも予習するという副次的な効果もある。
知識をインプットする際は、こういうアナログなやり方の方が脳を刺激していいのかな。とりあえず、しばらくはがんばって参加してみたい。
2006年09月14日
超いーかげん、Safariで開いているタブをはてなブックマークに登録するスクリプト
前のエントリで書いた「Mac OS XのSafariで開いているタブをまとめてはてなブックマークに登録するAppleScript」がいちおうできたけど……。
こちらのページによれば、はてなブックマークはだいぶ前に仕様変更されて、確認画面なしでは登録できなくなったようだ。タグを付けた状態で確認画面を呼び出すこともできない。確かにこれが可能だと、スパム的なブックマークががんがん登録されてしまうから仕方ないのか。
そういうわけで、「タブで開いているページをまとめてはてなブックマークへ登録するのがちょっと楽になるAppleScript」になってしまった。Safariで複数タブを開いた状態で下記のスクリプトを実行すると、それぞれのページについてのはてなブックマーク登録画面が現れる。タブの切り替えルーチンが非常にいい加減なので、同じURLのページが複数あるとそこで止まってしまうし、複数ウィンドウにも対応していない。KOTOERAで公開されている「Safari で開いている全ての URL からロケーションファイルを作成」スクリプトのタブ切り替えルーチンは、複数ウィンドウでタブを開いている場合でもうまく動作するようだ。
tell application "Safari"
set i to true
set URL_list to {}
repeat
if exists the URL of document 1 then
set this_URL to the URL of document 1
else
set this_URL to ""
end if
repeat with j from 1 to count of URL_list
if this_URL = item j of URL_list then
set i to false
exit repeat
end if
end repeat
if i = true then
set URL_list to URL_list & {this_URL}
my next_tab()
else
exit repeat
end if
end repeat
repeat with j from 1 to count of URL_list
open location "http://b.hatena.ne.jp/add?mode=confirm&url=" & item j of URL_list
end repeat
end tell
on next_tab()
tell application "Safari" to activate
tell application "System Events"
tell process "Safari"
click menu item "次のタブを選択" of menu "ウインドウ" of menu bar 1
end tell
end tell
end next_tab
2006年09月13日
SafariのAppleScriptに苦闘
この前のエントリで書いた、「Mac OS XのSafariで開いているタブをすべてはてなブックマークに登録するスクリプト」を作ってみようと思い立つ。ちょっとした息抜きになるかと思ったら、これがかなりややこしい。AppleScript超初心者の私がいうのも何だけど、AppleScriptから呼び出せるSafariの機能ってあまりにも貧弱すぎじゃないか。特にタブ関連。
そもそも、開いているタブの数を取得したり、タブを切り替えることすらできないのだ。複数のタブのURLを取得する方法として、ちょっと思いついたのは、
・現在のページのURLを取得
・そのURLを配列(AppleScriptだとリスト)に保存
・AppleScriptのUI Scripting(メニューやボタン操作をAppleScriptから行う)を使って、次のタブを選択
・これだと無限にタブを切り替え続けてしまうから、現在のページのURLを配列内のデータと比較して、一致したら終了(このアルゴリズムだと同じURLのページを開いていた場合問題になるけど、とにかく手軽さ最優先)
これでうまく行くかと思いきや、処理の途中で無限ループに入ってしまう。うーむ、AppleScript(というかプログラム全般ですが)はよくわからん……。
2006年09月11日
携帯電話でのRSS、Webブラウジングについてあれこれ
前のエントリーでも書いたが、RSSリーダーとしてNetNewsWireとNewsGatorの組み合わせはかなり使いやすい。Mac OS X上では、NetNewsWireでサクサクSpotlight検索もできるし、フィードの整理も楽。未読や既読の状態をNewsGatorにそのまま引き継げるから、携帯電話上で続きを読める(フィードによってはなぜかNewsGator側で読み込まれないものもあるけど)。
ただ、気になった記事を携帯電話から「はてなブックマーク」に登録するのがちょっと面倒。はてなブックマーク登録用のブックマークレットは、私が使っているauのW41CAでも使えることは使える。しかし、ブックマークレットを呼び出すといちいちはてなのIDとパスワードを入力しないといけない(PCサイトビューアを終了するまでは覚えていてくれるが)。要するに、W41CAのPCサイトビューア(Opera)にはパスワードなどの認証管理機能が搭載されていないのだ。W41CAのメモ帳にIDやパスワードを書き込んでおいて、入力画面で呼び出すということをやっているが、これだと使い勝手がイマイチ。しかし、かなり気に入っているW41CAを認証管理機能のためだけに買い換えるのもちょっとなあ……。
あと、パソコンと携帯電話の連携ということで、パソコンのブラウザで開いているページをそのまま携帯電話でも見られると便利なのではないかと考えた。開いているページのURLをすべて取得して、それらをはてなブックマークに登録して「あとで読む」タグを付けておくとよいかなと。簡単なスクリプトでできそうに思えたのだが、これが意外に厄介。Mac OS XのSafariはAppleScriptでコントロールできるようになっているのだが、実はJavaScriptを実行する機能と現在のページのURLを取得する機能ぐらいしかなかったりする。開いているタブやウィンドウの数をAppleScriptで取得して、処理してやればいいだけのはずなんだけど。
2006年03月07日
メールのMessage-Idを一覧表示
メールのMessage-Idを一覧表示させる必要ができたので、そのメモ。
OutlookのVBAにはMessage-Idを直接取得するためのプロパティが用意されていない。何やらCDOを使ってMAPIを呼び出すとか、Redemptionというツールを使う必要があるらしい。Outlook TipsというサイトにMAPIを利用したサンプルが掲載されていた(動作は未確認)。
これに比べて、Mac OS XのMail.appはすごく簡単。Message-IdをAppleScriptから直接取得できる。以下は、Mac OS Xに収録されていたMail.app用サンプルスクリプトをちょこっといじったもの。Mail.app上でメールを選択しスクリプトを実行すると、ダイアログにMessage-Idのリストが表示される(利用は自己責任で)。
2005年10月24日
ケータイからビデオキャスティングする方法を考えてみる
ビデオキャスティング(Vodcasting)の可能性をいろいろ探っているわけだが、やはり携帯電話からムービーを投稿して、それがポッドキャスティングされるのがいちばん便利だろう。そういうサービスもすぐに出てくると思うが、自分のMac環境で手軽にできないか考えてみる。
(1)携帯電話から自分宛にムービーメールを送信。件名には特定の文字列を付加しておく。
(2)Mac OS XのMail.appのルールを使って特定文字列を件名に含むメールを振り分け。添付ファイルを取り出す。
(3)QuickTimeを使って、携帯ムービーをiPodで見られるm4v形式に変換。
(4)CyberDuckなどのFTPソフトでm4vファイルを自分のブログにアップロード。
(5)MarsEditなどのブログエディタで記事を執筆、m4vファイルへのリンクを張って、ブログに投稿。
AppleScriptを使えば(2)から(5)を自動化できそう!……と思ったのだが、(2)の受信メールから添付ファイルを取り出すところで早くも詰まってしまった。先は長いな……。
2005年10月20日
自動組版のセミナーに参加してきた
JAGAT(日本印刷技術協会)が主催する「紙面制作の自動化とページデザイン」のセミナーに参加してきた。PCJapan用語辞典のワークフロー作りをお手伝いしたということで、無理を言ってタダで(←ここ重要(笑))聴講させてもらったのだ。
このワークフローについて簡単に述べておこう。ハッカー用語辞典2004まではMac OS 9+QuarkXPressの環境だったが、PCJapan用語辞典2005からはDTPプロダクションのビーワークスと話し合ってInDesignを使ってもらうことにした。私の立場からの理由は2つ。XMLとUnicodeである。
PCJapan用語辞典の制作ではデジタル版(WindowsのHTML Help形式)を作るためにDTPデータを再利用したい。そのために、XMLでデータをやり取りできれば作業がスムーズに行くと考えた。
2005年09月12日
QuickTime 7は、再生速度変更機能にバグがある
以前、Mac OS XのQuickTimeを利用したテープ起こし支援スクリプトを作成した。しかし、QuickTime 7(現在の最新バージョンは7.0.2)になってからどうもこれがうまく動作しない。再生速度を落としている時に「再生/一時停止」のスクリプトを実行すると、本来なら一時停止するはずなのにしないのだ。
調べてみると、再生速度が100%未満の時は、再生中かどうかを示す「playing」プロパティの値が不正になっているらしい。つまり、遅聞きしている時は、曲を再生していても停止中だと認識されているようなのだ。
テープ起こしをする時は再生速度を落とすことが多いから、このバグはかなり迷惑。アップルにもレポートを出したが埒があかないので、海外のメーリングリストで尋ねたところ、親切な人がアドバイスしてくれた。彼によれば、playingプロパティの代わりに再生速度が0かどうかで判断すればよいのではないかということ。試してみると、確かにちゃんと動作した(修正版のスクリプトはこちら)。
ただし、Quicktime PlayerのA/Vコントロールから再生速度を落とした時はうまくいくのだけど、スクリプトを使って落とした時はなぜか再生速度が100%に戻ってしまう。まあ、それほどこまめに再生速度を変えるわけではないのでとりあえず放ってあるが……。Mac OS XやQuickTimeはどうも細かいバグが多いんだよなあ。
(2006年5月14日追記)
上記の問題については、QuickTime 7.1で修正されたようだ。
2005年08月22日
PCJapan用語辞典2005デジタル版
PC雑誌『PCJapan』の毎年恒例付録がPCJapan用語辞典。2005年版は432ページの大ボリュームなのである。
これをパソコン上で使えるようにしたのが「PCJapan用語辞典2005デジタル版」で、このソフトを含む「PCJapan Special CD-ROM2005」がPCJapanの年間定期購読者にはもれなくプレゼントされる(市販もあり(価格は税込み2,000円))。
私は紙版の編集と、デジタル版の制作作業を担当している。自分で作っておいていうのも何だが、このPCJapan用語辞典2005デジタル版はなかなか重宝する。ローカルのパソコン上で使うものだから動作も軽快だし、Windows標準のHTML Help形式なので余計なソフトもインストールされない。さらに、説明文内の用語にはリンクが貼ってあるため、用語間を1クリックでジャンプできてこれがとても快適なのだ。
PCJapan Special CD-ROM2005には、PCJapan全目次データもHTML Help形式で収録されている。PC関連のマニアックな情報に興味がある人はぜひ使っていただきたい。
2005年05月24日
NetNewsWireとMarsEdit
ranchero softwareのRSSリーダー「NetNewsWire」とブログエディタ「MarsEdit」のコンビネーションがとてもいい感じだ。NetNewsWireでは、TigerのSpotlightにも対応し、指定した条件のフィードを表示するスマートリスト機能が装備されている。内蔵のWebブラウザもよくできていて、サクサク記事を読んでいける。MarsEditは、すでに投稿した記事の編集もしやすいし、画像のアップロードも手軽。あとサムネール画像の作成機能が付けば、個人的にはいうことなしだ。
"NetNewsWireとMarsEdit"の続きを読む。2005年04月29日
QuickTime 7では、音程を変えずに再生速度を変えられる
Mac OS X v10.4 "Tiger"が発売され、さっそくあれこれいじっている。
TigerではQuickTimeのバージョンが7になり、録画や録音も単体でできるなど、かなり強力なツールになっている。面白い変更点として、新しく「A/Vコントロール」から再生速度の変更ができるようになったのだが、試してみると速度を変更してもピッチ(音程)が変わらない。
もしかして、と思い、以前AppleScriptで作成したテープ起こし支援スクリプトを動かしてみると、こちらでもピッチはそのまま。QuickTime 6までは速度を速めるとピッチが高くなっていたのだ。
テープ起こしや外国語のリスニング、楽器の練習などにも便利に使えそう。
(2005年5月20日追記)
さらに調べてみると、Tigerでは上記のテープ起こし支援スクリプトのうち、再生と一時停止を行うものがうまく動作しない。現在ムービーが再生中かどうかを判定して、再生・一時停止を切り替えるだけの極めて単純なものなのだが。どうも一部プロパティの仕様がQuickTime 7では変更されたようだ。現在、対応策を調査中。せっかく再生速度変更が賢くなったのに……。
(2005年5月21日追記)
再生・一時停止のスクリプトが動作していなかったのは、私のミス。というか、何でQuickTime 6まではこれで動いていたんだろう……。
2005年04月03日
StickyBrainはMac版「知子の情報」か?
だいぶ前から「知子の情報」(Amazon)の代わりになるソフトウェアを探していた。知子の情報は、不定形の文章型データベースソフト。思いつきとか、Webで見つけた記事等々をこのソフトに放り込んでいる。知子の情報では、データが1つのファイルとしてまとまっており、カードをめくる感覚でデータを探していける。全文検索や索引検索の機能も強力だ。
ただ、優れたソフトウェアではあるものの、さすがに設計の古さが目に付くようになってきた。最新版であるVer.9の登場は7年前で、バージョンアップされる気配もない。知子の情報で扱えるのは、基本的にテキストデータだけだから、画像を貼り付けるといったこともできない。
そうはいっても、これに匹敵する使い勝手のソフトがなかなか見つからなかった。
2005年03月28日
DashboardはMac OS X以外でも動く?
Mac OS Xの次期バージョン「10.4」(コードネーム「Tiger」)のウリに、Dashboardがある。これは、手軽に呼び出して使えるアクセサリ類を動かすための仕組みだ。Dashboardのウィジェット(プログラム)はHTMLとJavaScriptで書かれている……つまり、一般的なWebページとほとんど同じような構造になっている。
Mac OS X限定だと思われていたDashboardだが、どうも標準化を目指した動き(MYCOM PC WEB)があるらしいというニュース。Web Hypertext Application Technology Working Group(whatwg)というワーキンググループが策定している仕様にそれらしきことが書かれているらしい。
whatwgは、開発中のActive X対抗技術とも関係があるのかな? 両方ともMozilla、Opera、アップルが関わっているようだが。
なお、Dashboardに似たような仕組みとしてKonfabulatorがあり、こちらはWindowsとMac OS Xで動く(ウィジェットはXML+JavaScriptで記述する)。以前、DashboardとKonfabulatorの類似性が話題になったが、どうもDashboardとKonfabulatorでは目指しているものが微妙に異なる気もする。
2004年11月09日
KonfabulatorのWindows版登場
ついにKonfabulatorのWindows版が登場した。Konfabulatorというのは、デスクトップアクセサリを動かすためのソフトで、Mac上ではけっこう人気がある(と思う)。Konfabulator用のアクセサリ(Widgetという)はJavaScript+XMLで記述されており、プログラムは比較的簡単という話。Windows版でもMac OS X版でも同じWidgetが走る。半透明機能を活かしたWidgetは、どれもなかなかお洒落。
Mac OS X v10.4"Tiger"には、Konfabulatorとよく似たDashboardという機能が搭載されるのだが、Konfabulatorとの間に互換性はない。Konfabulatorの作者は、かなりDashboardに腹を立てていたようだが、独自路線を貫くと決めたようだ。となると、今後はWindows版の方に、より力を入れるようになってくるのかな?
2004年07月13日
Keyboard MaestroをStairways Softwareが買収
「Keyboard Maestro」は、マクロを自由にキーへ割り当てられるMac用ユーティリティだ。AppleScriptもキー操作1つで実行できて、非常に便利。私は、QuickTime PlayerやiTunesでのテープ起こし支援スクリプトを割り当てて使っている。実をいうと、無料のLite版だったりする(無料版でも20個まで操作を割り当てられる)。
ところが、Bridge 1 Softwareのページを覗いてみると、Keyboard Maestroの配布が停止されている。これはStairways SoftwareというメーカーがKeyboard Maestroを買収したためらしい。2ヶ月後くらいに、Keyboard Maestroのバージョン2.0が登場する模様。2年くらいずっと、新バージョンが出ていなかったから、まずは喜ばしい。今後もLite版を提供してくれるとさらにうれしいなあ。
2004年06月29日
Konfabulator ≒ TigerのDashboard?
サンフランシスコで開催されているアップルの開発者会議「WWDC 2004」において、Mac OS Xの次期バージョン「Mac OS X v10.4 Tiger」のプレビューが行われた。
次期Windows「Longhorn」のWinFS(新しいファイルシステム)を先取りするような検索機能「Spotlight」(実装方法はまったく違うと思うが)、RSSアグリゲーターの機能を備えた「Safari」、反復作業を自動化する「Automator」等、気になる機能が満載されている。
中でも気になったのが、「Dashboard」。これは、デスクトップに置ける便利なアクセサリソフト(Widget)を管理するもので、WidgetはJavaScriptで記述できて……むむ、どこかで聞いたような。これは、何度か取り上げた(この記事とかこの記事)「Konfabulator」にそっくりなのだ(Widgetという用語も)。
アップルがサードパーティの機能を取り入れるということは、かつてDA(デスクアクセサリ)の時にもあったらしいから(この頃のMacについて私はあまりよく知らない)、Dashboardもそうなのか? しかし、6月28日付けの開発者からのコメントを見ると、アップルから彼らに対して何の連絡もなかったらしい。また、機能や外観は非常に似ているが、KonfabulatorとDashboardのWidgetに互換性があるのかどうかも、これを読む限りではわからない。開発者のPerry Clarke氏は、Remember, Konfabulator is Whatever you want it to be, anything else is just a sincere imitation.
と述べており、かなり憤慨しているように思われるが……。
機能は似ていてWidgetに互換性がないのも問題だし(すでにKonfabulator用Widgetは何百種類と発表されている)、Widgetの互換性があるのにオリジナルの開発者との交渉がないのも大問題。アップルが今後どういう対応をしてくるのか注目していきたい。
そういや、KonfabulatorのWindows版を出すという話はどうなったのだろう。(→追記:4月時点での日誌によれば、Windows版を開発していたプログラマを入れ替えて最初から書き直しているようですな。)
(追記)
CNET Japanでもけっこう大きく取り上げられてますね。
(2004/07/12追記)
ITmedia PCUPdate「アップル、次期OS“Tiger”のプレビュー」ではDashboardのWidgetについて、
このWidgetはHTML+JavaScriptで書かれている(櫻場氏はXMLではなくHTMLと言った)ので、新しいものを作るのも(プログラマーには)簡単だ。と書かれている。Widgetに互換性はないようだ。HTML+JavaScriptということからすると、DashboardのWidgetはWebページのようなもの(あるいはWebページそのもの?)なのだろう。そうであるならば、確かに作りやすいかもしれない。
また、「MozillaやOpera、Appleなどがスクリプト可能なプラグインAPIを共同開発へ」(INTERNET Watch)という記事によれば、
現在、Flash、Shockwave、QuickTime、Javaなどのプラグインが利用されているが、新たにスクリプト可能なプラグインAPIを使用することで、スクリプトを使ってプラグインを操作できるようになる。とのこと。FlashやQuickTimeを使った、派手なWidgetも登場してくるのではないだろうか。
2004年06月20日
Gmailを試用中
知り合いからのお誘いをいただいて、話題のGmailを試用中。Googleがベータテストを行っている、1GBの容量を持ったメールサービスだ。
すでにいろいろな記事で詳しい使い勝手が紹介されている。
・1GBの衝撃! Googleの無料Webメールサービス「Gmail」(MYCOM PC WEB)
・シリコンバレー101「第84回 Gmailに満足できなくなった理由」
・Windows XPスマートチューニング「第121回 自動デスクトップクリーンアップ機能の実行日数を調整する」
ちょっと使ってみた感想としては、Web上のサービスであるにもかかわらず、実に快適に動作するということ。ショートカットキーも用意されており、メールソフトに近い感覚で使える。また、自分のメールをGoogleの検索技術を使って探し出せるというのは大きな魅力だ(現時点では日本語での検索に未対応)。
2004年06月03日
Outlookの邪魔な確認ダイアログをスキップする
Outlookのデータ(メールやアドレス帳)に外部アプリケーションからアクセスしようとすると、下のようなダイアログが表示される(関連記事)。

「はい」をクリックだけではダメで、いちいちチェックボックスにチェックを入れ、リストからアクセスを許可する時間を選択しなければならない。このダイアログを表示させないようにするオプションは存在しないという、「ふざけんなよ」的特別仕様になっている。私の場合は、サーチクロスや各種シンクソフトを使う場合に表示されて頭に来ていた。アクセス許可時間は最大で10分までしか指定できないから、それ以上時間のかかる処理をする場合(例えばサーチクロスのインデックス更新)でもパソコンから離れられない。あるいは設定したスケジュールで自動処理することもできないのだ。
それを解決してくれるソフトが「Express ClickYes」(>まっちゃんさん、情報をありがとうございました!)。タスクトレイ(今は「通知領域」というんだっけ?)に常駐させておくと、ダイアログを勝手にキャンセルしてくれる。

これは便利!
2004年05月28日
iTunesで再生中の曲や教材をちょっとだけ巻き戻す
iPodやiTunesで曲(というか英語教材)を聞いていると、数秒だけ巻き戻したいことがよくある。iPodでもiTunesでも、巻き戻し・早送りボタンをちょっと長めに押すことで5秒ほど巻き戻し(あるいは早送り)できる。しかし、押す時間が短いと前の曲や次の曲が再生されてしまうし、こうした巻き戻し・早送り操作はキーボードから行えない。
iPodはいじりようがないからあきらめるとして、iTunesだけでも何とかならないかと調べてみたら、よさげなものを見つけた。Doug's AppleScript for iTunesにある「Replay Last Bit」というスクリプトだ。このスクリプトを実行すれば、再生中の曲を7秒分巻き戻せる。
2004年05月21日
Windows版iTunes用の開発キット
Appleが、Windows版iTunesの開発キット(SDK)を公開しているとのこと(参考記事:CNET Japan)。これを使えば、iTunes for Windowsを操作するアプリケーションが簡単に作成できるようになる。
COMで操作するということだから、WSH(Windows Scripting Host)を利用して、まあ要するにJavaScript(正確にはJScriptか)やVBScriptなどのスクリプトからもiTunesをコントロールできるはず(試してないけど)。
タスクスケジューラーで設定時刻にスクリプトを起動するようにしておけば、Mac用タイマーソフト「iBeeZz」のように、目覚まし時計としてiTunes for Windowsを使うこともできるだろう。
2004年05月18日
Macでテープ起こし
以前にも書いたが、私はインタビュー等の録音にサンヨーのICレコーダー「ICR-S290RM」(Amazon)を、テープ起こし(正確にはMP3ファイル起こし)には「おこしやす」というWindows用のソフトを使っている。
この環境で特に不満はないのだが、最近は取材先に新幹線で行くことが多くなってきた。帰りの車内でテープ起こしをするためにノートパソコンを持っていくのだが、まともに使えるノートパソコンはiBookしか持っていないので「おこしやす」が使えない。キーボードを打ちながらICレコーダーの再生操作を行うのは面倒だし、ICR-S290RMは再生速度の変更ができないのだ。
そこで、Mac OS Xで使える(できれば無料の)テープ起こし用ソフトを探してみたのだが、どうも適当なものが見つからない。
必要な条件は、
・テキストエディタやワープロを使いながら、再生・停止等の操作が行える。
・前後に5秒程度スキップできる。
・再生速度を変えられる。
・一時停止して、もう一度再生する時には、5秒程度前から再生する。
といったところなので、QuickTime Playerを操作するAppleScriptを作ってみた。ダウンロードはこちらから(例によって、使用は自己責任でお願いします)。アーカイブの中には、6本のスクリプトが含まれている(「再生/一時停止」「前後に5秒程度スキップ」「再生速度を15%ずつ増減」「元の再生速度に戻す」)。
ただし、これらのスクリプトだけではあまり役に立たない。iKey、Keyboard Maestro(無料の旧バージョンはこちらからダウンロードできる)やPFKeyAvailerX、QuicKeys Xなどのユーティリティでキーボードに割り当てて使ってほしい。
あと、再生速度を変更したあと、一時停止してまた再生すると、再生速度が100%に戻ってしまう。設定ファイルを作って、そこに再生速度のデータを書き込めばいいのだけど。まだAppleScriptがよくわかっていないし、今のところ使ってみてそれほど困っていないので、とりあえず放ってある。
(2004年5月22日追記)
AppleScriptでは「property」によって値をスクリプトファイル中に埋め込めるんですね! ちょっとした値を保存するためにいちいち設定ファイルの読み書きをする必要がなくて便利。ほかのスクリプト言語にはない面白い機能だなあ。これを使って「再生/一時停止」のスクリプトを書き換えて、一時停止した場合にも再生速度を覚えているように修正した。
(2004年5月28日追記)
iTunesでのテープ起こしを支援するスクリプトを作成。ただし、先述のQuickTime Player用スクリプトと違って再生速度の変更はできない。ダウンロードはこちらから。
(2005年4月29日追記)
QuickTime 7では、再生速度を変えてもピッチ(音の高さ)が変わらないようになった。
(2005年5月21日追記)
QuickTime 7では再生・一時停止のスクリプトが動作していなかったので修正。というか、何でQuickTime 6まではこれで動いていたんだろう……。
(2005年9月12日追記)
QuickTime 7では、再生速度を落としている場合、再生/一時停止のスクリプトがうまく動作しなかったのを修正。
(2006年5月14日追記)
QuickTime 7における再生速度についての問題は、7.1で修正されたようだ。
2004年05月03日
再生位置を記憶するAACを手軽に作成
iTunesやiPodで使うAAC形式は再生位置の記憶機能がある(ネタ元:Nitram+Nunca Alternative)。これを使うと、ある曲の途中で別の曲を再生し再度元の曲を再生した時、以前に聞いていた位置を覚えていてくれる。スピーチものを聞くのがとても便利になるのだ。
この機能を利用するには、AACファイルのファイルタイプをMac上で変更するだけだが、個別のファイルをいちいち編集するのも面倒だし、シェアウェアを買うほどでもないなあと思ったので、スクリプトで処理することにした。といっても、Appleが公開しているサンプルスクリプト(Change to AAC)をちょっと書き換えただけ。iTunesで作成されたAACファイルをドラッグ&ドロップすると、そのファイルのファイルタイプを"M4B "に書き換えるというものだ(Mac OS X用。元ファイルを直接変更することに注意)。iPodと同期させた後にファイルタイプを書き換えてもアップデートでは更新されないようなので、同期させる前に使った方がよいだろう。あ、そうそうiTunesのライブラリやプレイリストからファイルの実体をFinderで表示するには、曲を選択して「command」+「R」キーを押せばいい。
私はAppleScriptをいじるのがはじめてで、大ボケをかましている可能性もあるのだけど、興味がある人は自己責任でどうぞ(ダウンロードはこちらから)。
2004年04月28日
あいまい検索に対応した書誌検索端末
三省堂書店が、日本IBMの検索用ソフトウェアを利用して店頭検索端末であいまい検索機能を実現した(CNET Japan)というニュース。記事によれば、
全角/半角や大文字/小文字の違い、長音記号の有無、「ヂ」や「ジ」など濁音の相違、誤記など、表記方法の揺れを吸収するという負荷の高い検索処理を高速処理できるようになったという。例えば、「芥川龍之介」で探す場合、「竜之介」や「龍之助」と間違った入力をしても、全著作を1秒以内に検索できた。とのこと。
実際に三省堂書店神田本店で触ってみた。確かに、レスポンスが驚くほど速い。これまでの書誌検索端末とは、レベルの違う操作感だ。試しに「バイオリン」が書名に含まれる書籍を検索してみると、「ヴァイオリン」などを含むものも検索される。ただし、「バイリンガル」を含むものも結果に含まれていた。これはバグではなく、少しの打ち間違えは許容する仕様になっているからだろう。記事では漢字の打ち間違えにも対応すると書いてあるが、客が操作できる端末からは漢字の入力はできないので、これは社員用検索システムについてのことと思われる。

"あいまい検索に対応した書誌検索端末"の続きを読む。
2004年04月15日
コミュニケーション用の絵記号300語、JIS規格化
2004年4月15日付の朝日新聞朝刊によれば、「PICシンボル」300語がJIS規格化される見通しになったとのこと。PICは1980年代にカナダで開発された絵記号で、障害者のコミュニケーションや、外国人の日本語学習教材に利用されている。日本PIC研究会のWebページは、こちら。
実は、私もだいぶ前(99年ころ)からPICに興味があって、関連書籍を購入したりしていた。Palmのプログラミングを勉強しようと思っていたので、Palm上で動くPICのコミュニケーションツールを作ってみようかと思っていたのだ。アイコンデータはないかと探したら、パソコン用にPIC DICというものが出ていた。ただこのソフトが高かったのと、日本PIC研究会が関西中心に活動していること、あとPalmプログラミングが難しかったこと(とほほ。そのころはCodeWarriorくらいしかなかったし(←言い訳))等々により、あっさり挫折してしまった。
PICシンボルがJIS化されれば、アイコンデータの入手ももっとしやすくなるだろう。フォントとして提供するメーカーも出てくるのではないか。Unicodeなどの文字集合に取り入れられればさらにすばらしい。そうなれば、パソコンやPDA用アプリケーションのアイコンをデザインする手間もだいぶ軽減されるかもしれない。
上の記事では、
日本PIC研究会員で、JSA(日本規格協会)の調査委員会の一員としてJIS化に取り組んだ井上智義・同志社大学教授は「言語障害者や高齢者の会話用だけでなく、言葉の通じない外国でこのソフトが入ったパソコンかカードで買い物をすることも可能」と話している。と書かれている。確かにPICシンボルの解説書を読んでいると、これならかなり細かいところまで意思疎通できるのでは!という気になってくるのだ。今後の展開に期待大。
2004年01月30日
『プログラミング言語AWK』再発行
新紀元社から『プログラミング言語AWK』という書籍が発行された。AWKは、UNIX系OS(Mac OS Xも含む)に標準で備わっているテキスト処理ツール。UNIXのみならず、DOS、Windowsなど、さまざまなプラットフォームに移植されている。AWKは単なるツールではなく、非常に奥の深いプログラミング言語でもある。C言語の開発者達が、ちょっとした処理をCよりも簡単に記述するために開発したものだという。
私は、シャープのX68000というパソコン(興味がある人はこちら)を使っている時にAWKを知ってはまった。例えば、タブ区切りのデータがあったとすると、特定の項目だけを抜き出したり、入れ替えたりといった処理が実に簡単に行える。テキストデータを1行ずつ読み込み、区切り文字で自動的に分割してくれるので、ユーザーは細かな処理をいちいち記述する必要がない。PerlやRubyといったスクリプト言語のはしりといってもいいだろう。
『プログラミング言語AWK』は、1989年にトッパンから初めての邦訳が発行され(以前紹介したのはこのバージョン)、2001年にシイエム・シイから再発行、そして今回、新紀元社からまた再発行されることになった。書店でざっと見た限りでは、最初の版と内容はまったく同じようだ。ちなみに、新紀元社はトッパンから、いろいろと本の版権を買い取ったようで、情報工学シリーズとしても『CプログラミングFAQ』、『Cプログラミングの落とし穴』もいっしょに発売されている。
『プログラミング言語AWK』は、プログラミング言語の解説書ではあるのだけど、とても読みやすく書かれている。「テキストデータを効率的に処理したいなあ」と思っているのであれば、まず手にとってほしい名著だと思う。プログラミングのとっかかりにもなると思うし。
昔読んで、いいと思った本が何度も再発行され、ちょっとうれしかったので紹介してみた。