このブログを検索

大文字小文字を区別する 正規表現

Atelierで“download”が含まれるブログ記事

2018年5月 4日

隠居のPC備忘録:Picasa3の代替ソフトにSONY PlayMemoriesを使う

Google が提供してくれていた Pucasa3 がサポートされなくなった。もともと導入して便利に使っていたデスクトップパソコン(Windows10 64bit) では、従来どおり動作するのであるが、同じく Windows10 のノートブックでは、思い通りに動かない。Google はその代替として Google フォトを推進しているのであるが、ファイルを保存するなどには便利なもののブログにアップするために、写真をリサイズしたり、トリミングやレタッチがやりにくい。それに、十分なEXIFデータが得られない。
 それでPicasa3 に代わるソフトがないかとネットサーチをしてみると、なんと私がデジカメからPCに写真を取り込むときに使っている SONY の PlayMemories HOME が Picasa3 と同様の機能を持っていることが判明した。使い方が少々異なるので、備忘録的に記録しておきたい。
 たくさん機能がありすぎて、まだ咀嚼できていないが、散策などで撮った写真をブログにアップする作業を中心に記録する。

  • カメラから写真をPCに取り込む。カメラまたはSDカードをカードリーダーでPCにつなぐと、画像取り込み画面がでるので、取り込み先を指定する。取り込み先は、PlayMemories のメニューバー「ツール」タブの「設定」で表示される"フォルダーの登録"で登録したフォルダーを「参照」ボタンで選択する。
  • ;クリックすると大きな写真になります。

  • 写真の取り込みは、普通には、撮影日毎に取り込まれる。私の場合、カメラ本体別のフォルダーに撮影日別に取り込んでいる。以下の例は、先日山荘に行ったときに撮った写真をブログに掲載するための処理手順である。
     取り込み先は、家庭内のネットワーク・ディスク(NAS)である。このようにしておけば、かなりの大量の写真を家庭内LANにつながっているPCから参照できる。ただし、左コラムの下方にある「フォルダーの登録」で、PlayMemories に表示させる登録しておく必要がある。
  • ;クリックすると大きな写真になります。

  • ブログに載せる写真は、もともとの写真から選択し、トリミングやレタッチなど編集を施し、リサイズ(ブログに載せる写真は長辺800ピクセルとして縮小)して、ブログに表示する写真のフォルダーに転送している。
     この作業には、PlayMemories HOME の右カラム上部のタグで「ツール」?「写真の編集/変換」を選択する。
  • ;クリックすると大きな写真になります。

  • トリミングやレタッチは、「写真の編集/変換」から「写真の補正」を選ぶ。すると次のような画面となるので、補正する写真を左のサムネイルからドラッグ&ドロップする。補正対象は、一度に1枚しか選択できない。
  • ;クリックすると大きな写真になります。

  • ドラッグ&ドロップして、「次へ」ボタンをクリックすると下の図のような画面になる。補正できる項目は、ここには出ていないが、他に赤目補正・トーンカーブ(画像の色調補正)がある。Picasa3 にあったような写真をセピア色にするような"楽しく役に立つ画像処理"ツールはないようだ。そのような加工や写真の合成などは、専門のソフトである Photoshop を使うことにしている。
     ここで、例えば「自動補正」(写真の明るさとコントラストを、最適なレベルに自動的に補正する。)とトリミングを行い上書き保存する。ファイル名を変えて保存もできる。
  • ;クリックすると大きな写真になります。

  • この画像をブログに掲載するためにサイズを縮小するには、ツール画面に戻り、「リサイズして保存」アイコンをクリックする。出てきた画面に、リサイズしたいサムネイルを選択し(何枚でもOK)、ドラッグ&ドロップする。(従って、ブログ画面に掲載する写真は、順序として予め写真を補正をしておいたほうが良い。)

    ;クリックすると大きな写真になります。

  • ここで「次へ」ボタンをクリックすると下のようなポップアップが出てくるので、保存先フォルダーを指定する。予め作っておいたほうがいいが、ここでも新規に作成できる。ただし、ファイル名は、ここでつけずに後で、Renaminなどを使ってつけ直した方がいいように思う。
     私の場合、ブログに載せている写真は、長辺800ピクセルの大きさである。
  • ;クリックすると大きな写真になります。

  • ブログに写真を掲載するときには、写真を撮ったときのデータ(EXIF) を反省のために記録している。このEXIF が、Google フォトでは十分なものが得られない。PlayMemories HOME では、該当写真の「プロパティ」で、日付などの概要と詳細(プロパティ・タグの下の方)で Picasa3 より細かな撮影データが得られる。
  • ;クリックすると大きな写真になります。

PlayMemories HOME の使い方は、SONY のページに詳しい。

2015年8月12日

隠居のパソコン備忘録:DVD movie から音声のみを取り出す

落語好きの友人がいる。落語百選といったDVD(Digital Video Desk)をたくさん持っているらしい。これらのDVDから音声のみを取り出すことはできないかと相談を受けた。車で音楽を聞くように聞きたいという。
 DVDというものはほとんど持っていないので、これらから音を取り出すというような試みは、今までしたことがなかった。一度トライしてみることにした。

"DVD 音声を取り出す" でググってみると DVD Decrepter というオープンソースがヒットした。これを使って、試しにどこかで格安で買っていた音楽DVD 「ニューオーリンズ」からルイ・アームストロングの演奏を取り出すことを試みた。うまくいったので、友人から落語のDVDを送ってもらって、音声をとりだし、MP3ファイルとしてCDに焼いて提供した。方法について備忘録として記録しておきたい。

友人に送り返してしまったので、手元に落語のDVDはないが、アカデミー賞受賞作品「明日に向かって撃て!」のDVDがある。この映画の音楽を担当しているバート・バカラック作品の曲の取り出してみた。例として、方法を記したい。PCの環境は、Windows7(64bit) である。

DVD から音声を取り出す方法

  1. DVD Decrypter を起動する。Decrypter は、V3.5.4.0 で開発中止となっているようだ。日本語化ファイルもあるようだが、Windows7 64bit ではうまく動かなかったので、英語版のまま使った。
  2. 音声を取り出すDVD を再生ドライブに入れると、DVDのタイトルが認識される。Decrypter の設定は、下のスクリーンショットのように、Mode は IFO に、右フレームでは、 StreamProcessing を選択する。
     EnableStreamProcessing にチェックを入れ、下のリストから Audio の項目中から音声を取り出そうとする項目を選択する。下のラジオボタンでは、Demux をチェックする。
     左の Destination で保存したいホルダーを表示する。右のホルダー アイコンをクリックするとエクスプローラが表示される。

    decrypter-001.jpg

  3. 上の DVD⇒HDD アイコンをクリックすると下のスクリーンショットのように音声の取り出しが始まる。

    decrypter-002.jpg

  4. 取り出した音声ファイルは、「VTS_01_1 - 0x81 - Audio - AC3 - 2ch - 48kHz - DRC - Japanese - DELAY -85ms.AC3」と言うような名前で拡張子が .AC3 と付いている。このままでは、一般的に使えないので、mp3 に変換する。
     私は、音声ファイルの変換は、フリーの Switch Sound File Converter というソフトを使っている。このソフトを使えば、ほとんどの音声ファイルは変換してくれる。変換したファイルは、適宜名前を変更した。

    decrypter-003.jpg

  5. 落語など、始めから終わりまで続けて聞くファイルは、そのまま使用できるが、 ファイルの一部を取り出すには、Roxio Sound Editor を使えば良い。方法については、【隠居のパソコン備忘録:IPサイマルラジオ音楽番組を予約録音し、曲を取り出す(2)】に記録している。

取り出した音声ファイルの例として、DVD「明日に向って撃て!」 の中で流れるバート・バカラックの曲をアップした。DVD 中の soundtrack を抜き出すのは、いささか time consuming の作業ではあるが。
日本語台詞入りRaindrops Keep Fallin'on My Head
上の再生マークをクリックすると音が聞こえてきます。ただし、MP3 Player が必要です。

2014年1月31日

年金生活者の e-Tax: 平成25年度分


 2008年2月に始めた e-Tax での所得税申告は、今年で7回目になる。今年も、国民健康保険料 納付証明書が、1月27日に配達をされたのを最後に、e-Tax のための書類が整ったので、作業をすることにした。年に一回の作業なので、色々とつまづく。
 昨年の作業では、使っていたパソコンのWindows のバージョンが XP で Sevicepack 3 をインストールできていなかったために、やむなく家内専用の Windows VISTA のパソコンで作業をした。

 今年は、春に新調した Windows7 のパソコンで作業を始めた。入力方法は年々改善されている。今年度については、初期の画面からの設問に答えていくと、所得・所得控除・税額控除について入力しなければならない画面に導いてくれるようになっている。例を示すと、以下の様なものである。

所得についての質問例
e-Tax2014-01.JPG


所得控除についての質問例
e-Tax2014-03.JPG


 このような設問に答えていくと、入力すべき項目について、次のような整理をシてくれる。私の場合、年金所得以外に、わずかばかり持っている株式の売買所得と配当があるのと、メタボや歯科の治療費がかさんでの医療費控除を受けるための入力である。
所得・所得控除について入力ガイド
e-Tax2014-1.JPG


 それぞれの画面で、保存ができるようになっているので、入力途中でも中断することができる。 入力の再開や修正は、上の画面から各項目ついて再入力すればよい。当初の e-Tax 作業に比べればずいぶん楽になった。
医療費の所得控除の入力は、昨年同様に、個人別(家内と私)、医療機関(科)ごとに金額を集計して入力した。昨年もその方法で問題がないようなので、今年も踏襲した。

 ところが、入力データを送信するとこで引っかかった。公的個人認証サービス(JPKI)がうまくいかない。 昨年は、住民基本台帳カード(このカードに公的個人認証サービスが記録されている)の読み込みを、家内のパソコンVaio の Felica ランチャーにかざすだけでうまくいっていた。今年は、昨年買っていた SONY PaSoRi を使うことにしたのが原因と思ったが、送信できないのは、いろいろとサーチしてみると2つの問題があることが分かった。
  • PaSoRi で公的個人認証サービスが記録を読み取るには、ソフト【PC/SC アクティベーター for Type B】のインストールが必要である。
  • 公的個人認証サービスの有効期限(3年)が切れていた。事前準備での確認が十分でなかった。
 公的個人認証サービスの有効かどうかを確認する方法は、以下のページに有る。
http://www.jpki.go.jp/download/howto_win/certificate_p03.html
 区役所に行って、更新手続きをとった。15分ほど、500円の手数料であった。3年前にも同じことをしているのに、学習ができていなかった。
 少々つまづいたが、1月29日にデータを送信することができた。ただし、何故か今回は、「株式等に係る譲渡所得等の金額の計算明細書」の郵送が求められたので、ファミマでコピーして郵送しておいた。例年還付金は、2月の中旬ころに、振り込まれる。

追記(2015/2/21):還付金が、2014年2月19日に振り込まれた。
DSC02826.JPG

 還付金の処理状況を確認するには、e?Taxホームページのトップページにある「メッセージボックスの確認」をクリックすると出る画面で、利用者識別番号と暗証番号を入力して出る画面「国税電子申告・納税システム(e-Tax)メインメニュー」の
 5 還付金処理状況確認
を選択すれば、次のような画面が表示される。
e-Tax-01.jpg


2013年8月26日

隠居のMT備忘録:ブログ内検索に、Googleカスタム検索を導入する


 私が使用しているMT4.1 には、サイト内(ブログ内)を検索する機能がデフォルトで備わっている。同じサイト内のブログ【Masajii's Blog】も、【Studio YAMAKO】では、問題なく機能しているのであるが、私のブログ【Atelier】では、反応しなくなってしまった。原因を探ってみたが、浅はかな知識では見つけることができなかった。

 そこで、サイト内検索プラグインをネットサーチしてみると、札幌の SYNCK GRAPHICA (シンクグラフィカ)という Web製作会社が提供している cgi版サイト内検索が、私でもインストールできそうであった。
 インストールはできたが、期待通りの検索ができない。FAQ(なかなか見つからなかったが)を覗いてみると、対象とするブログは、静的なページHTML だけで、動的にPHP としているサイトは検索対象ではないという。私は、サイトを再構築するときに早いのでPHPにしているのでダメらしい。(浅はかな知識では、これ以上のことはわからない。)

 次の策として、Googleのカスタム検索を導入してみることにした。
 こちらは極めて簡単である。インストールする方法は、Wolawolaというサイトのページに詳しいので割愛するが、検索対象のサイト(ブログ)を指定するなどすると Google が作ってくれるコードをコピーして、ブログの適切な場所に貼り付けるだけである。
 だが、MT4.1 のデフォルトであったところに貼り付けてみると、下のスクリーンショットのように、検索キーワードを入力するスペースが小さく(見える部分が小さいだけでスクロールはしてくれるが)使い勝手が良くない。
GoogleSearch-1.JPG

 この検索ボックスをデザイン出来るのは枠線の色ぐらいで、大きさとかサーチ・アイコンなどはいじれない。(ネットサーチしてみると方法はあるようだが) どうやら、検索ボックスを置いた位置の横幅スペースは、ブログのページ・デザインに自動的に合わせる仕様になっているらしい。
 それで、検索ボックスを置く位置をメインページのヘッダーの下に置いて見ることにした。もともと、その部分には、目的とするエントリーを探す方法を書いていたのだが、あまり役にはたっていないようであった。
 メインページの幅は、デザイン上は広いから、検索ボックスの入力部分も広くなったし、検索結果も検索ボックスの下に表示されるようになった。周辺のデザインを少し修正してみると、ほぼ期待通りになったので、当分これで継続してみようと思う。
 ただ、新しいエントリー記事がいつ検索結果に反映されるかはGoogle に頼っているので、すぐにヒットしないことがあるらしい。今のところ、前日にアップしたような記事はヒットしているようだ。

 

2013年7月10日

隠居のPC備忘録:スマホの画面をキャプチャーする Windows7、android


 2011年11月のブログ【Xperia acro の画面をキャプチャーする】で、スマホの画面をキャプチャーする方法を記録したが、その方法を紹介したページがリンク切れになっていた。
 それに、その当時のパソコンはWindowsXP であった。それで、今の環境(Windows7 64bit版)でキャプチャーする方法について、キーワード android SDK ddms でサーチしてみる(スマホの画面をキャプチャーするためには、スマホのアプリを開発するための Android SDK というソフトとそこで使ったユティリティの ddms.bat が必要であることは先のブログに記録していた。)と、いろいろなページがヒットするが、【初心者向け】Android SDKインストール手順 2011年1月版!(windows版) 分かりやすそうであった。これを参考にして、Windows7 環境下でスマホの画面をキャプチャーすることができた。 今回も、設定方法を記録しておきたいと思う。

Windows7 で、android スマホの画面をキャプチャーする方法
  1. Android SDK は、http://developer.android.com/sdk/index.html からダウンロードする。
    確かに、このサイトにダウンロードするファイルはあるのだが、判別が難しい。目的とするファイルは、【Develop】(上部タグ)⇒【Tools】(上部タグ)⇒【download】(左メニュー)⇒【DOWNLOAD FOR OTHER PLATFORMS】(Get The Android SDK ページの下の部分)⇒【SDK Tools Only】⇒【installer_r22.0.1-windows.exe】である。
    これを見つけるのに随分時間を使った。
  2. このファイルのダウンロード先は、どのドライブのどのフォルダーでもいいようだが、私の場合、C:\Users\xxxxxxxx\SDK(Users にSDKというフォルダーを作って)に収納した。
    このファイルをダブル・クリックして展開すると、上のフォルダーに、圧縮ファイルが展開され、C:\Users\xxxxxxxx\SDK\platform-tools というフォルダーと C:\Users\shuhei\SDK\tools というフォルダーが設置される。
  3. 次に「パスを通す」という作業をしなければならない。その方法は、上記の「Android SDKインストール手順」にあるように、
    1. 画面左下の「スタート(windowsマーク)」をクリック
    2. 「マイコンピュータ(コンピューター)」を右クリック→「プロパティ」をクリック
    3. 「詳細設定」タブ(システム詳細設定)をクリック→「環境変数」をクリック
    4. 「システム環境変数」の上段リストの中から「Path」か「PATH」を探して選択、ない場合は「新規」をクリック。
    5. 上記を選択した状態で「編集」をクリック
    6. すでに入っている文字列の末尾に「C:\Users\shuhei\SDK\tools;C:\Users\xxxxxxxx\SDK\platform-tools;」と追記し「OK」をクリック。
      新規の場合は、変数名に 「PATH」、変数値に、「 C:\Users\shuhei\SDK\tools;C:\Users\xxxxxxxx\SDK\platform-tools; 」と入力する。変数値は、; でつなぐ。
  4. 次に、キャプチャーに必要なファイルをインストールする。
    SDK を展開したフォルダー(私の場合:C:\Users\xxxxxxxx\SDK\) ルートにあるSDK Manager.exe をダブル・クリックすると、下のようなポッピアップ画面が表示されるので、「Tools] と「Extras」を選択して、右下の「Install ・・・・」をクリックしてインストールする。(この図は、事後にキャプチャーしたので、実際の画面とは異なる)
    SDK-4.JPG
  5. 次に動作を確認する。
    1. androidスマホ(私の場合、XPERIA を USB 接続しておく。
    2. C:\Users\xxxxxxxx\SDK\platform-tools フォルダールートにある ddms.bat を実行する。すると、立て続けに、次の2画面が現れる。
      SDK-5.JPG
      SDK-6.JPG
    3. 上の画面での ツールタグの「Device」をクリックすると下のように、セレクトボックスが出てくるので、「Screen capture」を選択すると、USB で接続しているスマホに表示されている画面が、PCのモニターに表示される。
      SDK-7.JPG
      SDK-8.JPG

  6. PC モニターに表示される上の画面で、「Save」タグをクリックすると、下のようなスマホのキャプチャー画面を保存することができる。
    device-2013-07-10-151854.png


  •  
  • 2013年3月28日

    隠居のドライブ:南紀の私的観光地図とその作成方法。


     南紀をドライブしたときの訪問地点を地図にプロットしてみた。地図作成に使ったのは、【隠居のパソコン備忘録: Google Maps API JS V3 で、番号付きマーカーを表示する】で記録した方法である。この地図は、右メニューの観光地図一覧に【初春の南紀私的観光地図】として追加した。



     この地図を作るためには、Google Map を表示するための HTML ファイルと、このページに呼び込んでくる XML ファイルを記述する必要がある。いずれも、宍道湖周辺を旅行した時の地図を作ったファイルをコピーして作成した。
     html ファイルはテキスト編集ソフト【秀丸】で、xml ファイルは Microsoft が提供する【XML Notepad】で修正をした。XML ファイルは、秀丸でも編集できるが、このXML Notepad は、XMLファイル編集に特化しており、文法の間違いも指摘してくれるので助かる。

     html ファイルで修正・追加する箇所は次の青字部分である。
    
    90行目あたり、
         case "num05": num = "05";
                    break;
         case "num06": num = "06";
                    break;
    --------------------------------------------------------------------------
    に、次を追加する。番号マークは、7番目まで設定したので。
        case "num07": num = "07";
                    break;  
    
    103行目あたり
        gicons["num05"] = getMarkerImage(category2num("num05"));
          gicons["num06"] = getMarkerImage(category2num("num06"));
    -----------------------------------------------------------------------------------
     に、次を追加する。
          gicons["num07"] = getMarkerImage(category2num("num06"));
    
    184行目あたり、
    zoom: 10,
          center: new google.maps.LatLng(35.430603,133.012136),   //松江
          zoom: 10,
    --------------------------------------------------------------------------------------------------
    を、次の地点の経度・緯度に変更する。もう少し、拡大したい場合は、zoom を11と大きくする。
    
       center: new google.maps.LatLng(33.676354,135.677032),   //熊野古道中辺路道の駅
       zoom: 10,     
    
    193行目あたりの 読み込む xml ファイルを新しい xml ファイルに変更する。
          downloadUrl("http://n-shuhei.net/atelier/maps/V3_sinnjiko_num.xml", function(doc) {
    ----------------------------------------------------------------------------------------------------------------
          downloadUrl("http://n-shuhei.net/atelier/maps/V3_kisyuu_num.xml", function(doc) {  
    
    221行目あたり、
    <tr><td align="center"style="width:1000px; background-color: #ffffe0;" ><br /><h2>晩秋の宍道湖私的観光地図</h2></td></tr>
    --------------------------------------------------------------------------------------------------------------
    地図のタイトルおよび大きさを指定する。地図の幅を指定する箇所はもう一箇所ある。
    <tr><td align="center"style="width:700px; background-color: #ffffe0;" ><h2>初春の南紀州観光地図</h2></td></tr>      
    <tr><td><div id="map" style="width: 700px; height: 500px"></div></td></tr><tr>
    


    読み込む XML ファイルは、XML Notepad を使って、宍道湖の地図を作った時のファイルをもとに、番号マークをプロットする地点の経度・緯度とプロット地点の名前や紹介する写真リンク先を 入力すればよい。リンク先のURL などは、ブログのソースを使えば簡単である。参考までに、作成した XMLファイルは次のようなものである。

    
    <?xml version="1.0" encoding="utf-8"?>
    <markers>
     <marker name="1:志原海岸" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_024.jpg" title="志原海岸" rel="lightbox[nanki]">志原海岸</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_003.jpg" title="ハマダイコン:志原海岸" rel="lightbox[nanki]">ハマダイコン</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_004.jpg" title="イソヒヨドリ:志原海岸" rel="lightbox[nanki]">イソヒヨドリ</a>" lng="135.431213" lat="33.570291" category="num01"/>
     <marker name="2:串本海中公園" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_020.jpg" title="水中トンネル:海中公園" rel="lightbox[nanki]">水中トンネル</a>" lng="135.745783" lat="33.481639" category="num02"/>
     <marker name="3:串本ロイヤルホテル" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_023.jpg" title="露天風呂:串本ロイヤルホテル" rel="lightbox[nanki]">露天風呂:串本ロイヤルホテル</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_021.jpg" title="日の出:串本ロイヤルホテル" rel="lightbox[nanki]">日の出</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130322_028.jpg" title="小雨にけぶる橋杭岩:串本ロイヤルホテル" rel="lightbox[nanki]">小雨にけぶる橋杭岩</a>" lng="135.784836" lat="33.481281" category="num03"/>
     <marker name="4:潮岬" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_009.jpg" title="潮岬灯台" rel="lightbox[nanki]">潮岬灯台</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130322_027.jpg" title="潮岬から太平洋を望む" rel="lightbox[nanki]">潮岬から太平洋を望む</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_007.jpg" title="ジョウビタキ雌:潮岬" rel="lightbox[nanki]">ジョウビタキ雌</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_008.jpg" title="トビ:潮岬" rel="lightbox[nanki]">トビ</a>" lng="135.762500" lat="33.433055" category="num04"/>
     <marker name="5:樫野崎灯台" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_010.jpg" title="樫野崎灯台" rel="lightbox[nanki]">樫野崎灯台</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_025.jpg" title="樫野崎から潮岬の眺望" rel="lightbox[nanki]">樫野崎から潮岬の眺望</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_013.jpg" title="樫野崎から太平洋の眺望" rel="lightbox[nanki]">樫野崎から太平洋の眺望</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_012.jpg" title="内海側の定置網" rel="lightbox[nanki]">内海側の定置網</a>" lng="135.86259" lat="33.473263" category="num05"/>
     <marker name="6:那智の滝" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_018.jpg" title="那智の滝" rel="lightbox[nanki]">那智の滝</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_014.jpg" title="那智の滝への石段" rel="lightbox[nanki]">那智の滝への石段</a>" lng="135.887704" lat="33.675069" category="num06"/>
     <marker name="7:熊野那智大社" address="<a href="http://n-shuhei.net/atelier/photo_drive/130321_016.jpg" title="熊野那智大社" rel="lightbox[nanki]">熊野那智大社</a><br /><a href="http://n-shuhei.net/atelier/photo_drive/130321_015.jpg" title="イソヒヨドリ:熊野那智大社" rel="lightbox[nanki]">イソヒヨドリ</a>" lng="135.890236" lat="33.668533" category="num07"/>
     </markers>
    


    なお、地図作成と直接関連していないが、Internet Explorer 9 では、ページを編集・更新して、サーバーにアップロードしてもも反映されないことが起こった。(Google Chrome ではすぐに反映される) IE8 のときと違って更新されるタイミングが異なるようだ。
     このようなときは、IE9 で ツール⇒インターネットオプション⇒全般タグ⇒閲覧の履歴の設定で、出てくるポップアップ画面で、インターネット一時ファイルの選択を【Web サイトを表示するたびに確認する】(default では 自動的に確認する となっている)を選択すれば治るようだ。

     

    2012年9月22日

    隠居のパソコン備忘録: Google Maps API JS V3 で、番号付きマーカーを表示する

     
     従来、右フレームの【晩秋の宍道湖私的観光地図】は、Google Maps API のV2版で作成したものを置いていた。V2 でかいた地図はまだ動くが、2010年5月に廃止されており、V3 へ移行することが奬められている。
     この地図では、必要性はあまりないが、マーカーに番号を表示させていた。新しく V3 で作りなおすときにも、学習も兼ねて番号を表示させたかった。

     ところが、番号入りマーカーを表示するサンプルコードが見つからない。V2 で作成したコードを V3 に置き換えることも試みたが、悲しいかな十分な知識がないし、一から勉強する意欲もないので、うまく行きそうにない。
     今までに成功した V3 のコードを眺めていると【Google Maps API JS V3 で、カテゴリー別に色違いマーカーを表示する】 で使ったコードを、わかる範囲でいじってみれば、なんとかなるのではないかと思われた。色違いのマーカーを、番号付きマーカーに置き換えるのである。この地図では、category 別に赤・青・黄色・緑などのマーカーにしているが、これを番号つきのマーカーに置き換えるのである。また、また、一つずつのマークを、一つのカテゴリーと考えるのである。
     このコードでは、マーカーを立てる地点の経度・緯度や吹きだしに表示するHTMLなどは、XML ファイルを読み込んでくることになっている。V2 で作成した地図では、HTMLの中に直接入力されていた。

     とりあえずうまく表示できるようなので、自分用の備忘録として、XML ファイルおよびHTML コードを記録しておきたい。よくわかった人から見れば、へんてこなコードとなっていると思うが、古希を超えるとほとんど羞恥心はなくなっている。

    使用したXML ファイル。項目 category は num01, num02・・・のようになっている。
    <?xml version="1.0" encoding="utf-8" ?> 
    - <markers>
      <marker name="1:宍道湖温泉" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4820-1.JPG" title="宍道湖の夕焼け" rel="lightbox[sinjiko]">宍道湖の夕焼け</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4831.JPG" title="宍道湖の朝" rel="lightbox[sinjiko]">宍道湖の朝</a>" lng="133.053875" lat="35.469199" category="num01" /> 
      <marker name="2:米子水鳥公園" address="   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01539.JPG" title="コハクチョウ" rel="lightbox[sinjiko]" >コハクチョウ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01510.JPG" title="オナガガモ:♀を追いかける♂たち" rel="lightbox[sinjiko]" >オナガガモ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01529.JPG" title="マガンの群れ:沖の州" rel="lightbox[sinjiko]" >マガンの群れ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01591.JPG" title="キンクロハジロ?" rel="lightbox[sinjiko]" >キンクロハジロ</a>" lng="133.284674" lat="35.44333" category="num02" /> 
      <marker name="3:宍道湖グリーンパーク" address="   <a href="http://n-shuhei.net/atelier/video/digisco_1.wmv" target="_blank">コハクチョウ(video)</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01620.JPG" title="セグロセキレイ" rel="lightbox[sinjiko]" >セグロセキレイ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_digisco/DSC01632.JPG" title="トビ?" rel="lightbox[sinjiko]" >トビ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_birds/0911211.jpg" title="ジョウビダキ?" rel="lightbox[sinjiko]" >ジョウビダキ</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4872.JPG" title="ゴビウスにある水槽" rel="lightbox[sinjiko]">ゴビウスにある水槽</a>" lng="132.866077" lat="35.444729" category="num03" /> 
      <marker name="4:出雲大社" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4886.JPG" title="出雲大社にて" rel="lightbox[sinjiko]">出雲大社にて</a>" lng="132.685919" lat="35.401434" category="num04" /> 
      <marker name="5:足立美術館" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4908.JPG" title="足立美術館の紅葉" rel="lightbox[drive]">足立美術館の紅葉</a><br/>   <a href="http://n-shuhei.net/atelier/photo_drive/Stitched_003.JPG" title="枯山水の庭:3枚の合成写真" rel="lightbox[drive]">枯山水の庭</a><br/>   <a href="http://n-shuhei.net/atelier/DSC_4932.JPG" title="足立美術館:絵画を観ているように" rel="lightbox[drive]">仏間から庭を望む</a>" lng="133.198242" lat="35.377854" category="num05" /> 
      <marker name="6:米子自動車道大山PA" address="   <a href="http://n-shuhei.net/atelier/photo_drive/DSC_4720-1.JPG" title="雪化粧した大山:大山PAより" rel="lightbox[sinjiko]">大山の紅葉</a>" lng="133.419342" lat="35.386531" category="num06" /> 
      </markers>


     作成した地図作成の稚拙なHTMLコード(Google Maps API V3 のJavaScript を含む)は、右フレームに掲載している【晩秋の宍道湖私的観光地図】のソース・コードを見ていただければ、わかると思うが、参考までに下に記載し、少しのコメントを加えたいと思う。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    
    <title>Google Maps Javascript API v3 Example: Marker Categories</title> 
    
    <!-- jQuery lightbox2.51 -->
    <script type="text/javascript" src="http://n-shuhei.net/atelier/Jquery2.51/js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" src="http://n-shuhei.net/atelier/Jquery2.51/js/lightbox.js"></script>
    <link rel="stylesheet" type="text/css" href="http://n-shuhei.net/atelier/Jquery2.51/css/lightbox.css" media="screen" />
    
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript" src="http://n-shuhei.net/atelier/maps/V3test/downloadxml.js"></script>
        <title>Google Maps</title>
    <style type="text/css">
    html, body { height: 100%; } 
    </style>
        <script type="text/javascript">
        //<![CDATA[
          // this variable will collect the html which will eventually be placed in the side_bar 
          var side_bar_html = ""; 
          var gmarkers = [];
          var gicons = [];
          var map = null;
    var infowindow = new google.maps.InfoWindow(
      { 
        size: new google.maps.Size(150,50)
      });
    
    gicons["01"] = new google.maps.MarkerImage("http://n-shuhei.net/Googlemaps/Markers/marker_01.png",
          // This marker is 20 pixels wide by 34 pixels tall.
          new google.maps.Size(20, 34),
          // The origin for this image is 0,0.
          new google.maps.Point(0,0),
          // The anchor for this image is at 9,34.
          new google.maps.Point(9, 34));
      // Marker sizes are expressed as a Size of X,Y
      // where the origin of the image (0,0) is located
      // in the top left of the image.
      // Origins, anchor positions and coordinates of the marker
      // increase in the X direction to the right and in
      // the Y direction down.
    
      var iconImage = new google.maps.MarkerImage('http://n-shuhei.net/Googlemaps/Markers/marker_01.png',
          // This marker is 20 pixels wide by 34 pixels tall.
          new google.maps.Size(20, 34),
          // The origin for this image is 0,0.
          new google.maps.Point(0,0),
          // The anchor for this image is at 9,34.
          new google.maps.Point(9, 34));
      var iconShadow = new google.maps.MarkerImage('http://n-shuhei.net/atelier/maps/V3test/msmarker.shadow.png',
          // The shadow image is larger in the horizontal dimension
          // while the position and offset are the same as for the main image.
          new google.maps.Size(37, 34),
          new google.maps.Point(0,0),
          new google.maps.Point(9, 34));
     
    function getMarkerImage(iconNum) {
       if ((typeof(iconNum)=="undefined") || (iconNum==null)) { 
          iconNum = "01"; 
       }
       if (!gicons[iconNum]) {
          gicons[iconNum] = new google.maps.MarkerImage("http://n-shuhei.net/Googlemaps/Markers/marker_"+ iconNum +".png",
          // This marker is 20 pixels wide by 34 pixels tall.
          new google.maps.Size(20, 34),
          // The origin for this image is 0,0.
          new google.maps.Point(0,0),
          // The anchor for this image is at 6,20.
          new google.maps.Point(9, 34));
       } 
       return gicons[iconNum];
    }
    
    function category2num(category) {
       var num = "01";       
       switch(category) {
         case "num01": num = "01";
                    break;
         case "num02": num = "02";
                    break;
         case "num03": num = "03";
                    break;
         case "num04": num = "04";
                    break;
         case "num05": num = "05";
                    break;
         case "num06": num = "06";
                    break;
         default:   num = "01";
                    break;
       }
    
       return num;
    }
    
          gicons["num01"] = getMarkerImage(category2num("num01"));
          gicons["num02"] = getMarkerImage(category2num("num02"));
          gicons["num03"] = getMarkerImage(category2num("num03"));
          gicons["num04"] = getMarkerImage(category2num("num04"));
          gicons["num05"] = getMarkerImage(category2num("num05"));
          gicons["num06"] = getMarkerImage(category2num("num06"));
          // A function to create the marker and set up the event window
    function createMarker(latlng,name,html,category) {
        var contentString = html;
        var marker = new google.maps.Marker({
            position: latlng,
            icon: gicons[category],
            shadow: iconShadow,
            map: map,
            title: name,
            zIndex: Math.round(latlng.lat()*-100000)<<5
            });
    
            // === Store the category and name info as a marker properties ===
            marker.mycategory = category;                                 
            marker.myname = name;
            gmarkers.push(marker);
    
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.setContent(contentString); 
            infowindow.open(map,marker);
            });
    }
    
          // == shows all markers of a particular category, and ensures the checkbox is checked ==
          function show(category) {
            for (var i=0; i<gmarkers.length; i++) {
              if (gmarkers[i].mycategory == category) {
                gmarkers[i].setVisible(true);
              }
            }
    
            // == check the checkbox ==
            document.getElementById(category+"box").checked = true;
          }
    
          // == hides all markers of a particular category, and ensures the checkbox is cleared ==
          function hide(category) {
            for (var i=0; i<gmarkers.length; i++) {
              if (gmarkers[i].mycategory == category) {
                gmarkers[i].setVisible(false);
              }
            }
    
            // == clear the checkbox ==
            document.getElementById(category+"box").checked = false;
            // == close the info window, in case its open on a marker that we just hid
            infowindow.close();
          }
    
          // == a checkbox has been clicked ==
          function boxclick(box,category) {
            if (box.checked) {
              show(category);
            } else {
              hide(category);
            }
    
            // == rebuild the side bar
            makeSidebar();
          }
    
          function myclick(i) {
            google.maps.event.trigger(gmarkers[i],"click");
          }
    
          // == rebuilds the sidebar to match the markers currently displayed ==
          function makeSidebar() {
            var html = "";
            for (var i=0; i<gmarkers.length; i++) {
              if (gmarkers[i].getVisible()) {
                html += '<a href="javascript:myclick(' + i + ')">' + gmarkers[i].myname + '<\/a>' + ' ' ;
              }
            }
    
            document.getElementById("side_bar").innerHTML = html;
          }
    
      function initialize() {
        var myOptions = {
          zoom: 10,
          center: new google.maps.LatLng(35.430603,133.012136),   //松江
          mapTypeId: google.maps.MapTypeId.HYBRID
        }
        map = new google.maps.Map(document.getElementById("map"), myOptions);
        google.maps.event.addListener(map, 'click', function() {
            infowindow.close();
            });
    
          // Read the data
          downloadUrl("http://n-shuhei.net/atelier/maps/V3_sinnjiko_num.xml", function(doc) {
      var xml = xmlParse(doc);
      var markers = xml.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
              // obtain the attribues of each marker
              var lat = parseFloat(markers[i].getAttribute("lat"));
              var lng = parseFloat(markers[i].getAttribute("lng"));
              var point = new google.maps.LatLng(lat,lng);
              var address = markers[i].getAttribute("address");
              var name = markers[i].getAttribute("name");
              var html = "<b>"+name+"<\/b><p>"+address;
              var category = markers[i].getAttribute("category");
              // create the marker
              var marker = createMarker(point,name,html,category);
            }
    
            // == create the initial sidebar ==
            makeSidebar();
          });
        }
    
        //]]>
        </script>
      </head>
    
    <body style="margin:0px; padding:0px;" onload="initialize()"> 
        <!-- you can use tables or divs for the overall layout -->
        <table border=1 >
    <tr><td align="center"style="width:1000px; background-color: #ffffe0;" ><br /><h2>晩秋の宍道湖私的観光地図</h2></td></tr>      
    <tr><td>
               <div id="map" style="width: 1000px; height: 500px"></div>
            </td></tr><tr>
    <td valign="top" style="width:1000px; background-color: #ffffe0; font-size: small;"> 
     上の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の該当番号をクリックすると該当番号マーカーに吹きだしが出てきます。その吹き出しにある青文字をクリックすると写真(一部 動画)がでてきます。</td></tr><tr>
            <td valign="top" style="width:1000px; background-color: #ffffe0; font-size: small;"> 
               <div id="side_bar"></div>
            </td>
          </tr>
        </table>
    
    
        <noscript><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
          However, it seems JavaScript is either disabled or not supported by your browser. 
          To view Google Maps, enable JavaScript by changing your browser options, and then 
          try again.
        </noscript>
    
    <br /><br />
    <!-- Google AdSense -->
    <script type="text/javascript"><!--
    google_ad_client = "pub-8556873278052332";
    /* AdSense foot ad */
    google_ad_slot = "1589991765";
    google_ad_width = 728;
    google_ad_height = 15;
    //-->
    </script>
    <script type="text/javascript"
    src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
      </body>
    </html>
    


    • 番号付きマーカーは、dLINKbRING というサイトからダウンロードできる
    • 表示する地図を、ラベル付き航空写真とするには、mapTypeId: google.maps.MapTypeId.HYBRID とすればよい。通常は、HYBRID の部分が、ROADMAP となっている。
    • マーカーをクリックしてでる吹きだしの中に表示される写真リンクをクリックして出てくる写真を、同一画面の中央に表示するJavaScript ソフト lightbox は機能する。 jQuerylightbox2.51 を使った。


    2012年9月 2日

    隠居のパソコン備忘録: Google Maps API JS V3 で、カテゴリー別に色違いマーカーを表示する


     酷暑で屋外での活動は歳を考えて自粛していた。それで、自然とパソコンに向かう時間が多くなっていた。取り組んだのは、V3 にバージョンアップした Google Maps JS API で旅行地図などを作成するなどのいろいろなトライである。

     といっても、一から Google Maps JS API で希望する地図を作成する能力はないから、公開されている人様のコードをいじることが主体である。このようなときに、重宝させていただいているのは、Using the Google Maps API v3にあるサンプルである。
     Mike Williams' tutorial というサイトで V2 でサンプル表示されていた More advanced stuff - Part 25 Marker Categoriesを、V3 コードに置き換えた translated to v3というのが紹介されている。これを利用すれば、野鳥撮影地点を種別に表示するときなどに使えそうと思い自分のできる範囲でいじって見ることにした。

     このような作業をする時の手順は、だいたい次のようにしており、備忘録として記録しておきたい。
    1. サンプル画面のソース・コード(IE の場合、メニューバーの表示⇒ソース)を取得する。これを、テキスト編集ソフト(私の場合:秀丸)にコピペし、名前をつけて、適当なフォルダーに、html ファイルとして保存する。
    2. サンプルコードで使用されている Javascript ユティリティ ファイル(今回の例では、downloadxml.js ファイル)や使用するマーカイメージ・ファイル(今回のサンプルでは、marker_red.png のようなファイル)を用意し、ファイル転送ソフト(私の場合:FFFTP )でサーバー(私の場合:Xserver )上の適当なフォルダーにアップロードしておく。
    3. サンプル・コードで使用されている xml ファイル(普通はサンプル・コード内で相対パスで表示されている。これを絶対パスにして、ブラウザで表示させる)をC&P して、秀丸の新しいファイルとする。適当な名前(xmlファイルで)で保存する。これも、先ほどと同じサーバー上の同じフォルダーにアップロードしておく。
    4. 秀丸画面で、自分の環境に合うように、サンプルコードのそれらのファイルの path を書き換える。私の場合、ミスがないように、絶対パスで書くことにしている。
    5. 自分のサーバー環境に合わせたサンプル・コードをブラウザで表示してみる。これで、參照サンプルと同じように表示されたら、サンプルのコピーは成功である。
    6. このサンプルコードを少しづついじって、目的とする地図(今回、地元の公園・ホームセンター・大型電気店を種別( category )に表示することを目指した。)に近づけていく。先ず、地図の中心を地元にするために、地図の center 緯度・経度を置き換えた。
    7. と同時に、xml ファイルも、サンプルで使われているファイルを真似して、新たに日本語を含むファイルを作って(XML ファイルの編集は、XmlNotepad を使っている)サーバー上にアップロードした。(日本語のエンコードは、UTF-8 )
    8. その他、category の名前を変えたことに対応する修正などを加えて保存、サーバーにアップロードして、ブラウザで表示してみた。地図やチェックボックス、日本語のサイドバーは、期待通り表示されたが、肝心のマーカーが表示されない。元のサンプルコードと見比べながら、チェックしてみたが、原因が分からない。
      JavaScriptや HTML のコードは、カンマ一つ抜けても動かないことがあるので、再度やり直すなど作業を続けて見たが、うまくいかない。
    9. 3日間ほど悩んで、諦めかけていたが、原因はどうやら XML ファイルにあるらしいと思われたので、再度フィルを眺めていると、ing(longitude:経度) と lat(latitude:緯度)の数字が入れ替わっていることに気がついた。今まで、このような XML ファイルは lat ⇒ lng という順序で記入していたのに、今回使ったサンプル XML ファイルは順序が逆になっていたのだ。サンプル XML ファイルの経度・緯度が海外の地点を示していたので、気づくのが遅れたらしい。
       数字を入れ替えてみると期待通りに表示されるようになった。ミスというのは大体において、このようにうっかりミスが多いものだが、ついつい難しく考えてしまいがちだ。
    10. このサンプルコードを土台に、マーカーの吹きだし(infowindow) に画像やリンクURL を表示を試みたが、それらも OK のようである。
       なお、写真の表示が、画面の中心に表示され背景がフェードアウトする lightbox も使えるので、今後いろいろな応用ができるのではないかと考えている。


     作成例:泉北ニュータウンの公園・ホームセンター・大型電気店地図 サンプル・ページ

      

    2012年8月26日

    隠居のパソコン備忘録: Google Maps API JS V3 での地図でマーカー地点をズームイン・アウトする


     V3 にバージョンアップした Google Maps JS API で旅行地図などを作成することをいろいろとトライしている。
     当サイト内の Studio YAMAKO のオーナーは、お住まいの横浜近郊はもちろんのこと、海外をも含めて様々なところを旅行され、それぞれの地点での綺麗な写真をブログにUPされている。
     旅行先を一枚の地図で表示することは無理なので、海外旅行については、その都度旅行先の地図を作って表示させてもらっているが、国内旅行については、年度別に、一枚の日本地図にプロットしている。(例:2011年旅行地図) だが、これでは地図が大まかすぎて、訪問先地点毎に、コントロールを使って、ズームインと地図の移動をする必要がある。

     それで何か良いサンプルはないかと探ってみると、Google Maps API links に、V2 で作成されたMike Williams' tutorial の The Basics - Part 3: Loading the data from an XML file with added "Zoom To, Zoom In, Zoom Out links in infowindow V3 に書き換えたサンプルコードが見つかった。
     2011年旅行地図では、隠居のパソコン備忘録: Google Maps API JS V3 でXML ファイルを読み込むに記録したサンプルコードを使った。今回のコードは、そのコードに、Zoom in・out の機能を付け加えたものである。呼び込んでくる XML ファイルは、同じ形式である。サンプルコードには、XML ファイルに zoom というタグが組み込まれていたが、なしでも機能するようである。
     2012年の旅行地図では、このコードを使った。見た目は、2011年旅行地図と変わらないが、地点をクリックして出てくる吹きだし(infowindow)に、表示される Zoom to [+] [-] をクリックすると、その地点が地図の中心となる。 さらに、[+] をクリックしていくと、Zoom が一段ずつUPする。2011年旅行地図に比べれば、少し改良された。
     下は、そのコードである。

    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
        <title>Google Maps Javascript API v3 Example: Loading the data from an XML</title> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript" src="http://xxxxxxxxxx/JSlibrary/downloadxml.js"></script>
    <style type="text/css">
    html, body { height: 100%; } 
    </style>
    <script type="text/javascript"> 
    //<![CDATA[
          // this variable will collect the html which will eventually be placed in the side_bar 
          var side_bar_html = ""; 
          // arrays to hold copies of the markers and html used by the side_bar 
          // because the function closure trick doesnt work there 
          var gmarkers = []; 
         // global "map" variable
          var map = null;
    // A function to create the marker and set up the event window function 
    function createMarker(latlng, name, html, zoom) {
        var contentString = html;
        // add the zoom links
        contentString += '<br><a  href="javascript:map.setCenter(new google.maps.LatLng('+latlng.toUrlValue(6)+')); map.setZoom('+zoom+');">Zoom To</a>';
        contentString += ' - <a  href="javascript:map.setCenter(new google.maps.LatLng('+latlng.toUrlValue(6)+')); map.setZoom(parseInt(map.getZoom())+1);">[+]</a>';
        contentString += ' - <a  href="javascript:map.setCenter(new google.maps.LatLng('+latlng.toUrlValue(6)+')); map.setZoom(parseInt(map.getZoom())-1);">[-]</a>';
    
        var marker = new google.maps.Marker({
            position: latlng,
            map: map,
            icon: new google.maps.MarkerImage('http://labs.google.com/ridefinder/images/mm_20_blue.png'),         
            zIndex: Math.round(latlng.lat()*-100000)<<5
            });
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.setContent(contentString); 
            infowindow.open(map,marker);
            });
        marker.MyZoom = zoom;
        // save the info we need to use later for the side_bar
        gmarkers.push(marker);
        // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
    }
    // This function picks up the click and opens the corresponding info window
    function myclick(i) {
      google.maps.event.trigger(gmarkers[i], "click");
    }
    function initialize() {
      // create the map
      var myOptions = {
        zoom: 8,
        center: new google.maps.LatLng(34.717876,137.851424),
        mapTypeControl: true,
        mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
        navigationControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }
      map = new google.maps.Map(document.getElementById("map_canvas"),
                                    myOptions);
      google.maps.event.addListener(map, 'click', function() {
            infowindow.close();
            });
          // Read the data from example.xml
          downloadUrl("http://xxxxxxxx/xxxxxxxxx/xxxx/V3_yamako_2012.xml", function(doc) {
            var xmlDoc = xmlParse(doc);
            var markers = xmlDoc.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
              // obtain the attribues of each marker
              var lat = parseFloat(markers[i].getAttribute("lat"));
              var lng = parseFloat(markers[i].getAttribute("lng"));
              var point = new google.maps.LatLng(lat,lng);
              var html = markers[i].getAttribute("html");
              var label = markers[i].getAttribute("label");
              var zoom = markers[i].getAttribute("zoom");
              if (!zoom) zoom = 15;
              // create the marker
              var marker = createMarker(point,label,html,zoom);
            }
            // put the assembled side_bar_html contents into the side_bar div
            document.getElementById("side_bar").innerHTML = side_bar_html;
          });
        }
    
    var infowindow = new google.maps.InfoWindow(
      { 
    //    size: new google.maps.Size(150,100),
        maxWidth: 450
      });
    
        // This Javascript is based on code provided by the
        // Community Church Javascript Team
        // http://www.bisphamchurch.org.uk/   
        // http://econym.org.uk/gmap/
        // from the v2 tutorial page at:
        // http://econym.org.uk/gmap/basic3.htm 
    //]]>
    
    </script> 
      </head> 
    
    <body style="margin:0px; padding:0px;" onload="initialize()"> 
        <!-- you can use tables or divs for the overall layout --> 
         <table border="1"> 
    <tr>
    <td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>Yamako 国内旅行地図:2012年
    </big></strong><br /></font></td></tr>      
    <tr> 
            <td> 
               <div id="map_canvas" style="width: 780px; height: 820px"></div> 
            </td> 
            <td width = 220 valign="top"  bgcolor="#ffffe0" style="text-decoration: underline; color: #000000; font-size: small;" >
               <div id="side_bar"></div> 
            </td> 
          </tr> 
        </table> 
    
    
        <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
          However, it seems JavaScript is either disabled or not supported by your browser. 
          To view Google Maps, enable JavaScript by changing your browser options, and then 
          try again.</p>
        </noscript> 
    
      </body> 
    </html> 
    


    2012年7月29日

    隠居のパソコン備忘録: Google Maps API V3 で Polyline を描く


     自作地図を作成するのに便利していた Google Maps API のバージョンが、 V2 から V3 に大幅に変更され、来年5月には V2 で作成した地図が動かなくなりそうだということは、隠居のパソコン備忘録:Google Maps API V3 で旅行地図を作成するで、記録した。

     Studio YAMAKO のオーナーが、この2?3年に海外旅行した時の地図には、旅程を表す Polyline を表示している。これも、V3 になると書き換えなければならない。V2 では、XML ファイルに訪れた地点の経度・緯度を書き込んでおくと Polyline を描いてくれる sample code があったが、V3 では、そのような sample code は、ヒットしなかった。
     【Google Maps JavaScript API V3の使い方】というサイトに、【ポリラインの表示】というぺーじがあり、polyline を描くための訪問地点の経度・緯度を Javascript に直接記入する方法が紹介されていた。このサンプル・コードを参考に、先日記録した【Google Maps API JS V3 でXML ファイルを読み込む】の Javascript コードに追加してみると上手く動くことが分かった。老人の備忘録として、「トルコ周遊8日間の旅」の地図のコードを記録としておきたい。下のコードの青字部分が Polyline 表示のために追加した部分である。
     訪問地点の経度・緯度は、V2 のときに使っていた XML ファイルの中からコピーしてきた。記述する部分は少ないので、XML ファイルにする必要性はあまりない。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
        <title>Google Maps Javascript API v3 Example: Loading the data from an XML</title> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript" src="http://n-shuhei.net/JSlibrary/downloadxml.js"></script>
    
    <style type="text/css">
    html, body { height: 100%; } 
    </style>
    
    <script type="text/javascript"> 
    //<![CDATA[
    // this variable will collect the html which will eventually be placed in the side_bar 
          var side_bar_html = ""; 
    
          // arrays to hold copies of the markers and html used by the side_bar 
         // because the function closure trick doesnt work there 
    
          var gmarkers = []; 
    
         // global "map" variable
          var map = null;
    
    // A function to create the marker and set up the event window function 
    function createMarker(latlng, name, html) {
        var contentString = html;
        var marker = new google.maps.Marker({
            position: latlng,
            map: map,
            zIndex: Math.round(latlng.lat()*-100000)<<5
            });
    
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.setContent(contentString); 
            infowindow.open(map,marker);
            });
    
        // save the info we need to use later for the side_bar
        gmarkers.push(marker);
    
        // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
    }
    
    // This function picks up the click and opens the corresponding info window
    function myclick(i) {
      google.maps.event.trigger(gmarkers[i], "click");
    }
    
    function initialize() {
      // create the map
      var myOptions = {
        zoom: 6,
        center: new google.maps.LatLng(39.436193,29.86908),
        mapTypeControl: true,
        mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
        navigationControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }
    
      map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    
      google.maps.event.addListener(map, 'click', function() {
            infowindow.close();
            });
    
          // Read the data from hachi.xml
          downloadUrl("V3_maps_Turkey.xml", function(doc) {
            var xmlDoc = xmlParse(doc);
            var markers = xmlDoc.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
    
              // obtain the attribues of each marker
              var lat = parseFloat(markers[i].getAttribute("lat"));
              var lng = parseFloat(markers[i].getAttribute("lng"));
              var point = new google.maps.LatLng(lat,lng);
              var html = markers[i].getAttribute("html");
              var label = markers[i].getAttribute("label");
    
              // create the marker
              var marker = createMarker(point,label,html);
            }
    
          // put the assembled side_bar_html contents into the side_bar div
            document.getElementById("side_bar").innerHTML = side_bar_html;
    
    // Polyline 表示の追加 ここから     
        var drivePlan = [
          new google.maps.LatLng(40.010787, 26.279297),
          new google.maps.LatLng(39.317035, 26.703644),
          new google.maps.LatLng(37.947176, 27.342567),
          new google.maps.LatLng(37.914409, 29.120979),
          new google.maps.LatLng(37.882441, 32.485199),
          new google.maps.LatLng(38.376115, 34.002686),
          new google.maps.LatLng(38.533127, 34.433899),
          new google.maps.LatLng(38.627063, 34.720917),
          new google.maps.LatLng(38.772019, 35.490303),
          new google.maps.LatLng(41.013066, 28.975067),
          new google.maps.LatLng(40.010787, 26.279297)
        ];
        var drivePath = new google.maps.Polyline({
          path: drivePlan,
          strokeColor: "#FF0000",
          strokeOpacity: 1.0,
          strokeWeight: 2
        });
          drivePath.setMap(map);
    // ここまで 
    
          });
        }
    
    var infowindow = new google.maps.InfoWindow(
      { 
    //    size:  new google.maps.Size(200,50)
      });
    
    //]]>
    
    </script> 
      </head> 
    
    <body style="margin:0px; padding:0px;" onload="initialize()"> 
    
    <table border="1"> <tr>
    <td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>「洞窟ホテルに泊まる!トルコハイライト周遊8日間」の旅</big></strong></font></td></tr>      
    <tr><td> 
        <div id="map_canvas" style="width: 800px; height: 600px"></div> 
        </td> 
        <td width = 200 valign="top" bgcolor="#ffffcc" >
    左の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の地名をクリックすると該当位置に吹き出しが出ます。吹き出しの中のリンクをクリックすると詳細地図あるいは関連投稿に飛びます。<br /><br />
        <div id="side_bar"style="text-decoration: underline; color: #000000; font-size: small;"></div> 
        </td></tr></table> 
    
        <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
          However, it seems JavaScript is either disabled or not supported by your browser. 
          To view Google Maps, enable JavaScript by changing your browser options, and then 
          try again.</p>
        </noscript> 
    
      </body> 
    </html> 
    


    2012年7月21日

    隠居のパソコン備忘録: Google Maps API JS V3 でXML ファイルを読み込む

     
     自作地図を作成するのに便利していた Google Maps API のバージョンが、 V2 から V3 に大幅に変更され、来年5月には V2 で作成した地図が動かなくなりそうだということは、隠居のパソコン備忘録:Google Maps API V3 で旅行地図を作成するで、記録した。

      V2 で作成した多くの地図では、外部ファイルである XML ファイルを読み込んでマーカを立てる地点やマーカをクリックすると出てくる吹きだしの中に、リンク先などの情報を表示していた。年間の旅行先などマーカが順次増える場合には、XML ファイルに経度・緯度や必要なリンクを書き足すだけでいいので便利をしていた。
     今まで V2 で作成してきた地図を V3 にバージョンアップして XML ファイルを読み込むためのサンプル・コードを探し回したが、適切なコードが見つからなかった。一から、作成する能力はからきしない。途方に暮れて、上のブログに記録した前回の方法で、XML ファイルを使わず直接 JavaScript に書き込むことも挑戦しかけたが途方も無い作業のようなのでやめて、今までの XML ファイルが使えそうなサンプル・コードで、再度粘ってみることにした。

     拝借したサンプル・コードは、上のブログに記録した前回の方法ときにも拝借した、【Using the Google Maps API v3】 というページにある【lLoading the data from an XML file translated to v3】のソース・コードである。
     V3 のGoogle Maps API にXML ファイルを読み込む方法は、多くの場合、前回に lightbox 2.51 の導入で紹介した JavaScript のライブラリー jQuery が使われている。拝借したサンプル・コードでは、jQuery ではなく、downloadxml.js というライブラリーが使われている。どうも、jQuery の方が本流らしいが、私にとっては、V3 で今までの XML ファイルが使えるサンプル・コードの方がありがたい。
     一週間以上かなりの時間を使って粘った甲斐があって、下のようなコードで XML が読み込めるようになった。
     
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
        <title>Google Maps Javascript API v3 Example: Loading the data from an XML</title> 
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript" src="http://n-shuhei.net/XXXXX/XXX/XXXXX/downloadxml.js"></script>
    
    <style type="text/css">
    html, body { height: 100%; } 
    </style>
    
    <script type="text/javascript"> 
    //<![CDATA[
    // this variable will collect the html which will eventually be placed in the side_bar 
          var side_bar_html = ""; 
    
          // arrays to hold copies of the markers and html used by the side_bar 
         // because the function closure trick doesnt work there 
    
          var gmarkers = []; 
    
         // global "map" variable
          var map = null;
    
    // A function to create the marker and set up the event window function 
    function createMarker(latlng, name, html) {
        var contentString = html;
        var marker = new google.maps.Marker({
            position: latlng,
            map: map,
            zIndex: Math.round(latlng.lat()*-100000)<<5
            });
    
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.setContent(contentString); 
            infowindow.open(map,marker);
            });
    
        // save the info we need to use later for the side_bar
        gmarkers.push(marker);
    
        // add a line to the side_bar html
        side_bar_html += '<a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br>';
    }
    
    // This function picks up the click and opens the corresponding info window
    function myclick(i) {
      google.maps.event.trigger(gmarkers[i], "click");
    }
    
    function initialize() {
      // create the map
      var myOptions = {
        zoom: 12,
        center: new google.maps.LatLng(35.377556,134.534862),
        mapTypeControl: true,
        mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
        navigationControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      }
    
      map = new google.maps.Map(document.getElementById("map_canvas"),
                                    myOptions);
    
      google.maps.event.addListener(map, 'click', function() {
            infowindow.close();
            });
    
          // Read the data from hachi.xml
          downloadUrl("hachi.xml", function(doc) {
            var xmlDoc = xmlParse(doc);
            var markers = xmlDoc.documentElement.getElementsByTagName("marker");
            for (var i = 0; i < markers.length; i++) {
    
              // obtain the attribues of each marker
              var lat = parseFloat(markers[i].getAttribute("lat"));
              var lng = parseFloat(markers[i].getAttribute("lng"));
              var point = new google.maps.LatLng(lat,lng);
              var html = markers[i].getAttribute("html");
              var label = markers[i].getAttribute("label");
    
              // create the marker
              var marker = createMarker(point,label,html);
            }
    
            // put the assembled side_bar_html contents into the side_bar div
            document.getElementById("side_bar").innerHTML = side_bar_html;
          });
        }
    
    var infowindow = new google.maps.InfoWindow(
      { 
    //    size:  new google.maps.Size(200,50)
      });
    
        // This Javascript is based on code provided by the
        // Community Church Javascript Team
        // http://www.bisphamchurch.org.uk/   
        // http://econym.org.uk/gmap/
        // from the v2 tutorial page at:
        // http://econym.org.uk/gmap/basic3.htm 
    
    //]]>
    
    </script> 
      </head> 
    
    <body style="margin:0px; padding:0px;" onload="initialize()"> 
    
        <!-- you can use tables or divs for the overall layout --> 
        <table border="1"> 
    <tr>
    <td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>ハチ高原近辺私的観光地図</big></strong><br /></font></td></tr>      
    <tr> 
            <td> 
               <div id="map_canvas" style="width: 800px; height: 600px"></div> 
            </td> 
            <td width = 200 valign="top"  bgcolor="#ffffe0" style="text-decoration: underline; color: #000000; font-size: small;" >
    <!--<td valign="top" style="width:150px; text-decoration: underline; color: #4444ff;">-->
               <div id="side_bar"></div> 
            </td> 
          </tr> 
        </table> 
    
        <noscript><p><b>JavaScript must be enabled in order for you to use Google Maps.</b> 
          However, it seems JavaScript is either disabled or not supported by your browser. 
          To view Google Maps, enable JavaScript by changing your browser options, and then 
          try again.</p>
        </noscript> 
    
      </body> 
    </html> 
    
    サンプル地図

     試行錯誤は、拡張子の前につける . (ピリオド)が抜けていたり、ファイルのアップロード先を間違ったりなど実に単純なミスの連続であった。
     とくに、Geekなぺーじの【Google MAPS JavaScript APIでのデバッグ】にも書かれているように、日本語コードで最後までつまづいた。V2 のときには、Shift-JIS でも OK だったXML ファイルが、UTF-8 でないとエラーを起こすというより、全く読んでくれない。
     この試行錯誤のお陰で、Google Maps API について、少し理解が深まったが、JavaScript に十分な知識がない老人にはやっぱり難解な世界である。中断していた JavaScript の学習も再開せねばと思うが、なにしろやりたいことが多すぎる。
     来年5月までに、順次 V2 の地図を V3 にしていくつもりである。

    2012年1月 2日

    隠居のスマートフォン:アプリケーション Internet Radio Live365 の不具合


     私が使っているスマートフォン Xperia acro (android 2.3.4) で、時間的に(パケット数としても)最もよく使っているアプリケーションは、Internet Radio の Live365 への接続である。この Live365 に、私はRadio Senboku というラジオ局を開設している。24時間 Jazz が流れている。どこかに出かけるときや車に乗っているときには、今までの iPod に代わってスマートフォン Xperia acro で Live365 のRadio Senboku に接続して、Jazz を聴いている。現在、Jazz Piano Trio の特集をしている。ご機嫌である。

     この Live365 へ元旦夜になって、突如としてつながらなくなった。 Xperia acro の画面に、次のようなポップアップが出る。

    warning-popup.jpg

     アプリケーション Live365 をアンイストール、インストールを何回か繰り返してみたが、状況は同じである。【android Live365 "application has expired"】などの言葉で、ググッて見たがどうもうまくヒットしない。
     いろいろと探るうちに、Live365 のフォーラムに

    Live365 Forum Index > Mobile and Devices
    My android app says expired and won't/can't update


    というスレッドがあるのを見つけた。最初の投稿は、otrxm164 という Virginia に住む方からのもので、次のようなメッセージである。

    My android app says expired and won't/can't update
    Sat Dec 31, 2011 5:40 am

    I go to sleep listening to Live 365. But when checked it this morning it wouldn't come up. It says the app has expired. I checked my settings for the app and it is set to automatically update. Update is not an option and after uninstalling and reinstalling the Live 365 app I still get the "app has expired" message. I've been VIP for just a couple months so that's not an issue. Anyone else having this problem or know what's going on? Is it because of it being the end of the year?

    _________________
    I can see what you are saying! Old Time Radio is GREAT!!!!


     この投稿をきっかけに 17 の投稿が続いたが、同じようにスマートフォンから Live365 に接続できなくなったという報告ばかりである。
     このようなエラーは、Live365 の技術者がすぐに対応するはずであるが、時期が年末の Weekend で、otrxm164 さんの次のメッセージにあるように対応が遅れているらしい。

    Sat Dec 31, 2011 6:39 pm

    I wish they'd at least respond to the problem. It's almost like Live 365's staff are all on vacation for the New Year weekend. You'd think there'd be someone keeping watch. This is Streaming Dead Air. I guess we'll find out for sure Monday morning if there is an updated app. I'd hate to be working in billing come nextweek/first of the year with all the unhappy VIP members.

    _________________
    I can see what you are saying! Old Time Radio is GREAT!!!!


     どうやら、こちらでは手のうちようはないようだ。
      これらの投稿は、All times are GMT - 7 Hours とあり、日本の時間(GMT+9 ) とは 16時間の時差があるから、私が Live365 に接続できなくなった時刻と一致する。あと1日以上はスマホでの接続は諦めて、PC で楽しむしかないようだ。
     なお、Live365 に登録したID で接続していることが前提であるが、このスレッドの下の方に、【Watch this topic for replies】というリンクがあり、これをクリックしておくと新しい投稿があるとメールで知らせてくれるサービスがある。
     Gmail に転送しておくようにしておくと、スマホにも知らせてくれる。Live365 のスタッフからの投稿はいつになるのだろうか。

    (追記:2012/1/3) 1月3日の朝になって、スマホから Live365 へアクセスできるようになった。Live365 のスタッフが修正したに違いないが、先のコミュニティには何の音沙汰もない。お詫びと原因ぐらいの説明があっても良さそうなのものだが、この世界では頬かむりするのが普通なんのだろうか。

    (追記:2012/1/4)  1月4日の朝になって、このフォーラムを見つける前に Live365 の support team に出していた質問に以下のような返答がきた。

    Update for Case #296733 - "Why I could not update to latest version?"
    Hi,
    Thank you for writing us. We had experienced a problem with our Mobile Application over the weekend. It appears that when the new year changed there was an issue with the application. We have already addressed this application and uploaded the change to the android market.

    To fix this problem you will need to ensure that you're downloading the latest version of the application (which we uploaded after the broken one). Once you update the software with the latest version you will have no problem connecting or using our application. If you are a Kindle Fire user, the fix has been submitted we are waiting on amazon to post the updated application.

    We appologize for any inconvenience this may have caused you. Happy New Year from Live365!

    Regards,
    Sean

    Live365.com Customer Support Team

    Message History
    -----Original Message-----
    From: Live365 Customer
    Sent: Friday , December 30, 2011 04:43 pm PST (GMT-08:00)
    Subject: Why I could not update to latest version?

    I've tried uninstall-install several times, but I couldn't.
    Message is "The application has expired, please update to latest vesion."
    Please tell me, how to fix it.

     質問に対する返答は、通常 within one business day となっているが、年末の休みが挟まっていたために遅くなったと思われるが、多分修復が遅くなったせいであろう。原因は分からずじまいである。

    2011年8月11日

    隠居のスマートフォン備忘録:(3)Xperia acro で音楽(mp3)を楽しむ


     今まで、自分が収集した音楽ファイル(mp3 ファイル) を戸外や車の中で楽しむには、初期の iPod shuffle や iriver portable mp3 player を長年使ってきた。

     スマートフォン Xperia acro は小さなノートパソコンみたいなものであるから、もちろん音楽ファイル(mp3 ファイルなど) を保存し、再生することができる。Xperia acro SC-02C の内蔵メモリー(RAM)は 512MB であるが、初期にインストールされているソフトなどで、空き容量は 255MB くらい(ホーム画面のメニューボタン⇒ストレージで確認できる)だそうだ。ただ、外部メモリーとして、microSDHC で最大 32GB をもつことができる。しかも、microSDHC 32GB が同梱されている。iPod や iriver では、1GB のものを使っていたから、それに比べれば、保存容量を気にしなくてすむ。ただ、microSDHC には、写真や動画も保存することになるのでむやみに大量に保存できるわけではない。

     私は音楽ファイルの処理は、パソコンで行っている。音源は様々である。古い LP レコードから mp3 ファイルを作ったりeMusic(現在、日本からはダウンロードできない)や Amazon から Net 購入した曲や CD をデジタル化した曲である。クラシック、カントリー、Jazz、Pops などの曲が、Windows Media Player のライブラリーにデータベース化されている。アーカイブの数は数えたことはないが、30GB程度になった。
     iPod やiriver portable mp3 player (車で mp3 ファイルを聞くときに使っている)は、パソコン本体とUSB 接続でファイルを入れ替えるが、iPod では iTunes というApple のソフトを、iriver では iriver Music Manager というソフトを使わなくてはならない。その点、Xperia acro では、USB メモリーと接続するのと同じように、パソコン本体でひとつのドライブとして(SC-02C というドライブ名で)に認識されるので、その下にある music というフォルダーに本体のフォルダーまたはファイルをコピペすればよい。極めて簡単である。
     コピペした mp3 ファイルは、music フォルダー の下に、たとえホルダーを作ってコピペしても、すべて一緒にアーカイブとして保存されるようだ。Xperia acro での「ミュージック」アプリでは、これらのアーカイブを「アーティスト」、「アルバム」、「トラック」、「プレイリスト」と分類してくれる。「トラック」で表示される曲は、music フォルダー にアーカイブされているすべての曲である。「アーティスト」では、mp3 ファイルの ID3 タグに持っている情報の artists 別に、「アルバム」では ID3 タグに持っている情報の album 別に表示される。また、「トラック」を表示しているときに、例えば jazz で検索してみるとID3 タグのジャンルに持っている情報がjazz の曲もヒットするようである。これらをうまく使えば、自分で作成することになっている(Xperia acro の中で)「プレイリスト」にjazz というようなジャンルで曲を集めることができる。
     「プレイリスト」は、「アーティスト」、「アルバム」、「トラック」のどの画面でも、トラックあるいは曲を選択(タッチ:長押し)すると出てくるポップアップ画面で表示される「プレイリストに追加」をタップすると出てくる「プレイリスト」の画面で、「新規プレイリストの作成」をタップして、新しい名前を入力する。すでにあるプレイリストに追加する場合は、プレイリストをタップすればよい。 
    アーティスト画面;クリックすると大きな写真になりますアルバム表示画面;クリックすると大きな写真になりますトラック表示画面;クリックすると大きな写真になりますプレイリスト表示画面;クリックすると大きな写真になります
    アーティスト表示画面
    アルファベット順に表示される
    ID3 タグにアーティスト名がないファイルは、不明なアーティストとして表示される
    アルバム表示画面
    アルファベット順に表示される
    アルバムジャケットの情報が得られる場合は表示される
    トラック表示画面
    アルファベット順に表示される
    microSDHCに保存されている全曲が表示される
    プレイリスト表示画面
    作成したプレイリストが表示される
    もちろん日本語にも対応している


    車載用のフォルダー;クリックすると大きな写真になります 私の乗っている古い車では、mp3 ファイルを再生するようなオーディオはついていない。従って、車で mp3 ファイルの音楽を聴くには、少々の工夫が必要である。下記のエントリー【車でMP3を聴く】で書いたように、カセットデッキ式のトランスミッター(私の古い車には、カセットデッキがついている)を iriver portable mp3 player につないで聴いていた。このデバイスを置くための適当なフォルダーがなかったので手作りのものを作っていた。今回、スマートフォンからも、同じようにカセットデッキ式のトランスミッターにつないで、聴いている。幸い、Xperia acro には、車載用のフォルダーが市販されている。
     なお、スマートフォンでの電話・メールの着信音に、ミュージックのトラックから選択できる。ケイタイでは、下のエントリー【隠居のケイタイ:録音した野鳥のさえずりを着信音にする】で書いたように、かなり難しい操作が必要である。Xperia acro では、例えば 小鳥のさえずりを mp3 化して、ミュージック・トラックに取り込めば簡単にできる。

    関連するエントリー


     

    2010年11月16日

    隠居のネット利用:Amazon で音楽曲をダウンロードする


     11月13日、amazon.co.jp から、【○○ ○○ 様 【無料も】MP3ストアオープン】というタイトルのメールが届いた。Amazon で、日本からダウンロード購入できなかった音楽ファイルが購入できるようになったのだ。
     インディーズ系の MP3 ファイルをダウンロードできていた eMusic は、この2月から日本ではダウンロードできなくなっていた。ダウンロードできていた Lavel が増えてきていただけにまことに残念であった。Sony Music および Warner Music の Label と契約したことで日本でのダウンロードができなくなった原因のようである。JASRAC はネットへの理解が薄いようにおもう。 Amazon のアメリカサイトでの Mp3 Store もアメリカの人だけしかダウンロード購入できなかった。ところが、Amazon では日本でも OK になったのだ。巨大Label や JASRAC をどのように説得したのだろうか。

     下のスクリーンショットをクリックしてみてください。【MP3ダウンロード 】のカテゴリーで楽曲を検索して、ダウンロード購入できるようになっているのが、分かると思います。
    MP3DL_00.JPG
     どれぐらいヒットするのかとアメリカのサイトと比較して試してみた。Amazon Store の【MP3ダウンロード 】のカテゴリーで【Miles Davis】で検索してみると、アメリカのサイトでは 3,433 曲(2010/11/16現在)がリストされる。ところが、日本のサイトでは 5,365 曲(2010/11/16現在)がリストされる。よく調べていないので分からないが、日本のサイトでは、日本で発売されたレコードも網羅されているのかもしれない。
     だが、日本でダウンロードできる曲は、screenshot を見ていただければ分かるように、これから順次開放されるらしい。

    アメリカのサイトでの検索結果
    MP3DL_02.JPG
    日本のサイトでの検索結果
    MP3DL_03.JPG


     問題は価格であるが、もうすでにダウンロード購入ができる【Miles Davis】のアルバム【Kind of Blue】で調べてみると、以下のように、現在の円高状況を考慮すると日本のサイトの方が高い。
    日本での価格
    MP3DL_05.JPG
    アメリカでの価格
    MP3DL_06.JPG

    $で買うほうが安いので、アメリカのサイトでダウンロードしようとするとやはりアメリカ人だけの制限がある。
    MP3DL_01.JPG
     日本のiTune store では、私の favorite である Jazz はあまりヒットしない。((追記:2010/11/17)現在はかなりヒットするようになった。ただし、1曲¥150と少し高い。)
     欲しい Jazz の曲がある時は、Amazon でサーチするくらい Amazon には多くのLavel の楽曲が収納されており、手に入れたい場合は仕方なく Amazon でアルバムを購入していた。これからは、私の趣味である Jazz の収集は1曲づつ比較的安価に購入できるので非常に便利となった。ありがたいことです。

     右サイドメニューに、【MP3 ダウンロード】ページへのリンク・バナーを置いた。もし、何か楽曲をダウンロード購入するときには利用していただける。日本のサイトなので、J-Pops もOKである。歌手によっては、演歌もダウンロード購入できるようである。

    2010年10月 4日

    隠居の散歩:初秋の泉北ニュータウン(2)

     10月になった。2日土曜日、天気もいいので、ご近所を散歩してみた。今回は、GPS-CS1 をベストのポケットに忍ばせ、Tamron 28-300mm を Nikon D90 につけて、双眼鏡を首からぶら下げた。ΣAPO 120-400mmは、ドック入りしたまま帰ってこない。
     いつものように、二級河川の和田川を南の方に上る(この川は南から北へ流れている)のではなく、今回は北のほうへ下り、まだ畑作が続けられている大庭寺あたりに被写体を求めてみた。

     10月2・3日は、泉北ニュータウン周辺に元からある地区のお祭りである。岸和田にならってだんじりが引き回され、年々派手になってきている。朝から、お囃子に乗って、田んぼの向こうにだんじりが行く。揃いのハッピを着た交通整理や警備の人も朝早くから大変だ。
     田んぼには、もういつでも稲刈りが出来るくらい稲穂が垂れている。野鳥はやっぱり数が少ないが、モズ・ハクセキレイ・コサギなどを観ることができた。残念ながら、野鳥の撮影には Tamron 28-300mm では限界がある。

     大庭寺の畑地で、遠くの樹木を見ていると、枝の上にコサギがたくさん群れている。ねぐらなんだろうかとその方向に足を向けた。近づいてみると、最近訪れなくなった南区稲葉地区にある小田之池のそばの樹木である。3年ほど前には、いろいろな種類の水鳥が群れていた小田之池は、水が引いて干潟みたいになっている。よく見ると、わずかばかりに水がある部分に小魚が一部は死に絶えうごめいている。これを狙って、コサギが集まっているのだ。コサギよりも、ゾッとするくらいの数のハシブトガラスが群れている。池のそばの柿の木にも、熟しかけた実を狙って群がっている。近くで畑作をしている方によれば、畑作物の被害も甚大なんだそうだ。

     GPS-CS1 のログと撮ってきた写真を【隠居の写真整理:Picasa でGPS ユニットを使って撮影場所を記録する】に説明した EveryTrail のサイトにアップしてみた。

    Walking at Senboku-New Town

    2010年9月26日

    隠居の写真整理:Picasa でGPS ユニットを使って撮影場所を記録する

     デジスコ用のコンデジ Sony DSC-W300 を求めた時についていたパンフレットなどを整理していて、GPS-CS1K(2010年9月現在、生産完了:今はGPS-CS3Kという製品が発売されている)というGPS ユニットが売りだされているのを知った。記録魔の隠居の遊び道具としては面白そうなので、余計なものがひとつ増えるが、ネットで衝動買いした。

      GPS-CS1K は、GPS(全地球測位システム)衛星から送られてくる信号を捉え、位置情報を記録するものである。日本での正確な位置を捕捉するために、日本製の「みちびき」という衛星が最近打ち上げられたことが、報道されている。ただし、1日中の測定のためには、あと2機が必要なのだそうだ。

     それはともかくとして、GPS-CS1K は、通信状態が良ければ、15秒ごとに 2m ぐらいの誤差で、その位置を記録してくれる。当然ながら、電波が捉えられない室内などでは、記録はできない。

     このGPS-CS1K の記録ファイル(log)には、日付時刻とその時の位置情報(60進法で表示される経度と緯度)が残される。デジカメには、Exif  という情報が写真撮影したときに取り込まれている。この情報の中に、撮影日時時刻が記録されている。GPS-CS1Kが記録した時刻とカメラが記録した時刻をマッチすることによって、どの場所で写真撮影が行われたが分かることになる。当然ながら、カメラの時刻合わせの設定は正確でなければならない。

     この撮影時刻と位置を付きあわせてくれるソフトが、GPS-CS1Kを求めたときに付属していた【GPS Image Tracker】である。

     先日、京都で府立植物園と賀茂川堤を歩いて撮影した写真をサンプルとして、実際の使用法を例示してみたいと思う。 詳細については、【デジカメアイテム丼】の記事を参照して欲しい。
    1. デジカメをぶら下げ、GPS-CS1Kをウエストポーチに取り付けた。
      GPS-CS1Kは、戸外で電源(単3電池1本)をオンにして、GPSの信号が受信出来ているかどうかの確認を行うだけでよい。
    2. 午前の10時半頃に京都府立植物園でGPS をオンにして、午後3時過ぎ娘の1K 近くに車で帰りついたときに、GPS の電源を切った。
      堺の自宅でいつものように写真の整理を Picasa で行い、ブログに載せる写真を別フォルダにエクスポートした。
    3. 【GPS Image Tracker】を立ち上げ、GPS-CS1K をUSB 接続でパソコンに接続するとログファイルの取り込み画面が出てくるのでOKする。
      ImageTr_02.JPG
    4. ログファイルが取り込まれたのを確認して、右フレームの【画像の追加】をクリックしてでてくるフォルダ選択画面で、位置情報を追加したい写真を選ぶ。
      この例の場合、撮影した野鳥の写真を追加すると、撮影時刻と一致する場所が地図上にマークが立つ。サムネイル写真の左側に、マークが付く場合はうまくマッチしていない場合なので、その写真は、上のゴミ箱アイコンを使って削除しておいたほうがいいようだ。ImageTr_01.JPGそして右フレーム下の【画像に位置情報を保存】ボタンをクリックして出てくるポップアップで、【保存】を選ぶと、写真の Exif 情報に付加される。
    5. Exif に位置情報が付加されているのは、Picasa で確認できる。ImageTr_04.JPG
      写真のプロパティを見ると、GPS緯度とGPS経度が、60進法で表示されている。ImageTr_05.JPG
    6. これらの位置を Google Maps API で自作した地図(例えば、【京都・滋賀・奈良近辺私的観光地図】で表示するためには、60進法の緯度・経度を10進法に変化しなければならない。ありがたいもので、ネットでサーチすると、そのようなツールを提供してくれているページが幾つかある。その中では、motohasi さんのページが使いやすい。
    7. このようにデジカメ写真の Exif に位置情報を付加しておくと、Google Maps API での自作地図に応用できるが、もっと趣向をこらしたEvryTrail というサイトのサービスが受けられる。
       このあたりの利用法については、【GPS スライドショー・アルバムの作り方】に詳しい。この記事を参照して、EveryTrail というサイトに登録(無料)し、【CREATE TRIP】という機能を使って、下のような写真を撮った場所と写真がリンクする trip といわれる地図を作ってみた。Picasa で表示されるものとよく似たこの地図のHTML ソースは、trip を作成するとメールで送られてくる。下の地図は、このソースを貼りつけたものである。

     よく調べてみると、先日手に入れた Nikon D90 には、GPS の端子がついており、Nikon の DP-1 というGPS ユニットを付けると自動的に、写真Exif 情報に位置情報を取り込んでくれるようだ。便利な世界になったもんだ。

    Kyoto-Kamogawa Birds Watching

    <


    2010年9月16日

    隠居のパソコン備忘録:LP からデジタル(MP3)化したファイルにWMPでID3tagを附加する


       【隠居のパソコン備忘録:(続)LP をデジタル(MP3)化して、音楽CD にする】での、6. ? 9. は、LP 1枚まるまるをデジタル(WAV)に変換録音し、これを1曲ごとに分割して、MP3に変換したあと、それらに、ID3tag という曲の情報を付加する方法を記載している。
     そこでは、英語版のフリー・ソフトの ID3Tag-IT を使用した方法を記載している。このフリーソフトは、付加した ID3tag からファイル名を作成してくれるなど、いろいろな城能がついていて慣れれば便利であるが、うまくダウンロード出来ないことがあるらしい。

     そこで、WindowsMediaPlayer(WMP) で ID3Tag を付加できないか試してみた。結論的にいえば、 ID3Tag-IT のように、ファイル名を変更する機能はないが、 ID3Tag を付加することはできる。日本語もOKである。その方法について、記録しておきたい。

    1. 上のエントリーで記載した方法で、1曲ごとに分割してMP3に変換したあとでのフォルダ表示(表示オプションを詳細にしている)は、例えば、フォルダ名を Pedro&Capricious としたフォルダの内容は、次のスクリーンショットのようになっている。アーティストやアルバム名が表示されていない。WMP_11.JPG
    2. アーティストやアルバム名を表示させたり、曲のタイトルを付加するためには、このフォルダ(ファイル)を WMP のライブラリーに追加しなければならない。
      追加の手順は、WMP を立ち上げ、ライブラリ タグを右クリックするとでてくるセレクトボックスで、【音楽】が選択しているのを確認の上、【ライブラリに追加】をクリックする。WMP_12.JPG
    3. クリックするとでてくる次のようなポップアップ画面で【監視するフォルダ】に先程のフォルダを追加し、【OK】ボタンをクリックするとライブラリへの登録作業が始まる。WMP_13.JPG
    4. 登録作業が完了すると、左フレームの【ライブラリ】⇒【最近追加】をクリックすると表示される下の方のアーティスト情報なしのところに、先程のファイル(曲)が表示されるはずである。WMP_14.JPG
    5. この画面で、すべてのファイルを選択し反転させた上で、ひとつのファイル行と上部のの【アーティスト】タグ列とが交差する部分をクリックすると出てくるポップアップ画面で、【編集】をクリックすると入力ボックスがでてくるので、アーティスト名(例えば、この場合 Pedro&Capricious )を入力すると全曲(ファイル)のアーティストが、 Pedro&Capricious と表示される。
      全曲で共通する【アルバム】、【ジャンル】などは、同じように入力する。すると、下のスクリーンショットのようになる。なお、上部のタグの位置は、タグをクリック&ドラッグで順序を入れ替えることができる。また、アーティスト名を入力した時点で、ファイルの場所が変更される。WMP_21.JPG
    6. 曲名やトラック番号を入力するには、1曲ずつの作業となる。オリジナルのLP ジャケットを見ながら入力をしてもいいが、ほとんどの LP は CD の復刻版がでているから、Amazon でアルバムを検索して収納されている曲名を検索することもできる。ただし、 CD の復刻版をだしたときに、順序や曲を入れ替えたりしていることもある。
      例では、ペドロ&カプリシャスの"華麗なるニューポップスの世界"というアルバムに収納されている曲名を表示させ、Copy&Paste で入力した。 WMP_23.JPG
      入力後はつぎのようになる。WMP_24.JPG
    7. このとき、Windows のフォルダー表示でも、WMP ライブラリでの編集が反映される。ただし、ファイルの詳細表示で、情報タグ行部分を右クリックするとでてくるセレクトボックスで表示させる項目を選択する必要がある。
      このとき、ファイルの名前は元のままである。WMP_25.JPG
    8. ID3Tag-IT を利用すれば、ファイル名も変換できる。WMP_26.JPG


    2010年9月 5日

    隠居のパソコン備忘録:(続)LP をデジタル(MP3)化して、音楽CD にする

     前回備忘録として記録した方法は、roxio Easy Media Creator という結構高価な有料のソフトを使っている。その後 ネットでサーチしてみると、フリーウエアを何種類か使ってできることがわかった。

     フリーウェアのパソコン・ソフトを使って、LP をデジタル(WAV or MP3)化する方法については、パソコン夢工房というサイトのカセットテープ・LPレコードから音楽を取り込むというページに詳しいので、詳細はそちらを参考にしていただくことにして、注意すべきことがらだけ記載しておきたい。

    1. LPを再生する装置(オーディオ装置)とパソコンをつなぐ。
      ネットでの音をオーディオ装置で聴いている人は、その接続とは逆のパソコン(入力) オーディオ装置(出力)のラインをつくることである。LP を聴けるようなオーディオ装置には、たいてい出力のジャックがあると思う。
    2. Sound Engine Free というフリーソフトを使って、デジタル録音する。このソフトでのデジタル化は、.wavという形式のファイルとなる。
      Sound Engine Free のダウンロード・ページには、【AVS Audio Editor】 を「今すぐダウンロードする」というボタンが大きく表示されるが、それをダウンロードするのではなくて、上のリンクページの中程にあるアンダーラインつきの青い文字 【SoundEngineFree】をクリックすればダウンロード出来る。
    3. カセットテープ・LPレコードから音楽を取り込むのページでは、カセットテープからのデジタル化が例示されているが、これをLP と置き換えればよい。
      最近のターンテーブルは自動でレコード針をLPに落とすと思うので、ターンテーブルを動かしてから、録音開始ボタンをクリックすればよい。
      録音後波形を見ながら編集できるので、曲の切れ目を気にせず、レコードが終わるまで流しぱなしの方が処理がやりやすいと思う。
      パソコン夢工房での記載では触れていないが、録音先のフォルダーは、初期設定のままではなしに、自分で設定したほうが良いと思う。後ほどに、いろいろと使用するのでフォルダーを探す手間を省きたい。下のような設定画面は、Sound Engine Free の上段にある【録音】ボタンの横にある【フォルダー】ボタンをクリックすると出てくる。SoundE_05.JPG
    4. LP から録音し終わった WAV ファイル を、一曲ごとに分割する。
      分割するには、波形を見て分割する場所にマークを入れるが、マークを入れやすいように波形の長さは上段のツールアイコンにある【拡大】【縮小】で長さを調整できる。また、マークを入れる場所の確認のために、入れたい場所の前後を再生して確認できる。このとき、オーディオ装置との接続状態は パソコン【出力】 オーディオ装置【入力(大抵の場合は line )】である。
      また、LP レコード・ケースなどに一曲ごとの演奏時間を記載している場合が多いから、それを参考にして分割する部分は探せる。
    5. 分割保存すると WAV の形式で保存されるが、一曲ずつの容量は大きい。耳の肥えた人には WAV 形式の方がいいらしいが、10分の1くらい圧縮される MP3 形式で普通に聴くぶんには十分と思う。
      また、MP3 へ変換することで、後で記載するように曲の情報(ID3 タグ)を附加することができる。
      MP3 への形式変換には、午後のこ?だ】というフリーソフトを使う。設定は、初期設定のままで問題はないと思う。
      LP一枚分くらいの変換は、すぐに終了する。 wingogo_1.JPG
    6. 以上の作業を済ませると Windows Media Player を使って音楽CD に書き込むことができるが、できるなら曲の情報(ID3 タグ)を書き込んでおきたい。
      そのことによって、自分の音楽ファイル・データベースである Windows Media Player Libraly での活用範囲が増えてくる。
      ID3タグ情報を書き込むフリーのソフトはいろいろとあるようだが、英語版のID3-TagIT というソフトを使ってみた。ダウンロード・ページで、【Download Now(1.26MB)】をクリックすると ID3-TagIT-setup.exe というファイルがダウンロードされるので、これを実行すれば ID3-TagIT.exe という名前でインストールされる。
    7. この ID3-TagIT には、さまざまな機能が用意されているが、とりあえず Artist: Album: Genre: Track#: を附加することにしたい。
      ID3-TagIT を立ち上げると下の画面のように、左フレームにおなじみのフォルダー表示が出てくるので、ここから【午後のこ?だ】で保存したフォルダーを選択する。 すると、そのフォルダーに保存された MP3 ファイルが表示されるので、情報を附加するファイル(曲)を選択する。
      ID3-TagIT 画面;クリックすると大きな写真になります
    8. LP一枚分全曲の同じ情報(例えば、Album名、Artist名、Genre、レコード発刊年など)は、まとめて入力できる。Artist: Album: は右フレームの Quick Edit で入力できるが、その下の【More】ボタンをクリックすると下のような詳細入力画面がでてくるので、この画面で入力すればよい。このとき、Genre はリストから選択し、【Add Genre】をクリックすれば、タグ(情報)に附加される。
      ID3-Tag_2.JPG
    9. 曲名(Title)を入力するときは、個個に該当ファイルを選択して入力する。入力を完了して保存すれば、タグ情報が附加される。
      (追記:2010/9/9)ID3-TagITでは、これらのタグ情報を使って、ファイル名を一括変更することができる。 ID3-Tag_12.JPG
      変更するには、変更したいファイルを選択し、ツール・アイコンの右端にあるアイコン【TAG Ver. 2 to filename】をクリックするか、【Ctrl】+【R】キーを押すと、変更の設定画面がでてくるので、その指定にしたがい意図するファイル名を設定する。
      私の場合、一枚のLP分を一括変換しているので、【Format】に、< T > (Title)だけを設定した。するとファイル名は、曲名(Title)だけが表示されるようになる。
      ID3-Tag_6.JPG
      ↓   ↓   ↓

      ID3-Tag_9.JPG
      ↓   ↓   ↓
      ID3-Tag_7.JPG
    10. このように保存したファイルを Windows Media Player(WMP) Libraly に登録する(登録しないとWMP で音楽CD に取り込みができない)には、【Windows Media Player ライブラリに項目を追加する】を参照してください。先ほど保存したファイルを再生すれば、自動的に WMP Libraly に追加されるようです。
      MP3化した追加後のLPアルバムを表示すると下のような画面になる。
      ID3-Tag_3.JPG
    11. 音楽CD に焼き付ける前に、【MP3GainによるMP3ファイルの音量一括調整】に記載の方法で、音量調整をしておきたい。
      ただ、 WMP にも書き込みの設定で音量調整をする機能はあるようだ。
    12. 音量調整を終えたら、WMP でアルバムを表示させて、【書き込み】ボタンをクリックし、右フレームにファイルをドラッグアンドドロップして、【書き込み開始】ボタンをクリックすれば、書き込みが始まる。空CDは、1枚20円くらいで売っている普通のCD で大丈夫である。
      書き込み方法については、【隠居のパソコン備忘録:LP をデジタル(MP3)化して、音楽CD にする(再)】のエントリーでもう少し詳しく記載している。


    2010年6月25日

    隠居のケイタイ:録音した野鳥のさえずりを着信音にする


     DeAGOSTINI 社から出版されている【週刊野鳥の世界】を購入している。
     最近配布のあった号のなかに、スズメ目ウグイス科に属するムシクイ類の識別資料として、鳴き声で識別というリストが提供されている。リストに、2次元バーコードが印刷されており、これをケイタイのバーコード認識で取り込むと音源へのURL が表示される。このURLへ接続すると6種類あるムシクイ類のさえずりがダウンロードできる。
     ダウンロードしたさえずりは、ケイタイの電話やメールの着信音に設定できる。これに、ヒントを得て、自分で録音した野鳥のさえずりを着信音にする試みを行ったみた。少し手こずったが、先日鉢ヶ峯で録音したホオジロのさえずり MP3 ファイルを着信音に設定したので、備忘録として残しておこうと思う。

     方法はいろいろとあるようだが、私は試行錯誤をしながら次の順序で行った。
    この方法で行うためには、事前準備として、フリーソフト【着もと】をダウンロードしておく必要がある。この【着もと】というソフトは、NTT DoCoMo社製のFOMA携帯電話における「iモーション」ファイル(.3gpファイル)を,着信音に設定できる「着モーション」ファイルに変更するソフトである。
    ダウンロードできるファイルは、拡張子が、.7z の圧縮ファイルになっており、これを解凍するには WinZip が必要である。
    また、Microsoft Visual C++ 2008 SP1 再頒布可能パッケージをインストールしておかねばならない。
    そのうえで、以下の順序で行った。
    1. 着信音にしたいmp3ファイルを用意する。私は、ブログに載せるために、SoundEngine で増幅など編集したファイルを使った。
    2. 美人女性の顔写真が Faviocn になっているフリーソフト【着もと】を実行すると、次のような画面となるので、着信音にしたいファイルが入ったディレクトリ、フォルダーを指定してファイルを表示する。
      keitai_01.JPG
    3. 着信音にしたいファイルを右クリックすると、下のようにセレクトボックスが表示されるので、【着もと化】を選択すると、少し時間がかかるが「iモーション」ファイル(.3gpファイル)への変換が行われる。
      keitai_02.JPG
    4. 変換後のファイルは、同じフォルダーに次のように表示される。
      keitai_03.JPG
      FOMA向けの着モーションのファイルは500KB以下のファイルサイズでなければならないが、この時に確認ができる。(.3gpファイル)は、MP3 の50%弱となるようなので、事前に SoundEngine などで調整をしておきたい。


    5. この着モーションのファイルを FTP ソフト(私の場合、FFFTP)で、Web サーバーにアップロードする。私の場合、契約しているレンタルサーバーがあるので、そこへアップロードした。
      yahooブリーフケースなどでインターネット上に着うたデータファイルをUPすることもできるそうだが、私は試していない。


    6. ケイタイで、UP したファイルのURL を【iMode】⇒【インターネット】⇒【URL入力】でインプットして接続すれば、ケイタイの画面に【iモーション取得中】とでてファイルがダウンロードされるので、これを【データBOX】 に保存する。

    7. ケイタイで【メニュー】⇒【設定】⇒【発着信通話】⇒【着信設定】⇒【電話着信】または【メール着信】⇒【着信完了音】を選択すると【データBOX】が表示されるので、【iモーション】⇒【iモード】にあるダウンロードしたファイルを選択すればよい。 


     これを応用すれば、"電話ですよ!"、"メールがつきました!"といった孫の声を MP3レコーダーで録音し、ケイタイの着信音にすれば孫好きの老人にはいいかもしれない。待ち受け画像に孫の写真を貼っているひとはたくさんいるのだから。

    2010年4月11日

    隠居のパソコン備忘録:アクセス解析サービス(Research Artisan) の停止について


     私のサイトに訪問してくれる方々のページ毎の訪問者数やそれらの方々が使われている OS やブラウザーなどの% が分かるフリーのアクセス解析サービスResearch Artisan が、下のように5月の下旬で終了になる。Movable Type で作成しているブログを維持していく上で重宝していたので、非常に残念である。

    100410_1.jpg なぜ中止するかの詳細な説明を読むと、収益がでる望みがないというのが理由らしい。
     だが、「リサーチアルチザンライト(Research Artisan Lite) 」というソフトが、2009年9月よりオープンソースとして提供されているらしい。私のような初心者ができるかどうか分からないが、インストールに挑戦してみることにした。幸い、Research Artisan Lite が使えるレンタルサーバーには、私がブログ・サイトをおいている XSERVER が、快適に動作することになっている。早速、Version 1.14 をダウンロードした。

     インストールの手順は、Research Artisan Lite - インストールマニュアルに詳しいが、私がつまづいたところを含めて備忘録的に記録しておきたい。なお、この記録は次のようなブログ環境で行った作業の備忘録である。
    • ブログ:MovableType4.1ja 同じドメインで3つのサイト(ブログ)を運営している
    • レンタルサーバー: XSERVER
    • Database: MySQL 
    • FTPソフト:FFFTP

    100410_2.jpg
    1. ダウンロードした圧縮ファイルを解凍する。解凍すると右のフォルダー構成になる。
    2. この public_html の下にある ra フォルダーを 私の場合別々に解析したいサイトが3つあるので、ra_atelier, ra_masajii, ra_yamako というように、それぞれ別のフォルダーを設定した。
       FTP ソフト(私の場合:FFTP) を使って、サイトの root (私の場合:/user/public_html )にそれぞれをアップロードした。
    3. 同じように、ra_core フォルダーも root にアップロードした。このフォルダーは共通に使える。
    4. インストール時にシステムに必要な定義ファイルを自動で作成する(書き込みをする)ために、ra_xxxxx フォルダーの下にある setting フォルダーのパーミッション(属性)を 777 に変更する必要がある。インストール後は元に戻すことになっている。戻していなければ、後に Research Artisan にログインしたときに警告メッセージが表示される。なお、XSERVER では、属性を 555 に変更しないと警告は消えない。
    5. 同じように、/xxxxxxx/public_html/ra_core/application/tmp の下にある logs フォルダーのパーミッションも 777 に変更する。これは、元に戻さない。
      これで、サーバーへ Research Artisan Lite ソフトのアップロードは終わりである。
    6. 次に、Research Artisan Lite のデータベース(MySQL)を設定する。私の場合、XSERVERに設定手順があるので、それに従い、それぞれのサイト分の3つのデータベースを追加した。実のところ、サーバーにログインして、いろいろな設定を変更することはほとんどないので、このあたりがもっとも手間取る作業であった。
    7. ここまでの設定が完了すると、http://xxxxxxxxx/ra_xxxxxx/analyze/index.php というURL が設定され、それにアクセスするとインストール画面 が現れる。
       インストール後でに同じURL にアクセスすると解析サービスの画面がでて、初期のインストール画面とはならない。もし、最初からやり直す場合は、 ra_xxxxxx/setting フォルダーに作成されている install_complete (中味は空)というファイルを削除する必要がある。
    8. インストールの初期の画面では、データベース接続設定を行う。ここでよく分からなかったのはホスト名である。それぞれ以下のように設定した。
      ホスト名:localhostDefault のままでよい
      ユーザー名:xxxxxxxxx_xxxxMTのデータベース作成時に作ったユーザー名を使用
      パスワード:xxxxxxxx上のユーザ名のパスワード
      データベース名:xxxxxxx_xxxxxxxXSERVER の命名規則による
      プレフィックス:ra_Default ままでよい
    9. 上の登録が上手くいくと、解析するサイト名とURL、ログイン用のパスワードの登録画面が現れる。
      サイト名: 例えば、Atelier Shuhei どんな名前でもよい。
      URL:例えば、http://n-shuhei.net/atelier/解析タグを置くURL
      パスワード:xxxxxxx解析サービス画面にログインするPW
    10. これで上手く設定できるとページが変わって、次のような解析用タグ(HTMLコード)が表示される。携帯サイト用のタグなども表示される。
      <script type="text/javascript" src="http://n-shuhei.net/ra_atelier/script.php"></script>
      <noscript><p><img src="http://n-shuhei.net/ra_atelier/track.php" alt="" width="1" height="1" /></p></noscript>

    11.  MovableType の管理画面を開き、このそれぞれの解析用タグを各サイトのモジュール・テンプレート 「ヘッダー」の該当部分(従来のリサーチ・アルチザンのためのタグ(コード)を置いていた場所)に貼り付け保存する。
    12.  さきほどの解析用タグが表示されているページの下の方にある「ログイン」をクリックすると、アクセス解析表示画面を表示するためのパスワードが要求される。パスワードを入力すると今までとほぼ同じの解析サービス画面が現れれば、成功である。


     貼り付ける解析用タグを前のタグと相違点を見ると、今まではresearch-artisan.com が預かってくれていたログ・データなどをユーザのサーバーに移したように見える。それ以外にも相違点はあるだろうが、私の知識ではよく分からない。
     従来のサービスで提供されていた「ランキング用タグ」は、なくなっているようだ。ブログ・ページに昨日のページ別アクセス・ランキング ベスト10を表示していたが、終了後はできなくなる。
     上の作業で稼働することは確認したが、終了日時が迫ってから、切り替えようと思っている。

    2010年2月16日

    日本では、eMusic と契約できなくなった

     2002年末から続けてきた eMusic から Jazz を中心として MP3 曲をダウンロードしてきた。少しずつの値上げはあったが、最近の契約は月50曲 19.99$ だった。隠居生活でも、1ヶ月の過ぎるのは速い。契約期限が迫って、あわててダウンロードすることが何回かあった。Jazz の曲も相当貯まったので、一時解約することにした。

     ところが、口座は残っているであろうと 前のID(e-Mail Address)で Login してみると、下のようなメッセージがでて日本では再契約はできないことがわかった。がっくりである。
     eMuisc からダウンロードできるアルバムは independent labels が中心だったが、2009年6月に Sony Music と 2010年1月に Warner Music と契約した。それが原因かもしれない。 Jazz は independent labels でも多くの曲がダウンロードできていたので、極めて残念である。
     もちろん、新たに口座を作ることも同じようなメッセージがでてきて、できない。今、口座を持っておられる方は、解約しない方がよいかもしれない。
    eMusic_2.JPG
     Amazon にも mp3 をダウンロードできるサイトがあるが、これは US customers だけに限定されている。悔しいけれども、日本ではアメリカのサイトからのダウンロードはできなくなった。インターネットって国境はなかったのではないのか。どこが、このような圧力をかけているのだろうか。
     Web Radio 局から流れる曲を録音することにしよう。これなら、今のところ free である。少々手間はかかるが。
    eMusic_3.JPG

     

    2010年1月29日

    Google Maps API で旅行地図を作る:線画を描くなど

     Studio YAMAKO さんのオーナーが、昨秋、中欧(ドイツ・チェコ・スロバキア・ハンガリー・オーストリア)を旅行したときの写真をコメント付きで、12 回に分けて投稿されている。
     これを題材に、Google Maps API を使って、旅行地図を作ってみた。今まで、何回か同じような旅行地図を作成しているが、今回はいくつかの新しい試みをしてみたので、いままでに学習したことも含めて、備忘録として記録しておきたい。

     Google Maps API を使って、Web ページ上に自作地図を埋め込むには、
    • HTML(CSSを含む): 自分で Web ページが作れる。
    • JavaScript: 簡単な文法が分かる。
    • XML: タグの意味が分かるなど文法がわかる。
    の知識が必要であるが、基本的な文法さえ知っておればなんとかなる。それ以上の細かいことは、ネット上で検索すれば教えてくれるサイトが沢山ある。どのサイトが親切かを知っている方が重要である。私は、英語のページであるが、 w3schools.com を重宝している。体系的によくまとめられており、独習にもってこいである。
     また、Google Maps API でWeb ページ上に地図を埋め込むには、サンプル・コードがネット上で提供されているので、これを Copy&Paste して、自分用に修正し利用すればよい。詳細な部分は、理解しようとすると学習に時間がかかる。ただ、自分用に修正するときに、上のような基本的な知識は必要だろう。
     サンプル・コードはいろいろなサイトで提供されているが、私は、これも英語のサイトであるが、"Google Maps API Tutorial" のコードを主として参照させてもらっている。自分のやりたいことが、整理された形で提供されている。
     今回、地図上に線を描くサンプル・コードは、XMLファイルを使いたいこともあって、このサイトのコードを自分なりに修正して使用した。
    日本語のサイトでは、Ajax Tower の「Google Maps入門」に多くのサンプル・コードがある。
     書籍は、「Google Maps API 徹底活用ガイド」を購入した。Google Maps API の基本的なユティリティが解説されているので、理解を助けてくれる。

     今回作った地図は、次のような構成になっている。
    1. 中欧の全体地図: 訪問した都市に通常マークred-dot.pngが表示される。
      1. このマークをクリックするか、地図の右欄にある地名をクリックすると、吹き出しが表示される。
      2. 吹き出しの中に表示されている「詳細地図」をクリックすると市街地図にリンクする。
      3. 各都市間をブルーのラインで訪問順に結んでいる。
    2. 市街地図:初期に表示する地図のタイプを航空写真にしている。
      1. 地図の右欄にある場所のチェックボックスをクリックすると番号入りマークが表示される。
      2. 場所名の下の青字をクリックすると写真が lightbox 形式で表示される。
    3. いずれの地図にも、地図を拡大・縮小できるコントロール、地図のタイプを切り替えるボタン、地図の縮尺をあらわすスケールが表示されている。

       これらの地図は、上記に記したサイトからいただいてきたコードを猿まねで自分なりに修正したものである。
    中欧の全体地図は、HTML ファイルのなかにある Javascript で XMLファイルを呼び込んでいる。この Javascript の中で、Google Maps API が提供するユティリティが使われている。 具体的なコードを以下に示す。

    全体地図用HTML(include Google Maps API JavaScript)
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
    
    <head>
    <style type="text/css">
        v\:* {   behavior:url(#default#VML);   }
        </style>
    <title>Google Maps</title>
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=???????????-TOJLbO9UBLVgjJC7W8hRCNFlWI0Fg132ssdjgyNcr14mm9hSKsn5??????????????_Ypmz1A" charset="utf-8" type="text/javascript"></script>
    	
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />	
    
    <!-- POPUP Window -->
    <script type="text/javascript" src="http://n-shuhei.net/script/delcash.js"></script>
    
    </head>
    
    <body onunload="GUnload()">
    <div align="center"> 
    <table border="1" width="auto" cellspacing="0">
    <thead><tr>
    <td bgcolor="#FFFFCC" align="center" colspan="2"><font color="#000000"><strong><big>中欧(ドイツ・チェコ・スロバキア・ハンガリー・オーストリア)を巡る旅</big></strong><br /><small>Internet Explorer で問題が出る場合は、キャッシュを消去してください。<input type="button" value="消去方法" onClick="open_win()"></small></font></td></tr>
    </thead>
    <tbody>
    <tr><td><div id="map" style="width: 760px; height: 500px"></div></td>
    <td width ="160px" valign="top" style="color: #000000; font-size: small;" align="left">
    左の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。下の地名をクリッ
    クすると該当位置に吹き出しが出ます。吹き出しの中のリンクをクリックすると詳細地図あるいは
    関連投稿に飛びます。<br /><br /><div id="side_bar"></div></td></tr>
    </tbody>
    </table>
    </div>
    
    <noscript><b>JavaScript must be enabled in order for you to use Google Maps.</b> However,
    it seems JavaScript is either disabled or not supported by your browser. To view Google
    Maps, enable JavaScript by changing your browser options, and then try again.
    </noscript>
    
    <script type="text/javascript">
        //<![CDATA[
    
        if ( GBrowserIsCompatible()) {
    // this variable will collect the html which will eventualkly be placed in the side_bar
         var side_bar_html = "";
    // arrays to hold copies of the markers and html used by the side_bar
    // because the function closure trick doesnt work there
          var gmarkers = [];
          var htmls = [];
          var i = 0;
    
    // A function to create the marker and set up the event window
          function createMarker(point,name,html) {
            var marker = new GMarker(point);
            GEvent.addListener(marker, "click", function() {
              marker.openInfoWindowHtml(html);
            });
    // save the info we need to use later for the side_bar
            gmarkers[i] = marker;
            htmls[i] = html;
            // add a line to the side_bar html
            side_bar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
            i++;
            return marker;
          }
    
    // This function picks up the click and opens the corresponding info window
          function myclick(i) {
            gmarkers[i].openInfoWindowHtml(htmls[i]);
          }
    
    // create the map
          var map = new GMap2(document.getElementById("map"));
          map.addControl(new GLargeMapControl());
          map.addControl(new GMapTypeControl());
          map.addControl(new GScaleControl());
          map.setCenter(new GLatLng(48.810481,14.315529), 6);
    //    map.setMapType(G_HYBRID_MAP);
    
    // Read the data from xml file
          var request = GXmlHttp.create();
          request.open("GET", "http://n-shuhei.net/????????/Polyline_ex_1.xml", true);
          request.onreadystatechange = function() {
            if (request.readyState == 4) {
              var xmlDoc = request.responseXML;
    // obtain the array of markers and loop through it
              var markers = xmlDoc.documentElement.getElementsByTagName("marker");
              
              for (var i = 0; i < markers.length; i++) {
                // obtain the attribues of each marker
                var lat = parseFloat(markers[i].getAttribute("lat"));
                var lng = parseFloat(markers[i].getAttribute("lng"));
                var point = new GLatLng(lat,lng);
    
                var html = markers[i].getAttribute("html");
                var label = markers[i].getAttribute("label");
    // create the marker
                var marker = createMarker(point,label,html);
                map.addOverlay(marker);
    
               }
    // put the assembled side_bar_html contents into the side_bar div
              document.getElementById("side_bar").innerHTML = side_bar_html;
     
    // ========= Now process the polylines =====================
              var lines = xmlDoc.documentElement.getElementsByTagName("line");
    // read each line
              for (var a = 0; a < lines.length; a++) {
    // get any line attributes
                var colour = lines[a].getAttribute("colour");
                var width  = parseFloat(lines[a].getAttribute("width"));
    // read each point on that line
                var points = lines[a].getElementsByTagName("point");
                var pts = [];
                for (var i = 0; i < points.length; i++) {
                   pts[i] = new GLatLng(parseFloat(points[i].getAttribute("lat")),
                                       parseFloat(points[i].getAttribute("lng")));
                }
                map.addOverlay(new GPolyline(pts,colour,width));
              }
    // ===========================================================           
            }
          }
          request.send(null);
        }
    
        else {
          alert("Sorry, the Google Maps API is not compatible with this browser");
        }
    // This Javascript is based on code provided by the
    // Blackpool Community Church Javascript Team
    // http://www.commchurch.freeserve.co.uk/   
    // http://www.econym.demon.co.uk/googlemaps/
    
        //]]>
        </script>
    
       </body>
    </html>

    このコードでの学習した点は、114行目あたりの各都市間を訪問順に結んでいるブルーのライン(Google Maps API では、polyline という)を描くための Javascript 挿入することである。この polyline を描くのは、IE8 では次の処理をしなくてもいいらしいが、IE7 以下では、HTML 上部(head 部より前)に、
    <html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
    という記述が(斜め書き部分)必要であり、head 部分に次のスタイルを設定する必要がある。
    <style type="text/css">
        v\:* {   behavior:url(#default#VML);   }
        </style>

    呼び込んでくる XML ファイル
    <?xml version="1.0" encoding="Shift_JIS"?>
    <markers>
    <marker lat="49.40187" lng="8.680401" html="Heidelberg &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_heidelberg.htm' target='_blank'&gt;ハイデルベルク詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ハイデルベルク" ></marker>
    <marker lat="49.379691" lng="10.180206" html="Rothenburg &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_rothenburg.htm' target='_blank'&gt;ローテンブルク詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ローテンブルク" ></marker>
    <marker lat="47.680125" lng="10.900841" html="Wieskirche &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/091124_001.jpg'  target='_blank'&gt;Photo:ヴィース教会&lt;/a&gt;&lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/091124_002.jpg'  target='_blank'&gt;Photo:ヴィース教会の内部&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ヴィース教会" ></marker>
    <marker lat="47.546872" lng="10.739136" html="Hohenschwangau &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Hohenschwangau.htm' target='_blank'&gt;ホーエンシュヴァンガウ詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ホーエンシュヴァンガウ" ></marker>
    <marker lat="49.014906" lng="12.104187" html="Regensburg &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Hohenschwangau.htm' target='_blank'&gt;レーゲンスブルク詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="レーゲンスブルク" ></marker>
    <marker lat="50.082701" lng="14.422302" html="Praha &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Praha.htm' target='_blank'&gt;プラハ詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="プラハ" ></marker>
    <marker lat="48.810481" lng="14.315529" html="Cesky Krumlov &lt;br&gt;詳細は、&lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/08_1653.php' target='_blank'&gt;中欧旅行 その8 チェスキー・クルムロフ&lt;/a&gt;で。&lt;br&gt;(2009/11/4)" label="チェスキー・クルムロフ" ></marker>
    <marker lat="48.143182" lng="17.112579" html="Bratislava &lt;br&gt;詳細は、&lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/11_0858.php' target='_blank'&gt;中欧旅行 その9 ブラスチラバ&lt;/a&gt;で。&lt;br&gt;(2009/11/5)" label="ブラスチラバ" ></marker>
    <marker lat="47.495864" lng="19.050293" html="Budapest &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Butapest.htm' target='_blank'&gt;ブダペスト詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/2)" label="ブダペスト" ></marker>
    <marker lat="48.20926" lng="16.372633" html="Viena &lt;br&gt;&lt;a href='http://n-shuhei.net/studio_yamako/?????????/maps_Viena.htm' target='_blank'&gt;ウィーン詳細地図&lt;/a&gt;&lt;br&gt;(2009/11/6)" label="ウィーン" ></marker>
    <line colour="#0000ff" width="4" html="You clicked the red polyline">
       <point lat="50.107368" lng="8.686066" /> <!--フランクフルト-->
       <point lat="49.40187" lng="8.680401" /><!--ハイデルベルク-->
       <point lat="49.379691" lng="10.180206" /><!--ローテンブルク-->
       <point lat="47.680125" lng="10.900841" /><!--ヴィース教会-->
       <point lat="47.546872" lng="10.739136" /><!--ホーエンシュヴァンガウ-->
       <point lat="49.014906" lng="12.104187" /><!--レーゲンスブルク-->
       <point lat="50.082701" lng="14.422302" /><!--プラハ-->
       <point lat="48.810481" lng="14.315529" /><!--チェスキー・クルムロフ-->
       <point lat="50.082701" lng="14.422302" /><!--プラハ-->
       <point lat="48.143182" lng="17.112579" /><!--ブラスチラバ-->
       <point lat="47.495864" lng="19.050293" /><!--ブダペスト-->
       <point lat="48.20926" lng="16.372633" /><!--ウィーン-->
       <point lat="48.112933" lng="16.55777" /><!--ウィーン空港-->
    </line>
    </markers>


    市街地図(例として、プラハ市街図)のHTML(include Google Maps API JavaScript)は、つぎのようなコードである。ここでは、XML ファイルは使っていない。(学習不足で使うことができなかった。)
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <link rel="stylesheet" href="http://n-shuhei.net/litebox/???/lightbox.css" type="text/css" media="screen"/>
    <script type="text/javascript" src="http://n-shuhei.net/litebox/???//prototype.lite.js"></script>
    <script type="text/javascript" src="http://n-shuhei.net/litebox/???/moo.fx.js"></script>
    <script type="text/javascript" src="http://n-shuhei.net/litebox/???/litebox-1.0.js" charset="utf-8"></script>
    <title>Google Maps JavaScript API map_13</title>
    <script src="http://maps.google.co.jp/maps?file=api&amp;v=2&amp;key=ABQIAAAA_--TOJLbO9UBLVgjJC7W8hRCNFlWI0Fg????????????
      mm9hSKsn5IFaeCnFgl????????????" charset="utf-8" type="text/javascript"></script> </head> <body onload="initLightbox()"> <div align="center"> <table width="auto" border="1" bgcolor="#FFFFCC"> <thead ><tr><td id="th1" colspan="2" align="middle" ><big><strong>プラハ<strong></big></td></tr></thead> <tbody align="left"> <tr><td> <div id="map" style="width:730px; height:530px"></div> </td><td width ="210px" valign="top" style="text-decoration: color: #000000; font-size: small;">左の地図は、Google Mapsの機能を持っています。拡大・縮小・移動ができます。
    下のチェックボックスをチェックすると該当位置にマークが立ちます。また、青文字をクリックすると写真がでてきます。<br/><input type="checkbox" name="cb1" onClick="checkbox1clicked()">   1. プラハ城<br />   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_008.jpg" title="プラハ城からの眺め" rel="lightbox[os]">プラハ城からの眺め</a><br />
    <input type="checkbox" name="cb2" onclick="checkbox2clicked()"> 2. 聖ヴィート教会<br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091130_003.jpg" title="プラハ城 聖ヴィート教会" rel="lightbox[os]">聖ヴィート教会</a><br />
    ;   <a href="http://n-shuhei.net/studio_yamako/????????????/091130_004.jpg" title="ミュシャのステンドグラス(部分)" rel="lightbox[os]">ミュシャのステンドグラス</a><br />
       <a href="http://n-shuhei.net/studio_yamako/????????????/091130_005.jpg" title="聖ヴィート教会の祭壇" rel="lightbox[os]">聖ヴィート教会の祭壇</a><br />
       <a href="http://n-shuhei.net/studio_yamako/????????????/091130_006.jpg" title="聖ヴィート教会前景" rel="lightbox[os]">聖ヴィート教会前景</a><br/>
    <input type="checkbox" name="cb3" onclick="checkbox3clicked()"> 3. 聖イジー教会<br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091130_007.jpg" title=""聖イジー教会と修道院 rel="lightbox[os]">聖イジー教会と修道院</a><br />
    <input type="checkbox" name="cb4" onclick="checkbox4clicked()"> 4. カレル橋<br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091130_009.jpg" title="カレル橋 水害の跡" rel="lightbox[os]">カレル橋 水害の跡</a><br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091130_010.jpg" title="カレル橋" rel="lightbox[os]">カレル橋</a><br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091130_011.jpg" title="カレル橋の聖像" rel="lightbox[os]">カレル橋の聖像</a><br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091203_003.jpg" title="モルダウ川河畔" rel="lightbox[os]">モルダウ川河畔</a><br />
    <input type="checkbox" name="cb5" onclick="checkbox5clicked()"> 5. 旧市街入口<br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091203_004.jpg" title="旧市街入口" rel="lightbox[os]">旧市街入口</a><br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091203_005.jpg" title="プラハ城を望む" rel="lightbox[os]">プラハ城を望む</a><br />
    <input type="checkbox" name="cb6" onclick="checkbox6clicked()"> 6. 旧市街広場<br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091203_006.jpg" title="火薬塔" rel="lightbox[os]">火薬塔</a><br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091203_007.jpg" title="ティーン教会" rel="lightbox[os]">ティーン教会</a><br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091203_008.jpg" title="旧市庁舎の時計塔" rel="lightbox[os]">旧市庁舎の時計塔</a><br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091203_009.jpg" title="仕掛け時計" rel="lightbox[os]">仕掛け時計</a><br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091203_010.jpg" title="ヤン・フス像" rel="lightbox[os]">ヤン・フス像</a><br />
    <input type="checkbox" name="cb7" onclick="checkbox7clicked()"> 7. レギー橋<br/>
       <a href="http://n-shuhei.net/studio_yamako/????????????/091203_002.jpg" title="プラハ城を眺める" rel="lightbox[os]">プラハ城を眺める</a><br />
    <br />参照記事:<a href="http://n-shuhei.net/studio_yamako/????????????/01_1623.php" target="_blank">中欧旅行 その6 プラハ(1)</a></td></tr></tbody></table></div> <!-- 番号入りマーカーを表示する。-->     <script type="text/javascript">     //<![CDATA[     var map;     var marker1, marker2, marker3, marker4, marker5, marker6, marker7;     map = new GMap2(document.getElementById("map"));     map.addControl(new GLargeMapControl());     map.addControl(new GMapTypeControl());     map.addControl(new GScaleControl());     map.setCenter(new GLatLng(50.086473,14.410651),14);     map.setMapType(G_HYBRID_MAP);     var markerIcon1 = new GIcon();     markerIcon1.image = "http://n-shuhei.net/????????????/Markers/marker1.png";  //   markerIcon1.shadow = "./img/shadow.png";     markerIcon1.iconSize = new GSize(35, 40);  //   markerIcon1.shadowSize = new GSize(70, 56);     markerIcon1.iconAnchor = new GPoint(18, 40);     var markerIcon2 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker2.png");     var markerIcon3 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker3.png");     var markerIcon4 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker4.png");     var markerIcon5 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker5.png");    var markerIcon6 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker6.png");    var markerIcon7 = new GIcon(markerIcon1, "http://n-shuhei.net/????????????/Markers/marker7.png");     var opt1 = {icon:markerIcon1};     var opt2 = {icon:markerIcon2};     var opt3 = {icon:markerIcon3};     var opt4 = {icon:markerIcon4};     var opt5 = {icon:markerIcon5};     var opt6 = {icon:markerIcon6};     var opt7 = {icon:markerIcon7};     marker1 = new GMarker(new GLatLng(50.088814,14.395523), opt1);     marker2 = new GMarker(new GLatLng(50.090755,14.400759), opt2);     marker3 = new GMarker(new GLatLng(50.091023,14.402025), opt3);     marker4 = new GMarker(new GLatLng(50.086473,14.410651), opt4);     marker5 = new GMarker(new GLatLng(50.086129,14.413869), opt5);     marker6 = new GMarker(new GLatLng(50.087382,14.4208), opt6);     marker7 = new GMarker(new GLatLng(50.081186,14.410672), opt7);     var marker1_is_displayed = 0;     var marker2_is_displayed = 0;   var marker3_is_displayed = 0;   var marker4_is_displayed = 0;    var marker5_is_displayed = 0;    var marker6_is_displayed = 0;    var marker7_is_displayed = 0;     function checkbox1clicked() {       if (marker1_is_displayed == 0) {         map.addOverlay(marker1);         marker1_is_displayed = 1;       } else {         map.removeOverlay(marker1);         marker1_is_displayed = 0;       }     }     function checkbox2clicked() {       if (marker2_is_displayed == 0) {         map.addOverlay(marker2);         marker2_is_displayed = 1;       } else {         map.removeOverlay(marker2);         marker2_is_displayed = 0;       }     } function checkbox3clicked() {       if (marker3_is_displayed == 0) {         map.addOverlay(marker3);         marker3_is_displayed = 1;       } else {         map.removeOverlay(marker3);         marker3_is_displayed = 0;       }     } function checkbox4clicked() {       if (marker4_is_displayed == 0) {         map.addOverlay(marker4);         marker4_is_displayed = 1;       } else {         map.removeOverlay(marker4);         marker4_is_displayed = 0;       }     }     function checkbox5clicked() {       if (marker5_is_displayed == 0) {         map.addOverlay(marker5);         marker5_is_displayed = 1;       } else {         map.removeOverlay(marker5);         marker5_is_displayed = 0;       }     }     function checkbox6clicked() {       if (marker6_is_displayed == 0) {         map.addOverlay(marker6);         marker6_is_displayed = 1;       } else {         map.removeOverlay(marker6);         marker6_is_displayed = 0;       }     }     function checkbox7clicked() {       if (marker7_is_displayed == 0) {         map.addOverlay(marker7);         marker7_is_displayed = 1;       } else {         map.removeOverlay(marker7);         marker7_is_displayed = 0;       }     }    //]]>     </script> </body> </html>
     この市街地図での学習点は、最初の表示を航空写真と地図の合成(HYBRID)にすることと、番号入りのマークを表示することである。
     番号入りのマークを表示する方法については、以前のエントリーで記録している。
    これだけのことをするために、基礎知識の少ない老人には、ずいぶん学習しなければならないことが多かった。痴呆予防には有効かもしれない。

     
    Google Maps API徹底活用ガイド
    稲葉 一浩
    毎日コミュニケーションズ
    売り上げランキング: 105350
    おすすめ度の平均: 3.5
    4 さらっと流しつつテンコ盛りの内容
    3 前半は簡単。後半は難解。
    4 Google Maps をゴリゴリいじってみたい人に


    2010年1月21日

    年金生活者の e-Tax 確定申告体験:3年目(平成21年分)

     年が越えて、そろそろ確定申告の時節になってきた。昨年、リタイアした友人が、今年から e-Tax で申告するという。資料整理などで早くから準備されていたようで、還付申告をすでにしたという。(1月9日)

     ようやく、企業年金(1月13日)や日本年金機構から厚生年金の源泉徴収票が届いた(1月19日)ので、国税庁の「平成21年分確定申告特集」のページを開いた。昨年気づかなかった項目もあるので、ネットで調べたことを備忘録的に記録しておきたい。

     結論的に言えば、昨年に比べれば、 e-Tax ソフトなしでできるように改善されており、やりやすくなっている。e-Tax での申告の流れは、今年は次のような案内が作成コーナーにある。初めてe-Tax 申告した一昨年に、[3]の項目は済んでいるので、このステップは自動的にジャンプする。

     申告書作成には、やはり「平成21年分 確定申告書等作成コーナー」から始めるのがいいようだ。

    eTax_21_18.JPG
     この確定申告書等作成コーナーで、「申告書の作成の開始」→ e-Tax を選ぶと 税務署への提出方法の選択 画面となるので、 e-Tax を選択する。すると、今年から「電子申告を行う際の確認事項(準備編)」というページが出る。ここでの重要点は、チェック項目2番目の 電子証明書を取得している。※有効期限は取得後3年 である。
    1. 公的個人認証サービスで電子証明書の期限を確認する
       「電子証明書の有効期限は取得後3年」とは知らなかった。 e-Tax ではインターネットで書類を送信するためには、
      1. そのデータの作成者が誰であるのか
      2. 送信されたデータが改ざんされていないこと
      を照明するために、私の場合、一昨年に大阪府の公的個人認証サービスで電子証明書を取得している。住民基本台帳カード(ICカード)を取得したときと同時期である。ICカードの有効期限はカードを見れば分かるが、10年である。
       ただ、電子証明書は形になったものはなく、ICカードに記録されている。有効期限は、利用者クライアントソフトで確認できるとある。
       この利用者クライアントソフトとは、公的個人認証サービス(英字略称:JPKI)利用者ソフトのことであり、一度でも e-Tax を試みた方は、パソコン上の「すべてのプログラム」を開ければ、「公的個人認証サービス」の項が見つかるので、そこにある「JPKI利用者ソフト」がそれである。
       最新のバージョンは、Ver 2.3 となっており、公的個人認証サービスポータルサイトからダウンロードできる。
       ICカードをカードリーダーに挿入してUSB接続し、「JPKI利用者ソフト」を起動すると、次のポップアップ画面が出てくる。 JPKI_1.JPG  この画面で、 ICカードに格納されている電子証明書を確認するために、「自分の証明書」というボタンをクリックすると、パスワードが要求されるので、メモしていた住民基本台帳カード(ICカード)と同時に作った電子証明書用のパスワード(多分、どちらも同じにしていると思う)を入力すると、下のように画面が現れて、電子証明書を作った年月日と有効期間を確認できる。私の場合、来年の申告時には、更新が必要なようだ。電子証明書の更新は、e-Taxソフトから行えるようだ。JPKI_2.JPG
    2. JPKI利用者ソフトをJava実行環境へ登録する
       私もそうだったのだが、JPKI利用者ソフトで「自分の証明書」というボタンをクリックすると "Javaの実行環境の取得に失敗したためJPKI利用者ソフトを起動できません" というメッセージが出て、それ以上進めなくなることがある。
       この場合、Java実行環境(Java Runtime Environment:JRE) を再度インストールした方がよいと思われる。JRE は、サン・マイクロシステムズ株式会社の公式サイトから、ダウンロードできる。最新のバージョンは、Version 6 Update 17 である。私の環境(WindowsXP SP2) で JPKI ver2.3 は、この最新バージョンで動作している。
    3. 電子申告作成コーナーでの入力
      準備が整うと以下の画面となるので、私の場合、?の「電子証明書の登録が済んでいる方」をクリックすると住所などの入力画面となる。郵便番号を入れると、所轄の税務署が表示されるようになっている。
      eTax_21_0.JPG
      次のページで「所得税の確定申告」を選ぶと、下のように、今年から「年金所得の方」という選択肢があるので、これをクリックする。
      eTax_21_02.JPG
      次のページで、提出方法の選択ボタンがあるので、「電子申告により税務署に提出する」を選択する。また、その下に生年月日欄に入力し次のページにいくとようやく 所得・所得控除等入力 画面となる。この画面とか入力方法は昨年度同じである。
       年金生活者の場合、所得は公的年金等の項目であり、「所得から差し引かれる金額」は多大の金額を納めている国民健康保険などの社会保険料控除や生命保険料控除・医療費控除などである。私の場合、メタボ治療や歯医者にかかった費用は軽く10万円は超えている。
       それに分離課税で申告しているホームトレードで得た少しばかりの株式の譲渡所得等も入力する必要がある。
       入力終了ボタンをクリックすると、私の場合、還付金の金額がポップアップ画面に表示された。
       所得・所得控除等の入力を終えると、次のような送信する申告の確認画面が出てくる。
      eTax_21_2.JPG
    4. 税務署に e-Tax 送信する
       念のために、印刷をして申告内容を確認し、次のページをクリックすると、送信準備の画面が現れ、利用者識別番号の入力などが求められる。また、ICカードの接続などが求められ、これらを処理して「送信」ボタンをクリックする。
       昨年は、この後が上手くいかず、仕方なく e-Tax ソフトに切り替えたが、今年はすんなりと受信した旨の応答があり、下のような受信通知が返ってきた。
      eTax_21_8.JPG
      更に、次ページへのクリックなどをしていくと、下のような「平成21年分の申告書等送信票」が確認できる。右下の提出区分では、作った申告書及び証憑は「電子」又は「提出省略」のところにチェックが入っている。また、その票の下の方には、「この送信票のみを税務署に提出する必要はありません。」とある。確か、昨年は送信票を郵送しなければならないと理解したのだが。これで、一切が電子的な送信で申告が済んでしまう。
      eTax_21_9.JPG

    5. 受信通知の内容を確認する。
       電子申告のトップページにいくと、「申告内容の確認コーナー( e-Tax )」という欄があり、ここにある「メッセージボックスの確認」をクリックすると、利用者識別番号などの入力を求められるが、「メッセージボックスの一覧表示」から審査結果が表示され、メールボタンをクリックすると下のようなメール詳細で、還付税金が確認できる。
       昨年の実績では、2月10日に指定口座に振り込まれていた。返ってくるものはありがたいが、6月にくる市民税の通知が恐ろしい。
      eTax_21_17.JPG



    (追記:2010/2/13)2月12日日付て、下のような「国税還付金振込通知書」が届けられた。指定した銀行口座を確認すると同日付で、還付金が振り込まれていた。
    なお、このようなときにはメールで知らせてくれるが、「メッセージボックスの確認」をしたが、メールは届いていなかった。 kanpusho.png 

    2009年10月 7日

    隠居のJazz:Live365 の Link Widget をブログに組み込む

     アメリカのWeb Radio サイト Live365 に、2007年2月から年金の小遣いを捻出して有料でインターネット・ラジオ放送局を開いている。このブログで何度も紹介しているRadio Senboku である。古いLP や CD 、eMusic からのダウンロードなど、いろいろな方法で収集した Jazz を10時間・100曲ぐらいの Playlist に編集して流している。更新は1ヶ月半に1回くらいの割合である。自分自身がパソコンなどの作業をするときの BGM が目的であるが、世界の20カ国ぐらいのJazz 好きが聴いてくれているようだ。

     先日、Live365 のホームページを見ていたら、ウェブページに貼り付けられる Link Widget が提供されていることが分かった。ブログのヘッダーにも、リンクボタンを置いているが、早速右メニューにRadio Senboku へアクセスするリンク・バナーを置いてみた。

     ここに表示されるプレイボタンをクリックすると、Live365 にユーザーとして登録(無料)していない人は登録を求められるが、既に登録している人は、 Radio Senboku につながり Jazz を聴くことができる。有料(月¥500ほど)であるが、VIP 登録するとコマーシャルなしで10,000 以上あるどの局でも連続的に聴くことができる。
     このリンク・バナーは、下のように現在流れている曲を収納しているCDジャケットが表示され、Artist と Track 名が出てくる。演奏を中止するには、バナーの上にカーソルを持っていくと現れるストップ・マークをクリックすればよい。
     その下に [Radio Senboku Playlist]ボタンを置いた。クリックすると、現在放送している曲の Excel リストが表示される。先日、「和泉の国ジャズストリート」で聴いたテナーサックス奏者 高橋知道さんの [Luis] というオリジナル曲(演奏も)も入れてみた。 Jazz が嫌いでなければ一度クリックしてみてください。ヘッダーのリンクボタンよりアクセスするより簡単です。

       

    2009年5月21日

    隠居の音楽:(続)MP3 ファイルの ID3 タグを編集する

     前回の「隠居の音楽:mp3 ファイルのID3 タグを編集する」で書いたように、現在、昔にダウンロードした ID3 タグなしの MP3 ファイルに、 Roxio Easy Media Creator 10 Suite を利用して ID3 タグを附加している。
     実は、この作業の結果が音楽ファイルのデータベースである Windows Media Player(WMP) に反映されるタイミングがよく分かっていなかった。それを探るために、WMP ライブラリーをいろいろと操作していて気がついた点を記録しておきたい。

    • WMP のデータベース・ファイルの存在をあまり意識していなかった。 WMP のデータベース・ファイルは、 WindowsXP なら C:¥Documents and Settings¥username¥Local Settings¥Application Data¥Microsoft¥Media Player に、WindowsVista ならC:¥ユーザー¥username¥AppData¥Local¥Microsoft¥Media Player にあり拡張子が .wmdb のファイルがそれである。
      フォルダーが表示されない場合は、「マイコンピュータ」→「ツール」→「フォルダーオプション」→「表示」で「すべてのファイルとフォルダーを表示する」をチェックするなどの設定をしておく必要がある。
    • ..\Media Player のフォルダー:クリックすると大きくなります
    • 上のフォルダーをたどって、WMP のデーターベースを覗くと過去に分からないまま WMP Library データーベースをいじった残骸が残っている。
      マイクロソフトの「コンピュータのライブラリを "再構築" するには、どうすればよいですか?」を参照して、WMP Library データーベースの再構築を行った。
      メインと思われる CurrentDatabase_360.wmdb のバックアップをとってから、その他のファイルも含めて削除した。
      用心のため、上記のインストラクトに指示はないが、wmpfolders.wmdb も wmpfolders.bak としてバックアップをとった。
      その上で、WMP を開いて F3 キーで開くポップアップ画面から指定したフォルダーに存在するファイルの追加を実行すると、新たに CurrentDatabase_360.wmdb が作成された。
      と同時にスクリーンショットにあるように、wmpfolders.wmdb や LocalMLS_0.wmdb などのファイルが作成されたが、これらのファイルがどのような機能を持っているのか、よく理解できなかった。
    • ライブラリー追加結果画面:クリックすると大きくなりますライブラリー追加画面:クリックすると大きくなります
    • このように、WMP を再構築すれば、 Roxio Easy Media Creator 10 Suite を利用して附加したID3 タグは最新に更新されるが、 ID3 タグを附加するごとに再構築は面倒である。
       それで、いろいろと方法を探ってみたが、これといった方法がヒットしなかった。
      ネットサーチで示唆されているWMP の「ライブラリー」のセレクト画面にある「メディア情報への変更の適用」では、プログラムが動いてはいるがいつまで経っても終わらない。
      いろいろと試してみると、経験的に新しいファイルの追加ではないが、ライブラリーに追加(F3)を実行すると結果画面は「追加されたファイル数」は0となるが、附加した ID3 タグが WMP ライブラリーに反映されることが判明した。

     これで、 ID3 タグをWMP に付加する手順が分かったので、あとは時間を使って音楽ファイルの情報を充実したい。音楽データベースを豊かにすることで、いろいろな利用が簡単になるのを楽しみにしている。

    2008年12月11日

    隠居のJazz download: Jam Session

     私の Jazz 収集は 主にインディーズ・レーベル(Independent music)を MP3 ファイルで提供するeMusic からダウンロードして行っている。eMuisc との毎月の契約は月$19.99で75曲がダウンロードできる内容である。
     Jazz の Artist はへそ曲がりが多いのか、結構有名な演奏がインディーズ・レーベルに収録されている。Jazz の持つ Improvisation (即興)が適しているのかもしれない。

     eMusic での今までの収集は、ある曲名で検索してヒットする Jazz のアルバムからダウンロードしてきた。
     eMusic では、Artist, Album, Track(曲名), Label で検索できる。 11月は 今までとは少し違う方法で検索をしてみた。兄貴の形見の LPレコードを整理していて Jam Session のレコードが多いのに気づいた。聴いてみるとなかなかいい。Jazz の Improvisation を最も表現していると思われる。 "Jam Session " と名前の付いている Album を検索してヒットした 14 の Album をダウンロードした。
     ダウンロードは11月にしていたが、これも含めて Radio Senboku の Playlist 用に選曲するのに時間がかかった。

     Jam Session は何人かの Artist が集まってひとつのテーマで交互に演奏(アドリブ)しているので1曲が比較的長時間である。
     私が開局している、 Jazz をずっと流している Radio Senboku の Playlist を9月末から変更していなかったので、この14 の Album から 1 曲ずつ引き出して(Live365 のルールでは同じ Artist の曲をつづけては流せない) 追加するとともに、前から曲名毎に収集しているなかから、できるだけ jam session 的な演奏のものを選んでみた。
     P100 Broadcasting Package という契約の Live365 の許容容量は200MB であるので、Live365 の 64kbps/44kHz/stereo mp3PRO ファイル形式では約7時間弱70曲ぐらいがつづけて流れている勘定であるが、今回リストしなおした Playlist の半分くらいしか収載できていない。
     放送している曲の順序は、現在放送している曲のリストの通りである。いちど、チャネルを合わせてみてください。 

     

    2008年8月10日

    8月の Jazz Download: Giant Steps by John Coltrane

     早い梅雨明けから酷暑が続いている。都市部では、ヒートアイランド現象からか時に豪雨があるようだが、住宅街では雷がなるだけで雨が少しもふらない。

     戸外には、孫の蝉とりに付き合うだけで、ほとんどは部屋にクーラーをつけて閉じこもっている。蝉とりといえば、今年はくまぜみが大発生である。虫かごにすぐに一杯になる。孫は Catch and Release を楽しんでいる。

     屋内での楽しみは、ネットで Jazz を楽しむことである。月が替わって、eMusic からのダウンロードができるようになった。
     例によって、内藤遊人さんの「はじめてのジャズ」の「聴いておきたい名盤50」を参考に、ダウンロードする曲を物色した。

     今月は、サックス奏者の John Coltrane が残している名盤にある曲名、"Giant Steps" と "Blue Train" を eMusic からダウンロードすることにした。この本に紹介されているレコード(CD)アルバムはレーベルの関係か残念ながらヒットしなかった。
      John Coltrane はその後のサックス奏者に多大な影響を与えているようだ。Amazon で探してみると海外盤が安く手に入るようなので、注文した。推奨されている "Ballads" "Giant Steps" "My Favorite Things" "Blue Train " の4枚である。

     オーディオで聴いてみた。今まで何曲かは聴いているが、このようにまとめて聴いて見ると、さすが評判どおり心地よく耳に飛び込んでくる。
     これらのCD からMP3 ファイルにリッピングは、最近では Window Media Player 10 で簡単にできるようになっている。 設定すべき項目は、ツール・タグの「取り込み」を右クリックして、「ツール」⇒「オプション」⇒「音楽の取り込み」で保存するフォルダーを設定し、形式を mp3 にして、取り込み開始ボタンをクリックすればよい。

     このようにして取り込んだ mp3 ファイルも取り入れて、Radio Senboku の Playlist を全面改定した。
     JazzCollectionList に掲載している曲順はそのままだが、今回はできるだけサックスを中心とした管楽器 Artists のトラックを盛り込むようにした。 ただ、Live365 に UP できる容量は 200MB に制限されているので、JazzCollectionList の半分程度のトラックしか収容できない。残りは、次回の改訂時に UP する予定である。詳細は、現在放送中の Playlist で確認できる。

     このような作業は結構時間を費消するが、自分用の Jazz 放送局を作っていると思えばあまり苦にもならない。

    Ballads
    Ballads
    posted with amazlet at 08.08.09
    John Coltrane Elvin Jones Jimmy Garrison Reggie Workman McCoy Tyner
    Impulse (1995-06-27)
    売り上げランキング: 5496
    おすすめ度の平均: 5.0
    5 トレーンが全身全霊を込めて作ったバラッド
    5 お疲れさん、ジョン様...。
    5 ホントいい。
    5 ジャズ『バラード』の王道です。激しく吹きまくるコルトレーンのイメージに合わない、という評もありますが、何回聞いても飽きがこないだけでなく、どんどん良さが深まっていきます。
    5 音を愛で口ずさめるコルトレーン

    Giant Steps
    Giant Steps
    posted with amazlet at 08.08.09
    John Coltrane
    WEA Japan (1998-02-27)
    売り上げランキング: 66318
    おすすめ度の平均: 4.5
    1 貴方の耳でお確かめ下さい
    5 私のコルトレーン原点
    5 全人類要必聴!
    5 ロリンズと肩を並べた日
    5 シーツ・オブ・サウンドの完成

    My Favorite Things
    My Favorite Things
    posted with amazlet at 08.08.09
    John Coltrane
    Wesgram (1994-06-16)
    売り上げランキング: 2195
    おすすめ度の平均: 5.0
    3 アトランティック時代唯一の汚点?
    5 コルトレーンで1曲選ぶなら
    5 そうだ、コルトレーン、聴こう。
    4 コルトレーンらしさ
    5 ソプラノサックスが歌う快進撃への序曲

    Blue Train
    Blue Train
    posted with amazlet at 08.08.09
    John Coltrane
    Toshiba EMI (2003-08-05)
    売り上げランキング: 28607
    おすすめ度の平均: 5.0
    5 アルフレッド・ライオンの意地の一枚
    5 爽快
    5 コルトレーン飛躍の記念碑
    5 唯一のブルーノート


     

    2008年7月14日

    7月のJazz Download:Imagination, Star Eyes

     先月は、MovableType のバージョンアップにすっかりふりまわされて、そちらに気をとられ eMusic からの毎月ダウンロードできる契約に期限を忘れてしまっていた。1ヶ月くらい経つのは速いものだ。

     今月は、ポストイットにメモを書いて、長い間パソコンのボディに貼っていた曲名から選んでダウンロードした。なぜ、これら曲名をメモしていたのかははっきりしない。おそらく、"Tin Tin Deo" が入っている Art Pepper のアルバムからメモしたものと思われる。今月ダウンロードした "Straight Life", "Imagination", "Star Eyes" の3曲とも "Diablo's Dance" というアルバムに含まれている。

    クリックすると大きくなります。 この3曲も含めて、Radio Senboku のプレイリストを全面的に置き換えた。
     流している曲も、MT のバージョンアップにかまけて改定なしに2ヶ月近く放置していたが、チャネルを合わせてくれているファンもあるようだ。
     左のスクリーンショットにもあるように、この1ヶ月もアメリカのファンが多い。ポーランドにも Jazz 好きは多いようだ。Jazz は文句なしにインターナショナルである。
     現在放送している曲名と Artist の Playlist を用意した。

     MT のバージョンアップに合わせて、Jazz Collection List も今まで使っていたページのソースを全面的に見直した。今までのソースは、Excelで作った表をWebページとして保存したときのHTMLソースであり、私の知識では理解しがたいコードも入っていたので、自分で理解できるコードに置き換えた。単純な作業であるが、2000行以上もあるコードはいじるのに結構な時間を使った。
     訂正したものはこのブログのウェブページとして置き、/public_html/ の .htaccess に従来のリンクからリダイレクトするように設定した。  

    2008年5月20日

    5月のJazz Download:RadioSenbokuの playlist 全面改定

     Rodgers and Hart の作詞・作曲で有名な"Spring Is Here""Falling In Love With Love"の一部を先月、Downloadした。

     今月は、その残りと Loveからの水平思考で、Cole Porter の曲 "Love For Sale"を Download した。

     今月は、この2曲も追加して、"RadioSenboku"で流している曲を全面的に入れ替えた。今まで貯めてきた曲名別のコレクションのフォルダーの中でこれは思う Artist のファイルをクリックすると自動的に WindowsMediaPlayer が立ち上がって再生するので、その音を聴いて 1曲ずつ選び、Playlist を作成した。フォルダーが138もあるので、 実は、これの方が大変な作業であった。一ファイルを終わりまで聴くわけではないが、物理的に時間がかかった。こうして作った Playlist は 680MB にもなる。iPod や車に搭載している MP3Player に落として楽しんでいる。

     Web Radio サイトの Live365 に開局している "RadioSenboku"には、これらの mp3 ファイルを、64kmp3PRO という異なった圧縮形式でアップロードする(専用ソフトがある)。私が契約している 200MB の容量では、この Playlist の半分くらいしかアップできないので、月に一回くらいの割合で、順繰りに入れ替えてきた。7時間くらい次々と曲が変わるが、ほぼ毎日パソコンをしながら BGM として聴くとさすがに同じ音が鼻についてきたので、今月は思い切って全面的に入れ換えたのである。

     この"RadioSenboku"は自分用のものと割り切っているのだが、左のスクリーンショットのように、US と日本の方が圧倒的だが、世界中の色々な国の方が聴いておられる。Jazz にも国境はないようだ。ただ、共産圏や軍事政権下の国からの訪問者はいないようだ。
     なお、今"RadioSenboku"で流している PlayList は ココ です。






    2008年3月12日

    Photo Thumbnail :野鳥の写真集

     今まで、撮り貯めた野鳥のサムネイルを MT用フォトサムネイラーを利用して作ってみた。
     自宅の庭、近所の公園、山小屋などで、鳥の姿を見かけるとできるだけ写真を撮るように心がけてきたが、野鳥を撮るために超望遠・三脚など本格的な体制ではないので、良い写真はあまりない。MP3 レコーダー EDIROL R-1 で録音した野鳥の鳴き声もこれらのエントリーに収録されている。

     野鳥の写真サムネイルを新しく設定いたしました。
     http://n-shuhei.net/atelier/web/birds.php へお越しください。


       

    2008年3月11日

    MT用フォトサムネイラーのインストール

     このブログに 2005年3月から掲載してきた種々雑多な写真も結構な量になってきた。これらの写真をカテゴリー別にアルバムにしたいと、ブログのタイトルなどで使っている Sothink SWF Quicker という Flash 作成ソフトのテンプレート利用も考えてきたが、日本語対応ができないなど意図したとおりにできないので諦めていた。

     写真のアルバムは、DIY作品集で実現しているが、新しいエントリーをあげるたびに修正しなければならないなど結構面倒な作業である。サムネイルに載せる写真を選択できるのは、いい点であるが。

     Flash カレンダーや Flash 天気予報を利用させていただいている Kinarie&May さん にMT用フォトサムネイラーというエントリーの中の画像ファイルをサムネイルで表示する Flash プラグインがある。前から気になっていたが、トライする機会がないままになっていた。今回、試してみると思い通りのインストールができたので、注意点などを記録として残しておきたい。

     次のサムネイルは、私のブログでカテゴリーを Gardening として分類しているエントリーに掲載されている写真である。下の << Prev ボタンをクリックすると日付を遡って見ることができる。サムネイルをクリックすると該当するエントリーが表示される。サムネイルに戻る場合は、ブラウザーの戻るボタンを使う。

       


     インストールの手順は、Kinarie&May さんのMT用フォトサムネイラー1.20 に親切に書いてある。
     以下は、注意点。
    • サムネイルされる写真は、HTMLに、<"img","src" >で指定される .jpg 写真である。いずれも小文字でなければならない。Picasa2 でエクスポートした写真は、大文字の .JPG となりサムネイルされないので要注意である。
    • テンプレートの新規作成で作成した xml ファイルは、作成した blog のルートフォルダーに保存される。ダウンロードしたphoto_thumbnailer120.zip を解凍してできる photo_thumbnailer120.swf ファイルは、同じフォルダーに置けばよい。
    • カテゴリー別にサムネイルを作る場合は、 xml ファイルの中で、<MTEntries category="004Gardening" lastn="999"> のようにするが、category の名前は、ブログ管理画面のカテゴリー名と一致させる必要がある。なお、サブカテゴリーも指定できる。私の場合、ソートのためにつけていた頭3桁の数字を忘れていたので、当初上手くいかなかった。
    • いくつかのカテゴリーでサムネイル集を作成する場合は、出力名を変えた xml ファイルをいくつか作ればOKである。

     このプラグインを応用して、私のサイトで運営している友達のブログの写真集とかのようなカテゴリー別のサムネイル集を作成していきたいと考えている。
     Kinarie&May さん Thanks a lot !!

    (追記:2008/3/12) 私のサイトで運営している Studio YAMAKO はプロ級の腕前の YAMAKO が撮った趣味の蝶の写真が中心である。この蝶の写真のサムネイルを MT用フォトサムネイラー1.20 で作成してみました。右サイドメニューの Studio YAMAKO をクリックしてみてください。素晴らしい写真集がご覧になれます。

    (追記:2008/3/13)サムネイルされる写真の拡張子は小文字の jpg でなければならない。ブログに写真を掲載するには Picasa2 でデジカメ写真を整理しエクスポートするのが便利であるが、拡張子が大文字の JPG となる。そのため、MTで写真ファイルをアップする前に該当するフォルダーの写真ファイルを Renamin.exe で拡張子を小文字の jpg としなければならない。ただし、この逆手をとって、サムネイルに載せたい写真だけ、小文字の jpg とする手もあるが、サーバーとエントリーのファイル名を変えねばならない。 

    2008年3月 9日

    MP3GainによるMP3ファイルの音量一括調整

     eMusic などでダウンロードした MP3 ファイルの音量を一括して調整は、SoundEngine というソフトを使ってきた。ダウンロード MP3 曲の音量一括調整(2)でも書いたように、SoundEngineでは、いったん .wav ファイルに変換し、音量一括調整したうえで、再びMP3ファイルに変換しなければならない。

     最近になって、MP3Gain というアメリカ生まれのフリーソフトが、MP3 ファイルの音量一括調整の主流であることを Google Search で知った。このソフトは世界的に支持されているらしく、30近くの言語に翻訳されている。多分、ボランティアであろう。

     このソフトはエンコード・デコードをしないので、音質の劣化がないということである。早速、MP3Gain のサイトから、"This is what most people will want to download."という mp3gain-win-1_2_5.exe ダウンロードし、インストールした。

     インストール・ウィザードの中で、27言語の中から言語を選択する部分があるので、Japanese をチェックすると、MP3Gain(MP3GainGUI.exe) のツールバーに、Language が表示され、ここで Japanese をチェックすると日本語画面となる。このような言語選択方式ははじめてである。

    クリックすると大きな画面になります  使い方については、ネットをサーチするとたくさんヒットするのでそちらを参考にする手もあるが、左の screenshot のように、MP3Gain のヘルプの中の "How Do I ?"に親切に書いてあるので、それを参照するのがよい。この部分はまだ日本語に翻訳されていないが、画面もとりいれられてたり、平易な英語で書かれているので抵抗感はあまりない。
    (追記:2009/3/10)ヘルプの日本語化を REIKA さんという方がされたようだ。
     方法は、MP3Gain のホームページにある 5 Feb 2009のHelp file into Japaneseをクリックして zip ファイルを保存する。保存した mp3gain-japanese.zip を解凍すると出てくる MP3GainJapanese.chm ファイルを mp3gain-win-1_2_5.exe ファイルと同じフォルダーに置くだけでよい。


     ただ、注意点もあるので、まだ十分に使いきれていないが、自分自身のためへの備忘録として書き留めておきたい。
    • MP3Gain を使って音量一括調整をしたときの log はファイルとして残される。初めに、「オプション」→「ログ」を開くと分析ログ・ファイルが空白となっているので、MP3GainGUI.exe を置いたフォルダーのパスで、MP3GainAnalysis.log というような名前でファイルを作っておく。
    • 音量一括調整には、2つの方式がとれる。全てのファイルを同じ音量にするときには、トラック分析、トラックゲインを使う。アルバムCDなどをMP3録音したときのアルバム全体抑揚を残したまま音量を上げ下げしたいときは、アルバム分析、アルバムゲインをつかう。
    • 音量一括調整するファイルは、同じフォルダーで書き換えられるので、オリジナルを残しておきたい場合は、コピーをとっておいた方がよい。


     このエントリーを書いていて気になったことであるが、MP3Gain と SoundEngine とでは、音量の表現が異なることである。どちらも同じ dB という記号を使っているが、MP3Gain は 90dB という数字になり、同じくらいの音量が SoundEngine では -16dB というような数字で表現される。この違いをネットサーチしてみたが、数学音痴の私ではよく理解できるページにいきあたらなかった。どうやら dB はいろいろな値の表現に使われるらしい。MP3Gain の 90dB とは、dBspl(Sound Pressure Level) らしいと理解したのだが。

     この学習のおかげで、 SoundEngine のほうがマニア向けで、音を編集するための細かい機能を備えていることが分かった。私のような素人でも、音楽をつないだり、切ったり、フェードアウトさせるなどするときには、 SoundEngine を使う必要がある。ただ、ダウンロードしたMP3ファイルの音量一括調整に使うのには、MP3Gain のほうがずっと簡便である。 

    2008年2月 1日

    年金生活者の e-Tax 確定申告体験

     退職後、国民年金と企業年金およびわずかばかりの株式売買益を合わせた確定申告している。昨年までは、国税局がネットで提供している、下の所得税の確定申告書コーナーを利用して確定申告書を作成・印刷して、証憑をつけて管轄税務署に郵送していた。
    注:セキュリティ上の問題か、下のページには直接リンクが張れない。行き着くには、「e-Tax で確定申告」のページから、「e-Tax を利用しない場合又は作成を再開する場合はこちら」のバーをクリックし、「所得税の確定申告書」をクリックする。


     今年度は思い切って、ネットを通じて申告できる e-Tax に挑戦してみることにした。私のような確定申告を目指しておられる年金生活者も多いと思うので、体験を備忘録的に記してみたいと思う。個人の体験談なので、正確性について保証するものではありません。

     e-Tax での申告については、国税庁の「e-Tax で確定申告」のページが詳しいので、そちらを参照して欲しい。それぞれのページは懇切丁寧にインストラクトしてくれているので、指示通り数字を入れていけば e-Tax の登録ができ、申告書を作成し、送信できるが、沢山のページがありすぎて、歳をとって固くなった頭では混乱してくる。

     e-Tax をするためには、事前に準備が必要である。
    1. 市役所で住民基本台帳カード(ICカード)を取得する。
    2. 市役所で電子証明書を取得する。
      この1. 2. については同じ窓口で同時に発行してくれる。費用は両方合わせて、¥1000 だったと思う。
      参照ページ:http://www.e-tax.nta.go.jp/systemriyou/systemriyou3.html
    3. ICカードリーダーを購入する。大型の電気店でも置いていないので、ネットショップで求めた。¥3,000 ちょっとで手に入ると思う。e-Tax で申告すれば、5,000円の補助がある。
      (追記:2009/2/5)最近は、電気量販店にいけば沢山のICカードリーダーが積んである。昨年、量販店の店員に買いに来る人が増えると進言しておいたが、その通りになっているらしい。私は、次のカードリーダーを使っている。 Amazon では、すでに ¥2000 になっているようだ。
      日立 USB接続 公的個人認証用 接触型ICカードリーダー ライター HX-520UJ.K
      日立 (2008-12-19)
      売り上げランキング: 15
      おすすめ度の平均: 5.0
      5 e-Tax申請用に購入、問題なく使えます
      5 e-TAX申請用に購入しました
      5 e-tax対応で割安感有り

     これで準備は終わりであるが、もちろん入力に必要な数字は、年金の源泉徴収票を揃えたり、年間医療費合計額の計算などが必要である。医療費控除は、支払った医療費が年間10万以上の金額を課税所得から控除してくれる。逆にいえば、お元気で医療費をそんなに使っておられない方は、計算しても意味がない。

     上の「e-Tax で確定申告」のページでも案内があるように、 e-Tax をはじめるには、
    1. パソコンの環境を整備する。よほど古いネット環境でない限り、問題はないだろう。

    2. 上のページの「登録する」ボタンをクリックすると開始届出書を作成・送信する方法が案内されているので、それに従って、開始届出書を提出して、利用者認識番号を取得する。

    3. 開始届出書を作成・送信する前に、「財務省認証局」および「財務省運用支援認証局」のルート証明書をインストールする必要がある。インストールは、次のページに指示がある。
      http://www.e-tax.nta.go.jp/todokedesyo/kaishi_confirm.html

      上手くインストールできれば、以下のような手順で確認できる。(IE6、7とも)


    4. うまく開始届出書を作成・送信できれば、以下のような「利用者識別番号等の通知」が送られてくる。

    5. 次に、利用者情報の入力、電子証明書の登録、納税用確認番号の入力などを行って初期登録する。ただ、上のページで「初期登録」に進む前に、公的個人認証利用者クライアントソフト(JPKI利用者ソフト)の最新版をダウンロードしておく。

    6. 「初期登録」に進むと利用者情報の入力画面が出てきて、住民基本台帳カードをICカードリーダーで認識する。「JPKI利用者ソフト」が、古いバージョンだと、エラーコード:AF0020-322がでて上手くいかない。だけでなく、InternetExplorer が開けない状況になったりする。

    7. 次に、Step3 の「作成・送信しよう」→「確定申告書作成コーナー」→「所得税の確定申告書」に進むと一番上に示した「所得税の確定申告書作成コーナー」の画面になる。私の場合、わずかばかりの株式売買差益があったので、「分離課税の申告書」を選択した。

    8. 「分離課税の申告書」を選択(他の申告でも同じと思うが)すると次の画面になるので、「電子申告により税務署に提出する。」を選択する。

    9. 申告書の作成は、印刷・郵送していたときと同じである。今年からは、地震保険がついていない損害保険の所得額控除はないようだ。

    10. 作成したデータを e-Tax へ送信する方法については、「確定申告書作成コーナーから e-Tax へ直接送信する方法」の案内に従って行う。この作業の中で、作成した申告書を保存することができるページが出てくるので、PCの適切なフォルダーに保存しておく。拡張子が、.rtx というファイルができる。

    11. 申告データの送信は、e-Tax ソフトをダウンロードしてインストールすることでもできる。後々の処理を考慮すれば、e-Tax ソフトで処理する方がいいかもしれない。以降は、e-Tax ソフトを利用した例を記す。(e-Tax ソフトでも、電子証明書の登録、納税用確認番号を登録できる。)

    12. まず、e-Tax ソフトのメニューボタンから、「利用者選択」→「新規作成」を選択して先に通知された利用者識別番号を入力して利用者として登録する。

    13. 次にメニューボタンから「作成」→「申告・申請等」を選択して、画面右下の「組み込み」をクリックすると組み込む申告・申請等ファイルを指定するポップアップ画面となるので、10. で保存したファイルを指定する。

    14. 次にメニューボタンから「電子署名」のアイコンをクリックすると先ほど組み込んだファイル名が表示されるので、これを反転させて右下の「署名」ボタンをクリックし、ICカードリーダーに、住民基本台帳カードを差し込んで続けると電子署名が終わる。

    15. 次にメニューボタンの「送信」から送信アイコンをクリックすると先ほどのファイルが表示されるので、これを選んで右下の送信ボタンをクリックすると送信が始まるはずである。送信先は、e-Tax(受付システム)である。

    16. 無事にe-Tax(受付システム)に受信されたかどうかは、次のメニューボタンの「メッセージボックス」で確認できる。「メッセージボックス」のアイコンをクリックすると、今まで e-Tax(受付システム)で受信した受信した受信通知が示される。

      その中の手続名 「所得税申告」行を反転させ、右下の「詳細表示」ボタンをクリックすると下のような画面が表示される。


    17. e-Tax で申告する場合は、証憑の提出は求められていない。これが、e-Tax で申告する一番の理由であるが、申告書送信票は郵送しなければならない。「申告書送信票」は、上の画面の「送付書表示」ボタンをクリックすると印刷画面が現れるので、これを印刷して所轄税務署に郵送する。これで手続きは終わりのようである。

     e-Tax を試行錯誤してみて、このシステムは私のような素人でもできないことはないが、やはり税理士さんのようなプロ向けではないかという感じである。個人では年に1回しか使わないシステムであるから、折角やり方を習得しても来年までは記憶できないかもしれない。そう言う意味で、ブログに備忘録的に残しておくことは意味があるかもしれないが、来年はまた所得税制が変わって、新たな学習が必要になるだろう。まあ、幾ばくかの還付があるのが救いである。

    2008年1月12日

    ダウンロード MP3 曲の音量一括調整(2)

     システム・ディスクを交換するときに、ダウンロード曲の音量一括調整のソフトである SoundEngine を見失った。もういちど、Cycle of 5th のサイトからダウンロードすることにした。 SoundEngine はどんどん進化しており、私が使っていた Version 2.991 はもう既になく、 最新Version は 3.06b となっている。
     最新のものをダウンロードして、以前にエントリーした 「MP3 曲の音量一括調整」に書いたように、 SoundEngine Script を用いて一括調整を試みた。 上手くいかない。
     SoundEngine はもともと wav ファイルを扱うソフトなので、これを mp3 ファイルに適応するためには、 vbmp3.dll(読み込み)と gogo.dll (書き出し) という dll ファイルが必要である。これらのファイルも、 SoundEngine 3.06b と同じフォルダーにおいた。まず、このやり方が間違っていた。これらの dll ファイルのインストールは、「SoundEngine で MP3」のページに説明されている方法でやらねばならない。
     それ以外も 3.06b では機能が沢山増えている。ただ、これらの機能は、音を扱うソフトに詳しい人たちにとっては有用なのだろうが、音量調整と曲の切り貼りくらいにしか使っていない初心者にとっては、少し難解である。いろいろと試行錯誤を繰り返して得た結論は、音量一括調整はダウンロードした MP3 ファイルを一旦 wav ファイルへ変換し、 wav ファイルのまま音量一括調整を行って、それを MP3 ファイルに一括変換するのがよいようだ。読み込みファイルが wav ファイルで、書き出しファイルを wav ファイルとする場合には、下のようなスクリプトで上手くいく。
     このスクリプトで、MP3フォルダーから読み込み→音量一括調整→ MP3フォルダーへ書き出しを実行したところ、Audio Converter の黒いDOS画面と、スクリーンショットのような保存する MP3 ファイルの形式を問う画面が一曲ずつでる。これを回避する方法(スクリプト)が分からない。クリックするだけなので、これをいとわなければ、連続しての音量調整ができる。

    SoundEngine01.gif
    [Folder Open]

    [Auto Maximize]
    Parameter1=-17
    Selection=0,-0,-1
    Option=ShowOnce

    [Side Insert Silence]
    Parameter1=1
    Parameter2=0.5
    Selection=0,-0,-1
    Option=ShowOnce

    [Folder Save]

    [Message Box]
    Text=処理が終了しました。

     ただ、これではパソコンの前を離れて何か他のことをすることはできないし、MP3ファイル読み込み→MP3ファイル書き出しでは、ときどきファイルを読めないなどで上手くいかないことを経験している。
     MP3ファイルダウンロード→wavファイルに一括変換→一括音量調整→MP3ファイルに一括変換の方法をとるときには、別の方法もある。Cycle of 5th のダウンロードサイトには、SoundEngine の欄の右備考欄に、2.945 がある。(2008/1/12:現在) これは、SoundEngine Version 2.945 である。これをダウンロードして実行すると「ヘルプ」に Lumpy という項目があるので、これを使うと簡単に読み込みファイルが wav ファイルで、書き出しファイルを wav ファイルとする音量一括調整ができる。
     詳しくは、「SoundEngine で MP3」というページと同じサイトの「初心者のための PC de MUSIC」にあるWAVEファイルの音量レベル均一化を見ていただきたい。
     この Lumpy というソフトでは、MP3ファイルで書き出す設定もあり、一見上手くいくように見えるが、実際に変換後のファイルを再生してみるとテープを早送りしたような音になり、上手く再生できない。また、曲の前後に無音部分挿入を設定するようなことはできない。

    2007年11月13日

    eMusic Remote でのダウンロード

     2003年の8月から続いているeMusicからの Jazz ダウンロードを今月も実施した。eMuisc での曲あるいはアルバムのダウンロードには、eMuisc が提供している Down Load Manager というダウンロードを容易にしてくれるソフトを使ってきた。先月から、これとは別にeMuisc Remoteというβ版のソフトが提供されている。先月は、あまり良く理解しないままなんとか使った。今回のダウンロードで少しトラブルがあり、いろいろと試行錯誤してみた。 eMusic という音楽配信サイトさえあまりよく知られていないので、 eMuisc Remote というソフトの扱いについては、日本語ページではほとんどヒットしない。備忘録として、その操作法を書き留めておきたい。数少ない eMuisc ファンに少しでもお役に立てば幸いである。
    Down Load Manager は eMusic サイトからダウンロードして、インストールしておくと、曲やアルバムのダウンロード・ボタンをクリックしたときに自動的に起動して、あらかじめ指定しておいたフォルダーに、あらかじめ指定したID3 Tag利用ファイル名で保存してくれる。 このとき、 eMusic サイトへのアクセスはなんらかのブラウザーからURL指定する。 eMuisc Remote は、このような方法と異なって、Apple の iTunes とほぼ同じ操作になる。以下、私が利用している操作法を書き留めておく。

    1. あらかじめダウンロード、インストールしておいた eMuisc Remote アイコンをクリックすると Itunes と同様の画面が表れる。
      start_1.jpg
      Screenshot 1(クリックで大きな画面が出ます)
    2. 右上の Login ボタンからログインするとあと何曲ダウンロードできるかのようなことを示す私のアカウント情報画面が表れる。
      start_2.jpg
      Screenshot 2(クリックで大きな画面が出ます)
    3. この画面のサーチボックスで、例えば、 Track 名で "You'd Be So Nice To Come Home To"を search するとその track 名を含むアルバムの一覧が表示される。
      start_3.jpg
      Screenshot 3(クリックで大きな画面が出ます)
    4. この一覧からダウンロードしたいアルバムをクリックすると、該当アルバムの詳細画面が現れる。
      start_4.jpg
      Screenshot 4(クリックで大きな画面が出ます)
    5. 曲の横のダウンロード・ボタンをクリックするとダウンロードが始まる。ダウンロードが完了すると右下隅に下のような [Downloading Complete !] という小さなポップアップウインドーが2?3秒間でる。また、左メニューの上部 [Download Manager] の左アイコンの表示でも確認できる。
      start_7.jpg
    6. ダウンロードした曲は、 [Download Manager] の track view で確認できる。その画面上部にあらかじめ指定しておいたフォルダー名が出ているので、これをクリックすると保存されていることが確認できる。
      start_6.jpg
      Screenshot 5(クリックで大きな画面が出ます)

     私の場合、以前のエントリーでも記載しているように、気になった Track (曲)名で検索してヒットしたアルバムから収集しているのでややこしいが、Album 一枚をダウンロードするのはもっと簡単にできるはずである。このようにして収集した曲は、曲名毎のフォルダーに保存している。Jazz は、この同じフォルダーの曲をズーと流しても飽きないのがいいところである。

    2007年10月24日

    JazzCollection:10月のダウンロード

     10月に入って何やかやとバタバタしていて、eMusic から月毎のダウンロードする余裕がなかった。月を越えると Monthly の契約がパーになる。月末がちかづいてきたので、例の「はじめてのジャズ」の「聴いておきたい名盤50」を参考に、曲名を選ぶことにした。今月は「セロニアス・ヒムセルフ」で探してみるとちょうどその盤がヒットしたので、そのアルバムの中から、ダンス音楽調のスローな swing であるが "I'm Getting Sentimental Over You." でダウンロードすることにした。eMusicで検索してみると105アルバムヒットした。この曲は、Tommy Dorsey Orchestra のテーマソングであるので、Tommy Dorsey のアルバムが数多くヒットする。これらやクラシックなども外して、52ファイルをダウンロードした。
    今月から、eMusicの Download Manager ソフトが全面改定されており、少し戸惑ったが便利になっていると思う。iTune, Yahoo! Music, Amazon などの音楽配信ソフトを真似て、iPod などのMP3プレーヤーに直接ダウンロードできる機能が入っていたりする。音楽配信と言えば、Amazon.com がDRMフリーで1曲0.99$という音楽配信事業を始めたらしい。Amazonは多くのレーベルと契約しているので、大ニュースと思ってよく調べてみたら、ダウンロードできるのはアメリカの住人だけらしい。なんで日本の著作権保護はこんなに厳重なんだろう。今のところ、私の知る限りでは、DRMフリーでダウンロードできるサイトはこのeMusicだけである。
     例によって、ダウンロードした曲をMusicMatchJukebox で wav ファイルに一括変換し、CDに焼くときなどに問題あるファイル名をエクスプローラで訂正したうえで、SoundEngine スクリプトを使って一括音量調整をした。52ファイルでも、1時間あまりでできる。処理をしている間は、パソコンから離れることができるので、頗る便利である。
     それでも、このコレクションには結構時間が必要だ。CollectionList に追加訂正し、ついでに Live365 の RadioSenboku 向けの Playlist を変更する作業もやりたい。まあ、隠居のお遊びでないとできないかもしれない。
    (追記:2007/10/24)Live365 の RadioSenboku 向けの Playlist を変更した。Jazzが嫌いでなければパソコンを開いている時のBGMとしては快適と思うので、ご利用頂きたい。現在流れているJazz Playlist はExcelシートで確認していただける。

    2007年4月23日

    XHTMLstrict に Flash を表示する

    隠居のFlash:<object> と<embed>で書いたように、どのブラウザでも動くように Flash をHTMLに埋め込むには、<object> と<embed>という同じようなタグを書かねばならない。最近はHTMLをもっと厳密(strict)に書いて、どのブラウザでも動くようにしようということで、W3C(The World Wide Web Consortium )は、XHTML strict を推奨している。この XHTML strict では、<embed>タグは使えない。現在MovableTypeで使っている「小粋空間」さんのテンプレートは、移行段階のXHTML Transitional なので現状で困っているわけではないが、Flashを XHTMLstrictで表示させる(embedタグを使わずに表示させる)コードが紹介されていたので、ブログのヘッダー部分の Flash を変更してみた。

    続きを読む "XHTMLstrict に Flash を表示する"

    2007年3月14日

    Web Radio を録音する:Ripping Live365

     友達に Live365.com の存在を教えたら、最近いろいろなステーションを探し出して楽しんでいるらしい。ついでに、愛聴しているステーション(Hawaiian:Live365 にある)の曲を車の中や散歩中に iPod で聴けるようにできないかとの相談があった。ちょっと面白いテーマなので取り組んでみることにした。

     例によって自分のブログサイト内で探索できるようにしている Google Search で "Web Radio Ripping" というような言葉でサーチしてみると殆どは海外サイトであるが沢山ヒットした。日本のサイトの「StationRipperでネットラジオを外へ持ち出せ」という記事に引かれて、StationRipper をインストールした。このStationRipper は対象とするRadioを<隠居、NetRadio で Jazz/Country を楽しむ!>で紹介したSHOUTcast では見事に動く。曲名・アーティスト・曲の長さなどが、Radio Station をフォルダー名として保存される。こんなことが合法的なのかどうか疑いたくなるくらいである。ただ、StationRipper では、Live365 のストリームを ripping することはできない。設定の方法が拙かったようだ。Live365 のストリームを録音することはできるらしいがまだよく分からない。
     さらに英語のサイトを中心にいろいろと調べていると、どうやら RipCast というソフトで Live365 を ripping できるらしいことがわかった。早速インストールしていろいろと試してみた。インストラクションでは、Live365を ripping できることがなっているがなかなか上手くいかない。さらに、サーチしてみると "OldSchoolLive.com" というミュージシャンのサイトにあたった。どうやらこのグループは、Live365で自らの演奏を流しているらしい。ここで、Live365 から ripping する方法を説明している。その説明を従って、Live365 を聴く player を Winamp に変えると ripping できるようになった。ただし、 SHOUTcast での ripping のようには曲毎を split してアーティストなどの情報をつけるようなことはしてくれない。昔、カセットテープでFM放送を録音した(aircheck といいましたね)と同じである。ストリーミングしている時間分だけディスクに MP3 ファイルとして保存してくれる。さきほどのOldSchoolLive.com" では、ストリームファイルを split するソフトも紹介されている。いつも使っている SoundEngine でも split できそうであるが、 split に特化したファイルがないか探してみると Direct WAV MP3 Splitter という手頃なソフトが見つかったのでインストールして使ってみた。このソフト、 ripping したファイルの pause (無声)部分を見つけて、そこでファイルを split してくれる。 pause の時間などを設定できるので、結構使えそうである。ただ、当然ながら SHOUTcast の ripping のように曲名とかアーティストの情報は付加してくれない。若いころ(30年以上も前)、FM放送を録音したカセット・テープから MP3 ファイルを作成するのと同じである。このような良い split ソフトはなかったので1曲ごと手動操作をしていた。古い LP の曲を MP3 にすることも split が面倒なので止めていたが再開しようかなと思ったりしている。
     ところで、気がかりなことが起こっている。以下のように、米国で、Web Radio を規制しようとする動きである。拝金主義のレコード会社のロビー活動と思われる。Live365 を ripping できるにもう一つの Free soft である StreamRipper のページには次のように出ている。
    News 2006/05/02 Audio Broadcast Flag Bill and PERFORM Act
    Please take a moment to educate yourself about a very dangerous proposal for legislation in the United States offered by Rep. Mike Ferguson (R-NJ), called the "Audio Broadcast Flag Licensing Act of 2006". If passed, this legislation would severely limit your rights to record and enjoy digital  audio.

     また、Live365 のページには、私のように趣味的に Web Radio を開設している人にも厳しい話がでている。そのうちにこのような世界は消えていくかもしれない。
    Last week, the Copyright Royalty Board (CRB) issued the significantly higher new royalty rates for Internet radio for the 2006-2010 period. The ruling ignored webcasting community proposals and set out the SoundExchange proposed "per performance" rates (below) and a $500 minimum fee per channel per year. Although there is no clear definition of what a "channel" is, the $500 minimum fee per channel threatens Live365's ability to help make the small webcasters' voice heard on the Internet, by effectively forcing Live365 to raise the minimum broadcasting fees to a level that would cause most small webcasters to discontinue their service thus silencing their stations. The CRB's determination imperils small and large webcasters alike and threatens listening experiences of millions of Internet radio listeners.

    (追記:2007/3/23) 現在、Ripcastでの Live365 の録音は上手くいかない。Ripcast のホームページに繋がらない状態が続いている。著作権の問題か何かで、 Ripcast が閉じられているのかもしれない。
    (追記:2007/3/24) Live365 のストリームを Winamp で再生するように設定して、Winamp の Playlist Editor を表示させ、その画面に表示されているステーションを右クリックしたときにでるポップアップ画面にある View file info.. をクリックするとURLが表示されるので、これをコピーしてRipcast の CurrentDownload の ServerAddress 欄にペーストすると Ripping が始まる。聞くのには、SongTitle を右クリックすると出るポップアップ画面で、Play をクリックすればよい。
     いろいろと試したが、Live365の録音は強制的に停められているようだ。StreamRipper でも上手くいかない。ちょっとの間様子をみることにしようと思う。 

    <参考エントリー>


    2007年3月 8日

    追記文章の折りたたみ

     最近は、Web Radio に熱中していたので、いつもブログの改修に参考させてもらっている「小粋空間」さんへの訪問が少なくなっていた。久しぶりに覗いてみると「追記文章の折りたたみ」というカスタマイズが出ていた。以前から、できたら手を加えたいなと思っていたカスタマイズなので早速取り組んで見ることにした。

    続きを読む "追記文章の折りたたみ"

    2007年3月 6日

    Downloaded Jazz in March:"East Of The Sun"

     月が替わったので、新しいテーマのJazz をダウンロードした。今月は、村上春樹の「国境の南、太陽の西」からの連想で、"East Of The Sun"を選んだ。eMusic で検索してみると 80album あまりヒットした。だんだんと契約レーベルが増えているようだ。月40曲の契約では足りない。前月の残りと新たに求めた booster pack とで、なんとか用足りた。1曲50?足らずである。
     iTunes Store で検索してみると、殆どは重複しているが、Diana Kral など eMusic でヒットしないアーティストの分があったので、1曲150円と高いがダウンロードした。 iTunes Store でのダウンロードは、ファイル形式が cda で音楽CDの曲をそのままコピーしている感じである。HDDに保存できる方法もあると思うが、普通にはダウンロードした曲は空のCDに保存するように求められる。どうも、CD丸ごとダウンロード購入がお勧めの感じである。そうすれば、保存したCDはそのままオーディオ・プレーヤで再生できる。音楽CDを買う替わりの方法と考えれば簡単にしてあることになる。
     ただ、私のような目的で ダウンロード購入する人は誰もいないだろうが、iTunesStore からダウンロードしたファイルの処理はやっかいである。まず、MP3ファイルに変換しなければならない。それと、アーティスト毎、アルバム毎にフォルダーが作られるから、私のようにテーマ毎にフォルダーを作るときにはファイル名をユニークにするためにファイル名変更しなければならない。 
     iTunesStoreで納得できないのは、米国サイトでは1曲99?で今の為替レートからいけば日本より安い(それでも eMusic に比べれば倍近く高い)のだが、日本人は買えない。(アメリカに住んでいることにすれば買えるかもしれないが) どうも日本で音楽を求めるのは高い買い物なのだ。

    2007年2月18日

    Downloaded Jazz in Feb.:"Just One Of Those Thing"

     毎月の契約トラック数に応じて、eMusic から Jazz をダウンロードしている。今月は、"Just One Of Those Thing"をダウンロードした。この曲を演奏している Artists は多く、サーチしてみると100以上のアルバムが出てくる。先月買っていた Booster Pack の残りと今月の契約 40tracks と新たに Booster Pack を購入してダウンロードした。 Booster Pack も値上がりしている。30songs で16ドルになった。1曲あたり64円くらいである。これだけ曲数が多いと、Sound Engine での音量調整作業などにも時間がかかる。どれかを選択して、Radio Senboku に収録したいと思っている。
     free encyclopedia の Wikipedia での、"Just One Of Those Thing" の解説は以下の通りである。
    "Just One of Those Things" is a popular song, written by Cole Porter in 1935 for the musical High Society.
    The song was later featured in two Doris Day musicals, Lullaby of Broadway (1951) and Young at Heart (1954).
    The song has become a standard, with many recordings having been made of it. Among artists who have recorded it are Ella Fitzgerald, Bing Crosby, Doris Day, Lena Horne, Frank Sinatra, Louis Prima, Diana Krall, John Barrowman, and Erin McKeown. Nat King Cole, recorded it as the title track of his 1957 album "Just One Of Those Things".

    2006年12月15日

    隠居、Flash8で Flash リンクボタンを作る

     ブログの右サイドメニューに Flash のリンクボタンを作るときには、Sothink SWF Quicker のテンプレートを使って作ってきた。Sothink SWF Quicker はFlash ムービーを作るためのソフトとしては比較的安いし、テンプレートや tutorial も充実しているので重宝している。欠点は、Flash version8 に徐々に対応してきているがまだ十分でないことと日本語のテキストが扱えないことである。そのために、Macromedia Flash Basic 8 を泣く泣く購入したが、主目的だった MP3 ファイルの再生ボタンはインターネットで見つけたフリーの Flash MP3 Player で十分だった。それで個人が少し遊ぶ程度には高い買い物だった Flash 作成ソフトはあまり使う機会がなくなっていた。最近 Google Maps API を使った「泉北近辺私的観光地図」というページを立ち上げたので、そのページへのリンクボタンを Flash で作成することにした。ボタンの表示を日本語にしたかったので、Sothink SWF Quicker のテンプレートでは作成できない。宝の持ち腐れだった Flash Basic 8 にトライすることにした。
     狙いはボタンの上にカーソルを当てると音が出て、クリックするとリンク先が表示されるようにすることである。これだけのことをするのに、アルツハイマー症的になっている頭では結構時間がかかった。Flash作成ソフトには沢山の機能がついており、エキスパートはこれらを使いこなしていろいろな素晴らしいアニメーションを創られているが、私のような初心者にはなかなか理解が進まない。学習には、以前に買っていた「これで完璧Flash8」という参考書も見たが、 英語版ではあるが teacherClic という Tutorial が有用であった。試行錯誤してようやくできたのが、右サイドに置いている「泉北近辺私的観光地図」へのFlashボタン  である。カーソルがボタンの上に来ると鶯の鳴き声が始まる。クリックすると Google Maps API で作った「泉北近辺私的観光地図」へリンクする、という簡単な作品である。
     気が向いたら、もう少しデザインなどを学習していいものにしたいと思っている。
    (追記:2007/10/3)「泉北近辺私的観光地図」のリンクボタンは、その後何度か作りかえている。

    2006年12月11日

    隠居のFlash:&lt;object&gt; と&lt;embed&gt;

     先日来、右サイドメニューに Flash リンクボタンを置くことを試みている。Flash8 Basic で、日本語表示のFlash リンクボタン・ファイル(xxx.swf)をいくつか作って設置してみる作業である。この作業の中で、エキスパートの方なら常識と思うが、初心者には新たな発見があったので備忘録的に書き留めておくことにした。
     メインページおよびエントリー・カテゴリー・日付各アーカイブのテンプレートでは、リンク用のテンプレートを別に作って readfile している。このリンク用テンプレートでの flash file の設置するためのコードは、引用のように、Flash のエキスパートが提供してくれているものをコピペし、 flash file のありかなどを指示するなどの必要箇所を訂正して使っている。
    <!--泉北近辺私的観光地図-->
    <span align="left"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="120" height="30"> <param name="movie" value="http://xxxxxxxxxx/xxxxx/map_03.swf" /> <param name="quality" value="high" />
    <!-- LiteboxでFlash を隠す -->
    <param name="wmode" value="transparent" />
    <embed src="http://xxxxxxxxxx/xxxxx/map_03.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" width="120" height="30"></embed></object></span>

       この HTML には、<object>と<embed>という同じようなタグが使われている。この経緯については、高橋 登史朗さんのAllAboutの解説に詳しい。この解説でも分かるように、ブラウザーによって表示が変わる。私の場合、主として編集は Firefox2.0 を使い、サイトの確認は使用している人が多い IE7 で行う。この確認作業で、Firefox と IE では表示が異なることに気が付いた。<object>と<embed>タグ部分で同じような名前の swf ファイルを使っていて分かったのであるが、 IE7 では<object>タグでのファイルが使われ、Firefox2.0では<embed>タグでのファイルが使われる。Netscape でも<embed>タグでのファイルが使われるようである。
     どちらのタグ部分でも同じファイル名にするのは当たり前の話であるが。

    2006年8月 7日

    隠居、新しいFlash MP3 Playerを導入

     今日は大阪は全国で最も気温が高い37℃が予測されている。昨日に続いて、クーラーをつけた部屋で室内DIYをすることにした。

     「音楽方丈記」というブログを開設されているTANさん という方が、デザインの優れた三つのブログで使えるFlash MP3 Playerを紹介されていることは以前のエントリーで投稿した。この中のPlay Tagger by del.icio.usというPlayerはブログ・テキストの横にボタンが設置されるのと、一行のJavaScriptをHTMLに置くだけなので音を出すシーンでは好んで使わせてもらっている。他の二つのデザインも捨てがたいので元ページに遡って利用について調査した。
     FLASH SINGLE MP3 PLAYER はすっきりしたデザインですぐにでも使えそうである。Download した zip ファイルを解凍すると singlemp3player.html が3つの種類の Player をブラウザに表示する。このHTMLのソースコードを開くとそれぞれの Player の object コードがあるので、これを Player を置きたいエントリーにコピペすればよい。MP3 file を置いているフォルダーなどのパラメーターを弄るだけでOKである。もちろん、singlemp3player.swf というフラッシュファイルをエントリーを投稿するフォルダーに置いておかなければならない。

     <隠居、ヒグラシの鳴き声に泣く>というエントリーの Flash MP3 Player を自作のものと置き換えた。また、HPの MUSIC サイトの左フレームにある Flash MP3 Player も置き換えた。

     紹介されているもう一つ alasacreations という Flash MP3 Player の元ページを訪ねるとなんとフランス語である。画像でなんとなく見当はつくが応用するには時間がかかると思い、次の機会にすることにした。 FLASH SINGLE MP3 PLAYER の作者もどうやら EU 圏の人らしい。 EU 圏の作者のデザインは地味な感じで私好みなんですが、アメリカの作者に多い派手なものと異なるのは背景の文化が違うからなんでしょうか。

    続きを読む "隠居、新しいFlash MP3 Playerを導入"

    2006年5月27日

    SCodeによるコメントスパム対策

     前エントリーでコメントスパムの攻撃を受け、とりあえず英語のコメントは全て shut off したことを記載した。それによって、ひとまずスパムは治まっているがいつ再遇するか分からないので、もう少し良い方法はないかを探した。いつもお世話になっている「小粋空間」のカスタマイズに<SCode プラグインでコメントスパムを制限する>という項目があったので導入することにした。
     プラグインのインストールまではすんなりといったのに、エントリーアーカイブの再構築を行うと「Undefined subroutine &SCode::scode_tmp called at /home/?/cgi/mt/plugins/SCode.pl line 143. 」というエラーがでる。先の「小粋空間」さんのエントリーでのコメントの一つと同じメッセージである。てっきり同じエラーと考え、セキュリティコードを保存するためのディレクトリ(Temp Directory)指示が間違っていると思いこんだ。先のエントリーにトラックバックされている、私と同様に lolipop ユーザーの magnet さんのエントリーを参考にして、Temp Directoryを指示したが、同じエラーがでる。諦めかけたがもう一度最初からやり直すことにした。今度は上手くいった。
     原因はいつものミスと同じように単純な思いこみである。

    ダウンロードしたアーカイブを解凍すると php および plugins ディレクトリがありますので、そのままMTの php ディレクトリおよび plugins ディレクトリへ、下記の構成になるようにアップロードします。

    php/plugins/?
    plugins/SCode/?
    アップロード後、plugins/SCode/mt-scode.cgi のパーミッションを 755 等に変更してください。


     「小粋空間」の上記の説明(特に太字部分)をよくよく解釈すればいいのに、それぞれのディレクトリに、解凍したファイルを3つづつ入れていた。DLしたzipファイルのLHUT32解凍ウィザードでの解凍の仕方がまずかったようだ。SCodeのディレクトリ構造が残らず6つのファイルに解凍してしまって、SCode.pmもSCodeディレクトリのすぐ下に入れてしまった。本来は、SCodeディレクトリの下に lib というディレクトリがありその中に、SCode.pm のファイルがなければならなかった。お恥ずかしい限りである。私と同じようなミスをされる方はないかもしれないが、記すことにした。もう一つの excuse は、LolipopのFTPサービスではディレクトリごとのアップロードはできないことにある。FTPサービスでディレクトリを作り、そこにファイルをアップロードすることになる。lib ディレクトリを完全に無視したため(気づかなかったため)無駄な時間を費やしてしまった。歳をとってなんでも素直に受け入れることができなくなっているのかもしれない。
     私のエントリーにコメントしてくださる方に、SCode(セキュリティコード)を入れていただくことになるが、これでロボットを使ってのスパムから防衛しているのでお許しを。なお、TypeKeyでサインインしてくださる方には、SCodeのインプットは要求されない仕様を同じように「小粋空間」で用意してくれているのでインストールしている。

    続きを読む "SCodeによるコメントスパム対策"

    2006年5月18日

    隠居部屋の「ウェブ進化論」

     久しぶりに本に没頭した。梅田望夫さんの「ウェブ進化論」(ちくま書房)である。リタイア後にHow To本以外で寸時を惜しんで読んだ本はこの本くらいかもしれない。サラリーマン現役時代は某製薬会社の情報システム関連の仕事をしていた。パソコンが勃興を始めたころから激動の10年程度である。そのころ肌に感じていたITの潮流とその後の変化が見事に描かれ、文中にもあるが「ふーん、そうだよね!」とうなづきの連続であった。ITの世界はDog Yearといわれるくらい変化の激しい世界であるが、その動きはムーアの法則とともに今も続いていいるらしい。だから、ITに携わりだしてからの時間は、物理的にはあまり長くないのにずいぶん長年やってきた感じがしている。

    dog year

    情報技術分野における革新のスピードを表す概念。通常 7 年で変化するような出来事が 1 年で変化すると考える。〔人間の 7 年が犬の 1 年に相当することから〕

     この本で筆者は、Googleビジネスを通してインターネットをマイクロソフトが代表する「こちら側」とグーグルが代表する「あちら側」に区分して現状をとらえ未来を予測している。
     Googleは「ハーバード大学の生物学科を卒業しエール大学の医学部をでた本職は脳神経外科医のジム・リース(Jim Reese)という人物を運用部門のトップに据えて、オープンソース・プロジェクトから生まれたリナックスLinux)サーバーを1万台以上使ったシステムであるという。そのあたりに、Googleの「あちら側」文化が現れているように思う。
     この本には、Googleが行っている様々な事業が紹介されている。その一つにというかビジネスの中心となっているアドセンス(AdSense)という事業がある。あまり贅沢をしなければ生活をしていけるだけの年金で暮らしているのでお金を稼ぐという意欲はもうないが、技術的な興味で登録してみることにした。また、この本の中に「恐竜の首」と「ロングテール」の話が出てくるが、私もGoogleのロングテールの一番先っぽくらいに位置することにしたのである。
     ふつうの人よりは少し早い時期にMP3の楽曲をダウンロード(DL)して収集するようなことをしてきたが、Copy Rightを頑なに守ろうとする「恐竜の首」派のレコード会社などに疑問を持っていたので、広く安く公開することで愛好者が広がるというロングテール派の考えは「あっ、それそれ」というような感じであった。歌手のJanis Ianは、DLをフリーにしている。決してロングテールに入る歌手ではないが、私は彼女にAgreeする。
     インターネットという「不特定多数無限大」の人たちの一人である自分も、インターネットが次世代に移行してきているのを実感している。インターネットがあるから、そしてそれがどんどん進化するから、リタイア後も社会からの疎外感なしに生きていられるのではないかと思っている。
     今年に入って自らのブログ・サイト作りにフローな時間を費やしているが、つぎのような梅田さんのブログのとらえ方に、また「ふーん、そうだよね!」と頷いている。
    ブログ 「知的生産の道具」 
    1. 自系列にカジュアルに記憶でき容量に事実上限界がないこと。
    2. カテゴリー分類とキーワード検索ができること。
    3. 手ぶらで動いていても(自分のPCを持ち歩かなくても)インターネットへのアクセスさえあれば情報にたどりつけること。
    4. 他者との間で知的生産の創発的発展が期待できること。


     インターネットの世界が今どうなっているのか関心のある方に是非お勧めしたい一冊である。

    2006年4月28日

    鶯(<small>bush warblers</small>)来鳴きて・・

    ウグイス

     MP3での録音ができるEDIROL R-1は以前にも書いたように、里山でのウグイスの声を録音したいというのがきっかけだった。本日(2006年4月28日)、晴天に恵まれたので堺自然ふれあいの森にウグイスの声を音録すべく出かけた。農業用水用の小さな川の流れる音とかカラスの鳴き声などが混ざって、ウグイスの鳴き声だけを選別するのは少し難しかったが、帰って音声編集ソフトSoundEngineで増幅したり切り貼りしたりするとなんとか様になるMP3ファイルができた。MP3の編集は今まで手がけてきているので扱いやすく重宝する。
     少し見つけにくいと思うが(コナラの丘あたり)案内図にある小鳥のアイコンをクリックすると、遠くで逆光なのであまりうまく撮れていないウグイスの写真がでる。また、左下のサウンド・コントローラ(pickle player)でウグイスの声を、再生したり一時停止したりして音が聞ける。いちど試してみてください。  ところで、標題のような出だしの合唱曲があったと思いますが、どなたか作詞者とか作曲者をご存知ありませんか。標題に続く歌詞は、「・・春は還りぬ」だったと思います。  

    続きを読む "鶯(<small>bush warblers</small>)来鳴きて・・"

    2006年4月20日

    ムクドリ?のさえずり

    鳥の鳴き声録音(実験2)

     今の季節、日の出頃にかなりうるさい鳥の声で目が覚める。昨日EDIROL R-1を使って録音を試みた。この鳴き声は多分ムクドリと思うのですが、詳しい方教えてください。どこかで犬もほえているようですが。 <雀のさえずり>で録音再生のこころみを掲載したがどうも気に入らないので、自分でFlashソフトを使って作ってみた。これだとFlashファイル(.swf file)を背景の好きなところにおける(ちょっと苦労したが)ので、ご覧のように写真と同じように録音した場所を指定できる。 また、Netscapeでご覧の方も音が聞こえるはずである。(Netscapeでは鳥のFlash画像の位置がずれる。positionタグはNN6でOKになっているのだが?Netscape7.1のせいかな。再生を停めるには他のエントリーに移るか、画面を閉じてください。swf fileをボタン化すると再生・停止ができるようになるが、まだ十分に学習ができていないので。
     いずれにしても録音技術やWeb(Blog)作成技術を高める必要は感じているが、遊びの幅が広がってきたので楽しくなっている。
    今日は春何番かしらないが強風が吹き荒れている。鳥も啼くのをやめたようだ。

    続きを読む "ムクドリ?のさえずり"

    2006年4月18日

    雀のさえずり

     「堺自然ふれあいの森」のエントリーで、ウグイスの鳴き声の音録について触れた。小鳥の啼き声を録音したいというのは、退職後にやりたいと思ってリストしていた中の一項目であった。さきの里山の散策でこの想いが一段と募った。Googleで、”小鳥の鳴き声を録音する”という文章で検索してみるとローランド エディロールR-1というのとSONY PCM-D1が良い製品と分かった。会議や講演の録音には、OLYMPUSのVoice Trekが売れているようだが、小鳥の啼き声には向いていないようだ。SONY PCM-D1はプロがLiveを録音するような代物だし、価格的に手が出ない。結局、WAVEまたはMP3で録音でき、野鳥の会のメンバーも使っているという説明につられて、少し高い買い物であるがEDIROL R-1をweb-shoppingした。
     本日午後品物が届いた。開梱ももどかしく取説をざーと読んで、鳥の鳴き声がいつも聞こえる近くの公園に録音テストにでかけた。音源が梢の先で少し小さかったけれどもどうやら録音OKのようなので、帰宅して聴くに堪えるものなのか再生してみた。予想通り録音レベルが-36dBくらいなので、音楽を聴くボリュームレベルではほとんど聞こえない。例のSoundEngineで音量を平均-17dBに調整すると雀のさえずり(と思っているのですが)が明快に聞こえるようになった。録音ファイル・フォームが、waveまたはMP3という使い慣れた形式であるのが嬉しい。上空を飛ぶ飛行機の音や犬を散歩させている人の声なども混ざるが、これは使えそうである。また、遊びのタネが増えた。まるで幼児である。
     Webで求めたPodCastPickleというFlash FreeSoftで聴いてみてください。このソフトについてはまだよく理解していないが面白そうなので、こんどの機会にエントリーしようと思っている。









    (追記:2006/4/20) とほほのWeb入門にHPに動画を載せる方法が紹介されていたのでPodCastPickleから変更した。IEのWindowsMediaPlayer7.0用である。Netscapeでは機能しないようだ。 







    <追記:2006/9/19> 最近はMP3再生ボタンは、<新しいFlash MP3 Playerを導入>で紹介したようにPlay Tagger by del.icio.usを専ら使っている。ちなみに、雀のさえずりは、左のPlayボタンをクリックすれば聞こえてくる。

    2006年4月15日

    Jazz Collection: Download from eMusic.

     毎月のDLを契約しているeMusic での subscription が4月に入って更新された(下記の引用を参考)ので、新たにDuke Ellingtonの ”In A Mellow Tone” で検索してヒットした35tracks をDLした。 以前にも記述しているが、このようなコレクションが2003年1月から続いている。DVDにして3枚半くらいになった。MP3での収集なので結構な量である。 2003年1月以前は、BlueGrass系のカントリーミュージックにはまっていた。いずれ整理したいと思っている。

    Q: What is eMusic?

    A: eMusic is among the top digital music services, delivering more than one million downloads each month and offering a diverse catalog of 1,000,000 tracks from established and emerging artists in every genre from the world's top independent labels. Unlike other services that severely restrict portability, eMusic allows members complete flexibility to burn CDs, transfer to MP3 devices and make multiple copies for personal use. eMusic also offers access to exclusive recordings from eMusicLive's network of premier music venues across the country. eMusic subscription plans start at $9.99 per month for 40 downloads. A free trial is available to all new users.

    ところで、このようなコレクションをするときに問題になるのは、DLした曲の再生音量レベルの平均が-10dBから-25dBくらいまでばらついていて、そのまま再生すると曲が変わる毎にオーディオのVolumeを弄らなければならないことである。 eatsさんに教えてもらったSoundEngineというフリーのソフトを使って、DLした曲の音量レベルを-17dB(ソフトでは、ピアノ曲を聴くのに良いレベルとされている)に統一している。この音量レベルが、なんでこのようなマイナス・デシベルで表示されるのか疑問に思いながら使ってきた。もう少し理解をしたいと思ってGoogleで 音量レベル dB というワードで検索してみるといろいろなサイトが見つかった。これらのサイト中に「Pop-Musicの過大音量録音の本当の理由?」というページがあり、今までの疑問を少し解くことができた。なお、このページのTOPページは、「アナログ音源再生計画」というサイトであり、ここでのコンテンツは今は中断しているLP盤のJazzや若いときにAirCheckしたカセットテープのデジタル化に多いに役立ちそうである。 また、SoundEngineの使い方に関するページ「SoundEngineにてWave編集をする」が、今まで少ししか知らなかった音の記録についての知識を増幅してくれた。
    インターネットが巨大な百科辞典であることを再確認している。

    2006年3月 2日

    MTにFlash 実験_2

    HPに掲載していたFlashボタンをMTに持ち込んで見ました。いけるようですね。




    2006年3月 2日

    MTにFlashを動かす実験_1

    HPに掲載していたFlash MovieをMTに持ち込んでみました。HPでのHTMLコードをコピペして、サイトパスを変更しました。



    2006年2月 1日

    最近学んだことなど

     DreamWeaver2004 MXの基本機能だけを使っての古典的手法でHomePageらしきものを昨年(2005年)の秋から立ち上げてきた。その前には、Livedoorのblogで写真日記的なものを公開していた。ごく親しい仲間に、DIYで創った作品や旅行記などを知らせるためであった。メールでは重すぎるからである。
     この冬の寒さで、DIYなどの屋外活動がやりにくくなったことも起因して、HP作成にどっぷり浸かるようになった。
     今年(2006年)に入って、lolipopとレンタルサーバー契約をした。このlolipopのドメイン取得サービスを利用して、n-shuhei.netというドメイン名を取得することができた。これだけでも、年寄りにとっては大事業なのに、ここにMovable Type(MT)をDownLoadしてweblogサイトを開設することにした。Livedoorのblogがいつまで続くか危うさを感じたことも拍車をかけた。Movable Typeというソフトは、それまで全く知らなかったが、ML仲間の一人が使っていることもあって、思い切ってトライしてみることにした。
      HTML, CSS, JavaScriptなど基本的な学習ができていないなかでのMTへのトライはかなり無謀と思っているが、インターネットの関連サイトや参考書を頼りに、少しづつ体裁を整えている。「小粋空間」という洒落たサイトで提供されているMT3.2用のテンプレート body class="layout-two-column-liquid-right" を使わさせてもらって、カスタマイズを始めた。
     本日(2006/2/1)は、CSSとメインページ、 エントリー・アーカイブを少しいじって、掲載した写真へ間隔を開けてのテキストの回り込みやサイドカラムLink部分のカスタマイズを試みた。時間を忘れてはまっている。