2018年04月29日

ショパンのピアノソナタ第3番

 ときどき思い出したように、ショパンのピアノソナタ第3番第1楽章をさらっている。8年前(ショパン生誕200周年の年だ)に第2楽章を練習し始めて、「今年中に全楽章を制覇したい」と書いていたのだが、もちろん実現しなかった。第1楽章をさらいはじめたのはたぶん1年ぐらい前からだが、断続的なのでなかなか進歩しない。

 使っている楽譜は IMSLP で公開されている Mikuli 版。ショパンの作品はどの版がいいのかよくわからない。昔持っていた版は全音の「ショパン・ソナタ集」だった。現行のやつじゃなくて、「第六課程・青帯」のついた古いものです。買ったの40年以上前だもの。Mikuli 版を見ていろいろと「あれ、違うな」と思った。特に第4楽章のテーマ。

20180429-1.png

 正確には覚えてないけど、全音版ではこんな風に書かれていたような気がする。

20180429-2.png

 IMSLP で公開されている版を見てみると、Peters 版がこれと同じ記譜だった。他の版は Mikuli 版と同じ。やっぱり Peters 版か。Peters 版って、なんというかお節介なんだよね。わかりやすいと言えばわかりやすいんだけど。

 IMSLP には、喜ばしいことに自筆譜も公開されている。自筆譜ではこう。やはり、Peters 版には余分な書き込みがあることがわかる。

20180429-3.jpg

 で、第一楽章だが、まあ当然のことながら、難しいですね。いくら練習してもできなさそうなのは、六の和音のスケールで降りていくところ。特に再現部の嬰ヘ長調の方はちょっと無理っぽい。

20180429-4.png

 ちなみにここ、自筆譜ではスタッカートがついているように見えます(提示部の方にはない)。スタッカートで弾くのはそれはそれで大変だけど。

20180429-5.jpg

 ここ以外は、練習すればなんとかなりそう。ショパンはやっぱり「弾きやすい」ように書いてくれてるんだな、と実感したのは、展開部のここ。両手が交錯するところで、ちゃんと音を一つ抜いてくれている。譜例は Mikuli 版だが、自筆譜でもちゃんとそうなっている。これ、ベートーヴェンだったら無慈悲に下の B♭を書いてたと思う。

20180429-6.png

 まあ、人前で弾く予定はないんですけどね。インテンポでばっちり弾けたら(六の和音のところを除く)かっこいいので、もう少し練習してみます。

タグ:音楽
posted by toshinagata at 23:33| 日記

2018年04月26日

ATtiny13A でリモコンカー(つづき)

 リモコンカーの回路、送信機の方を少し修正した。ブレッドボード上にタクトスイッチを「前後左右」の配置で並べ、LR44 用の電池ボックスも取り付けた。

20180426-1.jpg

 坊がタミヤのツインモーターギヤボックスを提供してくれたので、受信機の方につないで回してみた。ちゃんと回る。

20180426-2.jpg

 回るけど、ときどきマイコンが誤動作している感じがする。リモコンの効きが悪かったり、ボタンを離してもモーターが回りっぱなしだったり(←これはアカンやろ)。ノイズ対策をちゃんとやらないといけないかな。モータ端子の間にセラミックコンデンサを挟むとか?

posted by toshinagata at 22:45| 日記

2018年04月24日

「戦後入門」(加藤典洋、ちくま新書)

 中曽根首相が「戦後政治の総決算」を掲げた時代に青年期を過ごした私にとって、「日本の戦後とは何か」というのはずっと心に引っかかる問題だった。また、現在の安倍首相がめざす「美しい国」なるものが、自分にとって少しも美しく感じられないのはなぜか、というのもずっと引っかかってきた。

(クリックすると Amazon の商品ページに飛びます)

 加藤氏の卓越した分析を通して、戦後日本が歩んできた道のりと、それが行き詰まりつつある現状について、考え方の一つの枠組みを得ることができた。特に、吉田ドクトリンの「憲法9条を逆手に取った軽武装路線」で戦後の経済成長が実現されたこと、その背景にある「徹底的な対米従属」の構造が経済的繁栄に覆い隠されて見えなくされていたこと、そしてその経済成長の鈍化とともに「独立国なのに独立していない」矛盾が明らかになってきたこと、という一連の流れが理解できるようになった。多くの人(必ずしも「右寄り」とも限らない)が「日本のプライドを取り戻したい」という渇望を持っているのは、結局のところこの矛盾の解消を求めていることに他ならない。

 それでも、安倍首相や日本会議が目指しているような形での「誇りある日本」へのアプローチが、日本のプライドを取り戻すことにつながるとは、どうしても思えない。結局それは、「戦前の日本を無批判に肯定する」方向に行くしかなく、その路線では日本以外の国から広く共感を得ることは難しい。他者からの承認がないプライドを持ってみたところで、新たな矛盾に苦しむことにしかならない。

 加藤氏の主張の骨子は、日本が真のプライドを取り戻すためには「国際社会の新しい秩序の先導人」として自らを位置付け、その立場を発信していくしかない、という点にあると思う。もっとも、その実現方法として「国連中心の世界秩序」という方向は妥当かどうかわからない。また、そもそも現在の日本政府は「新しい国際的秩序の構築」への関心を何ら示していない。まずは、そういう点に関心を持つ政治家を我々の手で選び、議論を重ねていくことが第一歩ではないか。

タグ:読書 社会
posted by toshinagata at 19:28| 日記

2018年04月22日

ATtiny13A でリモコンカー

 リモコンカーの回路、一応ブレッドボードでは動くようになった。回路は下の通り。

20180422-1.jpg
  • マイコンは ATtiny13A で実装できそう。モータが2系統になったため、それぞれの速度と回転方向で合計4本の出力が必要になり、残りが1本しかない(RESET は使わない前提)。そこで、IR リモコン受信モジュールを1個にした。プラレール組み込みよりは工作の自由度があるはずなので、1個でも何とかなるだろう。
  • 電源はエネループ2本とする。デジタル回路の 3.3V は、秋月の昇圧型DC-DCコンバータ (M-08937) で作る。
  • IR リモコン受信モジュールは OSRB38C9AA を使う。これは 2.7V から動作する。モジュールによっては 4.5V 以上というものもあるので、要注意。
  • モータドライバは Pololu 2990 シングルブラシモータドライバボードを使う。販売は朱雀技研工房ストア。ロボット関係のパーツがとても充実している。発送が速く、価格も良心的です。モータを2系統使うのなら、デュアルモータドライバボード の方がよかった。工作本番までに差し替えたい。
  • モータドライバボードは、Vin にモータ用の電源を入れると、逆起電力保護回路を通った電圧が Vm に出てくる(Pololu 2990 の製品情報)。Vin があまり低いと損失が大きくなるらしいのだが、2.4V では一応動いている。実際にモータを回してみて、あまりに効率が悪いようなら Vm に直接モータ電源を入れることにする。
  • モータの回転速度・回転方向はモータドライバの Enable/Phase 入力で制御する。Enable 入力は PWM で制御する。モータドライバの信号入力電流は 50 μA と小さいので(DRV8838 のデータシート)、LED を並列に接続して視認できるようにした。

 リモコン送信機の方は、こんな回路になった。前進・後退・右旋回・左旋回の4つ。ボタンを押している間だけ進むと想定している。回路には "3.3V" と書いたが、LR44 2個 (3.0V) で動かすつもり(まだテストしてない)。

20180422-2.jpg

 スケッチは次の通り。

posted by toshinagata at 23:20| 日記

2018年04月21日

リモコンプラレール、改めリモコンカー?

 リモコンプラレールの話を坊にしたところ、彼はリモコンカーを作りたいのだと。リモコンカーだと、左右旋回ができないといけないので、2個のモータを独立にコントロールする必要がある。ATtiny13 で間に合うのか?

 ともかく、リモコンの受信回路をとりあえず片付けておく。一応以前に実現してはいるのだが、実験してみるとどうも動作が不安定。2個の IR リモコン受信器の割り込みが干渉しているとか、タイマ割り込みによる時間測定がオーバーフローしているとか、いろいろ問題があった。一応受信はできるようになったので、スケッチを置いておく。→ sketch_receiver.ino.txt

 まだモータドライバを動かせるかどうかは試していない。Pololu DRV8838ブラシモータドライバボードは入手してあるので、これから実験してみる。

20180421-1.jpg
posted by toshinagata at 23:38| 日記

2018年04月18日

Radicale と CardDavMate

 Radicale の続き。DAVdroid を使った Android との連携はうまくいったが、Mac 上でも見られるようにしておきたい。カレンダーの方は以前から Thunderbird の Lightning アドオンを使っている。これは何も問題なくて、次のようにすればよい。

  • 「予定とToDo」から「カレンダー」を開く。
  • 「カレンダー」リストで右クリックして、「新規カレンダー」を選ぶ。
  • 「ネットワークのサーバーに保存」
  • フォーマット=CalDAV, 場所=http://localhost:5232/nagata/calendar, オフラインサポート=ON
  • カレンダーの名前・色・アラーム通知(私は無指定にしている)を決める
  • ログイン名とパスワードを要求されるので、入力する

 問題は連絡先の方。Mac 純正の「連絡先」は一応 CardDAV サーバにアクセスできるはずなのだが、うまくいった試しがない。Thunderbird の CardBook というアドオンも試してみたが、ふりがなが表示されないなど、いろいろと不便。そこで、CardDavMate というのを試してみることにした。これは Javascript で書かれていて、ブラウザ上で動作する。セットアップが複雑で理解するのに苦労したが、できてしまえば簡単だった。

  • CardDavMate をダウンロード・解凍する。
  • config.js を開き、var globalNetworkCheckSettings={ という記述を探して、以下のように変更。
    var globalNetworkCheckSettings={
    // 以下4行をコメントアウト
    //	href: location.protocol+'//'+location.hostname+
    //		(location.port ? ':'+location.port: '')+
    //		location.pathname.replace(RegExp('/+[^/]+/*(index\.html)?$'),'')+
    //		'/caldav.php/',
    	href: "http://localhost:5232/", // 追加
    
  • Radicale の config を開き、次の記述を追加。これは、クロスドメインによる Javascript の制約を回避するもの。
    [headers]
    Access-Control-Allow-Origin = *
    Access-Control-Allow-Methods = GET, POST, OPTIONS, PROPFIND, PROPPATCH, REPORT, PUT, MOVE, DELETE, LOCK, UNLOCK
    Access-Control-Allow-Headers = User-Agent, Authorization, Content-type, Depth, If-match, If-None-Match, Lock-Token, Timeout, Destination, Overwrite, Prefer, X-client, X-Requested-With
    Access-Control-Expose-Headers = Etag, Preference-Applied
    
  • CardDavMate の index.html をブラウザで開くと、名前とパスワードを入れる画面が出るので、入力する。うまくいけば連絡先のリストが出てくるはず。出てこなければ、ブラウザのエラーコンソールを見て対策を考える。

 ふりがなの表示には対応しているが、エントリの表示が「名前の漢字表記順」になっていて、「ふりがなの順」になっていないのは残念。まあ、Mac 上で連絡先を編集することはあまりないので、このぐらいは我慢しようか。

posted by toshinagata at 20:13| 日記

2018年04月14日

DAVdroid と Radicale でまたハマる

 だいぶ前に「DAVDroid と Radicale でハマる」というのを書いた。しばらく問題なく動いていたのだが、最近また同期がうまくいかなくなった。気がついてみると、Radicale のバージョンがずいぶん古い (0.8)。なるべく新しいバージョンにしておかないと、いろいろとまずいかもしれないな、と思って、バージョン 2 まで一気に上げてみた。

 インストールには Python3 が必要。Mac 用の Python3.6 をインストールする(3.5 だと、PyPI へのアクセスがうまくいかない)。その後、radicale, passlib, bcrypt をインストールする。

$ python3 -m pip install --upgrade radicale  #  Radicale 本体
$ python3 -m pip install --upgrade passlib bcrypt  #  ユーザー認証用の bcrypt

 適当な場所 (/path/to/radicale とする) に Radicale 用のディレクトリを作る。設定ファイル config を下の内容で作成。

[auth]
type = htpasswd
htpasswd_filename = /path/to/radicale/users
htpasswd_encryption = bcrypt

[server]
hosts = 0.0.0.0:5232

[storage]
filesystem_folder = /path/to/radicale/collections

[logging]
config = /path/to/radicale/log_config

 パスワード認証用のファイルは以下のように作成。

$ htpasswd -B -c /path/to/radicale/users nagata
New password: 
Re-type new password: 
Adding password for user nagata

 ログ用の設定ファイル log_config は次の通り。

[loggers]
keys = root

[handlers]
keys = file

[formatters]
keys = full

[logger_root]
# Change this to DEBUG or INFO for higher verbosity.
level = INFO
handlers = file

[handler_file]
class = FileHandler
# Specify the output file here.
args = ('/path/to/radicale/log',)
formatter = full

[formatter_full]
format = %(asctime)s - [%(thread)x] %(levelname)s: %(message)s

 これで、下のように実行する。

$ python3 -m radicale --config=/path/to/radicale/config

 ここからがちょっとハマったところ。ブラウザで http://localhost:5232 にアクセスすると、Web ベースでカレンダーなどを作成できるのだが、これだと http://localhost:5232/nagata/8fc95c36-808b-d5ec-3b1f-13137ba93dc9/ みたいなランダムな文字列になってしまって、取り扱いが非常に面倒臭い。「RadicaleでCalDAV/CardDAVサーバーを構築する」という記事を参考にして、次のように設定。(あとで、公式ドキュメントにも書かれているのを発見した。)


$ cd /path/to/collections/collection-root
$ mkdir -p nagata/calendar
$ nano nagata/calendar/.Radicale.props
{"tag": "VCALENDAR"}
$ mkdir -p nagata/address
$ nano nagata/address/.Radicale.props
{"tag": "VADDRESSBOOK"}

 ブラウザで http://localhost:5232 にアクセスすると、こんな風になる。コレクション名が /nagata/address なのは不便なので、"Edit" で編集する。

20180414-1.png

 これが編集画面。「連絡先」と名付けた。

20180414-2.png

 こんな風になる。/nagata/calendar の方も同様に名前をつければよい。

20180414-3.png

 DAVdroid で同期するには、まずアカウントを作成する。DAVdroid のアカウント一覧画面で「+」を押すと、下の画面になるので、URL, ユーザー名、パスワードを入力。URL は ...:5232/まででよく、nagata/calendar などの部分は自動的に認識される。

20180414-4.png

 うまくいくと、この画面になる。実はここでハマった。別の URL で同じユーザー名があると、エラーになる。エラーメッセージがわかりにくいので注意。

20180414-5.png

 こんな風に、新しく作ったアカウント(一番下)が表示される。

20180414-6.png

 アカウントをタップすると、この画面になる。左のチェックボックスをオンにして、右上の同期アイコンをタップすると、Radicale と同期してくれる。

20180414-7.png

 これで、「カレンダー」「連絡先」とも、Radicale のコレクションを認識してくれる。一応これで、Radicale 2 系列も使える目処が立った。

posted by toshinagata at 01:10| 日記

2018年04月09日

シマトネリコ・ナツミカンの剪定

 シマトネリコを剪定しました。「シマトネリコの剪定の仕方や時期」(HORTI) によれば、3〜4月、6〜7月、9〜10月が適期らしい。「剪定後に他の部分から枝が生えてくることを見越して剪定する」というのが、最近やっとわかってきた。

20180409-1.jpg

 古くなった太い枝を切り詰めて全体をコンパクトにまとめたいのだが、なかなか難しい。今回は下の A のところで切った。A とほぼ同じところから出ている太い枝がまだ何本かあるのだが、それらを全部切ってしまうと、B のところに全く葉も枝もない幹が残ってしまう。これがどうなるかがよくわからない。この幹からも新しい芽が出てきて、若い枝が育ってくれるんだったら、それでいいんだけど。

20180409-3.jpg

 ナツミカンも少し前に剪定しました。今年の収穫は15個ぐらい。途中で落ちたものも多く、果汁が少なくて出来は悪かった。最後まで木についていた実は、なんとか食べられるレベルにはなった。

20180409-2.jpg

 今年は花芽がかなりたくさんついているのだが、木の中の方についている花芽が多く、実がついてもちゃんと育ってくれるか心配である。もう少し中の方まで日が当たる形にしたいんだけど、まだまだ経験と技術が足りんな。

タグ:園芸
posted by toshinagata at 22:25| 日記

2018年04月08日

NHK「ラジオ英会話」

 ヒメが「基礎英語」を卒業して「ラジオ英会話」に挑戦することにしたので、前に作ったダウンロード用のスクリプトを修正した(capture_nhk.rb)。講座名を english/kaiwa にすればよいだけ。

 今年度の「ラジオ英会話」の講師は大西泰斗氏。講座の基本方針として、「話すための英語文法」を重視する、ということなので、期待している。テキストを見ても、最初がいきなり「5文型をしっかり理解する」ところから始まっている。英語学習はこうこなくちゃいかんでしょ。

 現行の「基礎英語」は投野由紀夫氏の英語教育哲学が強力に反映されているのだが、私はかなり違和感を感じていた。「CAN-DO」と「英文法」を一体化した、という触れ込みだったが、実際には3年間基礎英語を受講しても、体系的な文法知識はほとんどつかなかった。受講の仕方に問題があったのかもしれないけど、少なくともテキストを見る限りでは、文法に関する記述は非常に散漫で、体系的に理解させようとする意図は全く感じられなかった。仕方がないので、安河内哲也氏監修の参考書などで補ってきた。

 その昔、自分が「基礎英語」「続基礎英語」を聞いていたときは、講座を聞くだけで中学レベルの文法知識はほぼマスターできたのに、どうしてこんなに劣化してしまったんでしょうか。ちなみに言うけど、当時の「基礎英語」「続基礎英語」でも、今の「CAN-DO」レベルの会話表現ぐらいはマスターできたと思いますよ。ラジオ講座の構成はもうちょっと考え直して欲しいと思う。

posted by toshinagata at 21:52| 日記

2018年04月05日

wxPython 継続中

 wxPython、ぼちぼち続けてます。こんなん作ってみてます。

20180405-1.png

20180405-2.png

 なかなか難しい。文字や線の末端が1ピクセルでもずれると、違和感のある図になってしまう。特に、文字の扱いが難しい。文字が画面上で占有するサイズは wx.GraphicsContext.GetFullTextExtent() で取得できるのだが、目で見たときのサイズと微妙に違う。これを調整しようと思うと、文字1個1個について微修正が必要になるんじゃないか? ChemDraw とか、どういう処理をしているんだろう。(そこをきちんと処理しているからこそ、商売になっているんだけど。)

posted by toshinagata at 22:40| 日記
email.png
Powered by さくらのブログ