メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

iTunesの曲名のソートができていない

音楽データをiTuensで管理するようになってた

昔、iTuensがない頃は、フォルダごとにアーティストを分けて、アルバムで分類したりして手動管理をしていたなぁ…(遠い目w)

iPhone3Gを購入した頃から、mp3を入れて聞くようになり、でもiTuensをそこまで信頼していなかったので、手動管理と並行して利用していた。

ところが、今はどうかというと、フォルダでの手動管理は全く行わなくなり、すべてiTuens上で管理している。
CDが作成したくなればプレイリストを作成したり、デバイスごとのプレイリストも作成してある。
家族用に、自分用とか子供用か…。

並び替えが上手くいかない

自分の使い方では、車のオーディオにUSBケーブルでiPhoneを接続し、シャッフルで再生するので、並び替えをすることが今までなかったので、まったく気にしていなかった。
ところが、子どもたちが使うようになり、アーティスト名や曲名で並び替えをすることが多いらしい。
その時、同じアーティストが別々になったり、曲名が綺麗に並ばなかったりするよ!と言ってきた。
確か、日本語用のメタデータ領域が追加されたのは、もう何年も前の事だったか覚えていないのだけれど、かなり昔の事だったと思う。

だから、「曲の情報」を見ると「読みがな」フィールドがあって、入力すれば正しくソートされる仕組みになっているはず。

ところが、すでに入れてある日本語の曲、それぞれに読みがなを振るのは気の遠くなる作業で、コンピュータを使う人間(面倒くさがり)に向かない作業だ。

早速、良い方法はないかと検討することに。
当然、同じようなことを考えた人もいるわけで…。

ふりがなの自動入力

「chibiegg日誌」の「iTuensの曲に自動でふりがな登録」というエントリーを見つけたので、設定することにした。
  1. MeCabをインストールする(辞書も用意)
  2. AppleScriptを作成
  3. 実行(iTuensの曲データからMeCabでふりがなを生成、読みがな項目に入力)
という流れらしい。

以前、Linuxでファイルサーバを立てた時にkakasiのお世話になったなぁと思いつつ、MeCabを入れる。

MeCabのインストール

http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html
に詳しく書かれているので、参考にすればOK。
mecab-0.996.tar.gzをダウンロード
$ tar xzvf mecab-0.996.tar.gz
で、フォルダを作成して、その中にソースファイルが展開される。
$ cd mecab-0.996
として、中に入ったら、以下の手順でOK
$ ./configure
$ make
$ sudo make install
これで、MeCabのインストールは完了。このソースには辞書が入っていないので、辞書を入れる。
mecab-ipadic-2.7.0-20070801.tar.gzをダウンロードしたら、同様に展開して作成する。
$ tar xzvf mecab-ipadic-2.7.0-20070801.tar.gz
$ cd mecab-ipadic-2.7.0-20070801
$ ./configure
$ make
$ sudo make install
でOK。chibiegg日誌では、make installは不要と書かれているけれど、現在は必要なので間違えないように。

動作確認をして、動けばOK。
$ mecab
すもももももももものうち
すもも 名詞,一般,*,*,*,*,すもも,スモモ,スモモ
助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
助詞,係助詞,*,*,*,*,も,モ,モ
もも 名詞,一般,*,*,*,*,もも,モモ,モモ
助詞,連体化,*,*,*,*,の,ノ,ノ
うち 名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ
EOS
正しく、品詞分解してくれている。

AppleScriptの保存

--確認ダイアログ
display dialog "ふりがなをふっていいですか" buttons {"No", "Yes"} default button 2
set button_a to button returned of result
if button_a = "Yes" then
 --iTunesのスクリプト
 tell application "iTunes"
  try
   set name_list to {}
   set select_track to a reference to selection
   if select_track as list is {} then return
   repeat with i in select_track
    set end of name_list to i
   end repeat
   repeat with i in name_list
    --アーティスト
    set hurigana_text to sort artist of i
    if hurigana_text is "" then
     set original_text to artist of i
     set hurigana_text to my hurigana(original_text)
     set sort artist of i to hurigana_text
    end if
    --アルバム名
    set hurigana_text to sort album of i
    if hurigana_text is "" then
     set original_text to album of i
     set hurigana_text to my hurigana(original_text)
     set sort album of i to hurigana_text
    end if
    --曲名
    set hurigana_text to sort name of i
    if hurigana_text is "" then
     set original_text to name of i
     set hurigana_text to my hurigana(original_text)
     set sort name of i to hurigana_text
    end if
   end repeat
   display dialog "完了"
  on error
   display dialog "エラー発生" buttons {"OK"} default button 1
  end try
 end tell
end if
on hurigana(original_text)
 set mecab to "echo " & quoted form of original_text & " | /usr/local/bin/mecab -Oyomi "
 mecab as text
 do shell script mecab
 return katahira(result)
end hurigana
on katahira(original_text)
 set hiracase to "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをんぁぃぅぇぉがぎぐげござじずぜぞだぢづでどっぱぴぷぺぽばびぶべぼゃゅょ"
 set katacase to "アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲンァィゥェォガギグゲゴザジズゼゾダヂヅデドッパピプペポバビブベボャュョ"
 set hiragana_text to characters of original_text
 repeat with char in hiragana_text
  set num to offset of char in katacase
  if num is not 0 then
   set contents of char to character num of hiracase
  end if
 end repeat
 return hiragana_text as text
end katahira
ありがたく使わせていただきました。
ただ、最初のdialogの「NO」「OK」は紛らわしいので、No/Yesに変更だけして…。

これを実行すれば、選択している曲の読みがなフィールドを自動で補ってくれます。

これで、これから曲を増やしても、時々実行してやればOKですね〜。
もちろん、100%正確な読みを入れてくれるわけではないですが、効率は大きく違いますので…。
こんなの手で入力したら気が狂いますもんww

コメント

このブログの人気の投稿

WPS Officeで日本語入力ができない

VirtualBoxでUSBから起動

Virtualboxとnvidiaドライバ