www.ruimo.com
るいもの戯れ言
2023-12-31T01:12:34Z
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/logo.gif
日々の戯れ言
Uno Ruimo(Shisei Hanai)
2023年に買ってみて割と良かったもの。
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1411
2023-12-31T01:12:34Z
2023-12-31T01:12:34Z
<div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/3NMd8r4'><img src='https://m.media-amazon.com/images/I/61FzznyAKbL._AC_SY879_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/3NMd8r4'><p>腰枕</p></a><p>朝起きると腰が痛むようになったので、試しに購入。腰痛はほぼなくなったので効果はあるみたい。</p></div></div><div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/47dayS4'><img src='https://m.media-amazon.com/images/I/51LDQA8YxGL._AC_SX522_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/47dayS4'><p>ENGINEER エンジニア ハンダ吸取器 SS-02</p></a><p>半田吸い取り器は基本は電動式のものを使うのだが、電動式のものはスイッチ入れてから使えるようになるまで、数分かかる。かといってずっと待機させておくとなると場所もとるしコテ先も焼けるしでわずらわしい。手動式のものは力が弱いのが難点なのだが、これを試しに買ってみたらかなり強い。片面基盤ならこれで十分。</p></div></div><div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/48jlxLc'><img src='https://m.media-amazon.com/images/I/61C99QQ6ZaL._AC_SY450_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/48jlxLc'><p>IKococater 安定化電源 直流安定化電源 0-30V 0-10A</p></a><p>デジタル回路の制作が主になって、安定化電源のお世話になることも減ったのでずっと持っていなかったのだが、久しぶりに必要になったので購入。子供の頃はまだスイッチング電源がなくて、10Aも取れるものは巨大で高価だったものだが、今はこんなにコンパクト、安価になった。この手の廉価なものは調整ツマミが可変抵抗で経年変化でガリって使い物にならなくなるのだが、驚いたことにロータリーエンコーダが使われていた。今のところ問題無し。</p></div></div><div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/48AwEyZ'><img src='https://m.media-amazon.com/images/I/61uY-USWknL._AC_SY741_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/48AwEyZ'><p>ゼルダの伝説 ティアーズ オブ ザ キングダム -Switch</p></a><p>10年くらい前にゲームに物理演算の時代が来るみたいに言われていたと思うが、これほど早く実現するとは。本当に現実世界にあるかのように物体が転がったり壊れたりする。このため攻略の自由度も半端無く大きい。祠の難易度は前作より下がった感じがするけどより一般の層も対象とするための配慮なのだろう。5月の連休の頃に届いて、毎日少しずつやっているが、まだ遊べている。文句無しの名作。</p></div></div><div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/3vsp8Ys'><img src='https://m.media-amazon.com/images/I/71EnvWWyF3L._AC_SY879_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/3vsp8Ys'><p>新輝合成 トンボ ユニード ゴミ箱 蓋を開けずにごみを捨てられる</p></a><p>猫がゴミ箱をいたずらするので試しに買ってみた。とても使いやすくて満足。</p></div></div><div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/3NKR0xu'><img src='https://m.media-amazon.com/images/I/61VjKQqXYeL._AC_SX679_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/3NKR0xu'><p>MICHELIN(ミシュラン) COUNTRY ROCK BLK 26X1.75 26 X 1.75</p></a><p>自転車用のタイヤはパナレーサを使っていた。ところが別にコーナを攻めたりする乗り方をしているわけでもないのに、前回買ったものがサイドの摩耗が激しかったので、試しにこちらのものを買ってみた。今のところ快調なのでしばらくはミシュランを続けてみようと思う。</p></div></div><div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/41DNc6V'><img src='https://m.media-amazon.com/images/I/61uBH+q5TrL._AC_SX569_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/41DNc6V'><p>WOVTE折りたたみ式 ルーペ 10倍</p></a><p>ルーペは幾つか買ってみたが、今はこれに落ち着いた。もう少し安い価格帯だと40倍などのものがあるが、正直20倍を越えるものは焦点距離が短か過ぎて使いにくい。10倍あたりが使いやすい。</p></div></div><div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/3S1McGD'><img src='https://m.media-amazon.com/images/I/61PpyfqMrVL._AC_SX522_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/3S1McGD'><p>アイリスオーヤマ 電動空気入れ</p></a><p>自転車用の空気入れ。最初に買ったものは電池内蔵のタイプでそんなに悪くは無かったのだが、やはり2年ほど使うと電池の寿命で使えなくなった。次に買ったのは乾電池式のものだったが力不足でいまひとつ。3台目に買ったのがこれ。アイリスオーヤマは電動工具も扱っていて、電池は共通なので電池の寿命が来たら電池だけ交換すればOk。</p></div></div><div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/3RYxZdt'><img src='https://m.media-amazon.com/images/I/71Bj0kB5IHL._AC_SY450_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/3RYxZdt'><p>【2023改良型】TEPNICAL 3in1 Magsafe充電器 Qi認証 ワイヤレス充電器 </p></a><p>Apple WatchとiPhoneを同時に充電できるスタンド。磁石が入っていてiPhone充電の時の位置合わせのストレスが無いのが良い。もう1台買ってリビングとデスクに置いている。</p></div></div><div style='margin-bottom:1em;display: grid; grid-template-columns: 310px 1fr;'><a href='https://amzn.to/3TKdenc'><img src='https://m.media-amazon.com/images/I/51hD8mDnmkL._AC_SX679_.jpg' style='display:block;margin: 0 auto; width:auto; height:auto; max-width:300px; max-height:300px;'></a><div style='display: inline-block; vertical-align: top'><a href='https://amzn.to/3TKdenc'><p>kvmスイッチ hdmi 4K kvm スイッチ HDMI切替器 4ポート(PC4台用)</p></a><p>ずっと使っていたKVMスイッチ、1ポートダメになったのを騙し騙し使っていたが、いよいよ壊れたので新しいものを購入。良くあるKVMスイッチは四方八方にケーブルが出るようになっていてデスクの上がカオスになるので、リモコンが付いているものにした。おかげでデスクがすっきりした。</p></div></div>
夏休みの自由研究はCH32V003でLチカ
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1378
2023-08-18T08:08:40Z
2023-08-18T08:08:40Z
<a href="https://ruimo.github.io/ch32v003try/">夏休みの自由研究は、CH32V003でLチカ</a>
GWの自由研究
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1347
2023-05-04T06:05:06Z
2023-05-04T06:05:06Z
今回は<a href="https://r8c-m1x0a.github.io/univ_tester/">万能導通テスタ</a>
家庭用のオーディオでの必要な出力
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1315
2023-01-07T02:01:20Z
2023-01-07T02:01:20Z
<p style=" font-weight:bold;">この件、どうやら<a href="https://www.ruimo.com/showArticle/1346">最終段の切り替え機に原因があったようです</a>。</p>
<p>少し前にこのアンプを買ったのだが、</p>
<p>
<a href="https://www.amazon.co.jp/dp/B072Z7FR4Y">FX-AUDIO- FX202A/FX-36A PRO</a>
</p>
<p>少し大き目の音になると盛大にバリっというノイズが乗るのが気になっていた。カタログ値は48Wとあるが、これは4Ω負荷のようなので、うちの8Ωのスピーカだと24Wというところだろう。それでも24Wもあれば十分だと思っていた。</p>
<p>というのも大昔にオーディオの記事で普通の家なら5Wも出せば近所迷惑な音量になると書かれていたのを読んで、それを特に検証もせずに(50年近くw)信じていたのだ。もちろん音量はスピーカの能率とアンプの出力の両方に依存するから、アンプ出力だけで判断はできないのだが、うちのスピーカはフルレンジの高能率のものなのだ。</p>
<p>ただ、もしかするとアンプの故障の可能性もあるので、抵抗負荷で最大出力近辺での挙動を見てみることにした。大昔に作ったファンクションジェネレータを発掘して、8Ωのセメント抵抗負荷で1kHzの正弦波でアンプに負荷をかけてみた。</p>
<div><img width="400px" src="/getImage?id=1633"></div>
<p>オシロで見る限り、特に波形の乱れ無く20Vppまできれいに出ていたのでアンプは無罪のようだ。FX-AUDIOさん疑ってごめんなさい。</p>
<p>つまりこれまでの自分の知識をアップデートせねばなるまい。20W程度の出力では少し音量が大きくなると力不足で、特にD級アンプだと定格を少しでも超えると盛大にノイズが乗るので、かなり余裕を見た方が良さそうだ。人間の耳は音量のスケールが対数なので、2倍程度では足りなさそうで、100Wくらいの出力の余裕は最低限必要そうだ。最近のアンプはどれも4Ω負荷が基準なので、そうするとチャンネルあたり200Wくらいは必要ということになる。探してみると、こんなのが見つかるが、</p>
<p><a href="https://www.amazon.co.jp/dp/B09ZQL3QDW">Fosi Audio TB10D</a></p>
<p>ちゃんと出力を得るには48V 10AのACアダプタを使えとのこと。それでも480Wだから、300W x 2出力には足りていないと思うけど、まぁオーディオ用途なら常にフル出力必要なわけじゃないから大丈夫という見立てなのだろう。とはいえ、探してみてもそんな化け物のようなACアダプタは存在しないので、現実的にはこの手の小型D級アンプだと厳しそうだ。</p>
<p>昔のアンプで問題にならなかったのは、A級、B級アンプなら少々定格を超えても歪みが乗る程度で気にならなかったからなのだろう。</p>
<p style=" font-weight:bold;">くり返し: この件、どうやら<a href="https://www.ruimo.com/showArticle/1346">最終段の切り替え機に原因があったようです</a>。</p>
原因はアンプ切り替えの方だった模様。
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1346
2023-01-07T02:01:06Z
2023-01-07T02:01:06Z
<p><a href="https://www.ruimo.com/showArticle/1315">前回の記事の件</a>の続き。</p>
<p>そういえば最終段にアンプ切り替え機が入っていたなと。</p>
<a href="https://www.amazon.co.jp/dp/B01M5CXPI0">FX-AUDIO- PW-1</a></p>
<p>普段はD級アンプでお手軽に済ませつつ、たまには真空管のアンプでも聴きたいので切り替え機を入れていたのだった。</p>
<p>この切り替え機、スイッチに接触不良があり、一度交換してもらったけど、やっぱりダメ。仕方ないので改造してスイッチだけ取り替えたのだ。ただ、端子部分もかなりヤワな感じなので、もしかしてここが大出力になると接触不良になるのではと予想。そこでこの切り替え機を外してスピーカをダイレクトにアンプにつないでみた。</p>
<p>結果、ノイズが無くなったので、どうも端子の接触不良のよう。ちょっとAmazonで探してみたけど、あまり良さそうな切り替え機が見当たらないので、ここも自作しないとダメかな。</p>
冬休みの自由研究
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1283
2023-01-05T02:01:48Z
2023-01-05T02:01:48Z
<p>今回はMkDocsを使ってまとめてみた。</p>
<a href="https://ruimo.github.io/audioswitcher/">冬休みの自由研究</a>
昨年買って、割と良かったもの
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1282
2023-01-01T03:01:40Z
2023-01-01T03:01:40Z
<blockquote class="embedly-card"><h4><a href="https://www.amazon.co.jp/dp/B09JG5W7NR">WUBEN(ウーベン)</a></h4><p>Amazon.co.jp: WUBEN(ウーベン) : スポーツ&アウトドア</p></blockquote>
<p>自轉車用ライト(今は売切れになってしまっている模様)。これまでは電池内蔵のものを使っていたのだけど、だいたい2-3年で電池がダメになって丸ごと交換になり不経済なので電池交換できるものに変更。これを自轉車用のホルダーで固定している。18650電池なら電池もちも良く快適。</p>
<blockquote class="embedly-card"><h4><a href="https://www.amazon.co.jp/dp/B08VW9FP58">【Amazon.co.jp 限定】クモリ(Kumori) チェアマット クリア PVC 床保護マット 90X120cm 厚み2mm キズ防止 凹み防止 エンボス ゲーミングチェアマット 床暖房対応 滑り止め 冷蔵庫 フロアマット(90X120cm)</a></h4><p>【Amazon.co.jp 限定】クモリ(Kumori) チェアマット クリア PVC 床保護マット 90X120cm 厚み2mm キズ防止 凹み防止 エンボス ゲーミングチェアマット 床暖房対応 滑り止め 冷蔵庫 フロアマット(90X120cm)が床保護マット・チェアマットストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。</p></blockquote>
<p>イスのキャスターにワックスとホコリがまざったものがこびり付いて厄介だったので、これを敷いてみたら効果てきめん。キャスターの汚れが全然付かなくなった。</p>
<blockquote class="embedly-card"><h4><a href="https://www.amazon.co.jp/dp/B07NFXN4SS">MikroTik CRS309-1G-8S+IN</a></h4><p>The CRS309-1G-8S+ is a very compact, yet powerful networking switch. It has eight SFP+ slots, supporting up to 10 Gbit module in each, which results in a total switching capacity of 162 Gbps and total non-blocking throughput of 81 Gbps. The device also has dual-core 800 MHz CPU, 512 MB RAM, a man...</p></blockquote>
<p>10Gbpsのスイッチ。なんか値段が買った時の2倍以上になってしまっているので、買うなら別のところが良いかも。安定して動いている。ただ10GbpsはRJ-45は発熱がひどいので、SFP+を推奨。</p>
<blockquote class="embedly-card"><h4><a href="https://www.amazon.co.jp/dp/B08W8WBWR6?th=1">Atlas(アトラス)ボトル イン ボトル ハンドルタイプ シルバー ABIB-CSV ペットボトルホルダー 真空 断熱 構造</a></h4><p>Atlas(アトラス)ボトル イン ボトル ハンドルタイプ シルバー ABIB-CSV ペットボトルホルダー 真空 断熱 構造がホーム&キッチンストアでいつでもお買い得。当日お急ぎ便対象商品は、当日お届け可能です。アマゾン配送商品は、通常配送無料(一部除く)。</p></blockquote>
<p>発想の勝利。ペットボトルごと入れられるので、炭酸飲料などは炭酸が抜けない。洗わなくて良いので会社に置きっぱなしというのも良いかも。</p>
<blockquote class="embedly-card"><h4><a href="https://www.amazon.co.jp/dp/B09WLB9MZG?th=1">マウスリストレスト 手のひら手首サポートパッド 3次元表面デザイン 滑らかな滑り 柔らかい冷却素材 マウスで動くスライドリストパッド 軽量 コンパクト オフィス作業 ゲーム 右手専用 (ブラック)</a></h4><p>Amazon.co.jp: マウスリストレスト 手のひら手首サポートパッド 3次元表面デザイン 滑らかな滑り 柔らかい冷却素材 マウスで動くスライドリストパッド 軽量 コンパクト オフィス作業 ゲーム 右手専用 (ブラック) : パソコン・周辺機器</p></blockquote>
<p>最初は慣れなくて失敗かと思ったけど、慣れたらこれ無しだと手首が疲れてしまうように。</p>
<blockquote class="embedly-card"><h4><a href="https://www.amazon.co.jp/dp/B010PZZX74">KKHMF 3.3V 5V MB102ブレッドボード用 電源モジュール パワーモジュール [並行輸入品]</a></h4><p>特徴: MB102パンボード用 5V、3.3Vとの互換性 入力電圧:6.5-12V(DC)またはUSB電源 出力電圧:3.3V、5Vの切り替え可能 最大出力電流:700ミリアンペア これはブレッドボード電源モジュールは、3.3Vと5Vの出力電圧をサポートすることができ、MB102のブレッドボード用に設計された電源モジュールである。 このパワーモジュールのサイズは約です。 53ミリメートル、長、35ミリメートル、幅20ミリメートルの厚さである。 ブレッドボード用に設計された電源モジュール サポート3.3V、5V出力 B102ブレッドボードに適し パッケージが含まれます: 5 X 3.3V ...</p></blockquote>
<p>ブレッドボードに差して、USBもしくはACアダプタから5V or 3.3Vを供給できて便利。ただ機構上、逆に差すこともできてしまうので注意が必要。</p>
<blockquote class="embedly-card"><h4><a href="https://store.google.com/jp/product/nest_cam_battery?hl=ja">Google Nest Cam (屋内、屋外対応 / バッテリー式)</a></h4><p>スマートな機能を備えた、バッテリー式のセキュリティ カメラ。 Google Nest Cam は人、動物、車を判別でき、必要な通知だけが届くように設定できます。 Google Nest Cam はバッテリー式で、リビングルームから庭まで、必要な場所にどこでも設置できます。 何か起きたときは通知が届くので、Google Home アプリですぐに対応できます。 別売りの屋内用スタンドや防塵・防滴ケーブルなどの各種アクセサリを追加すれば、Google Nest Cam がさらに使いやすくなります。 Wi-Fi の停止や停電が発生した場合、Google Nest Cam が自動的にアクティビティの動画履歴を最長 1 時間分、ローカルメモリに保存します。Wi-Fi や電源が再稼働したら、その間に起きた出来事を確認できるようになります。また万一、カメラが何者かに無断で持ち去られてしまった場合は、無料で交換ができます。</p></blockquote>
<script async src="//cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script>
<p>思ったよりずっと便利。こんな風に自分の敷地を設定しておけば、そこに誰か入ってくるとたちどころにスマホに通知が来る。</p>
<img src="/getImage?id=1601" style="width: 300px;">
<p>ただカタログスペックでは電池が数か月もつと書いてあるが、1週間ももたない感じ。まぁモバイルバッテリーつなげば充電できるのでそれでしのいでいる。</p>
<blockquote class="embedly-card"><h4><a href="https://www.apple.com/jp/macbook-air-m2/">M2チップ搭載MacBook Air</a></h4><p>M2チップの驚異的なパワーを内蔵したMacBook Air。一日中使えるバッテリー、13.6インチのLiquid Retinaディスプレイ、1080p HDカメラを搭載。デザインも性能も一新しました。</p></blockquote>
<p>最近のIntel様のチップの消費電力がやばすぎるので、Apple Silicon。速い、軽い、熱くならないの三拍子。スリープしたまま1週間くらい放置しても7割くらいは電池が残っている。垂直統合の勝利。</p>
reveal.jsを使ったページをGitHub Pagesで公開すると、幾つかのファイルが404になる。
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1250
2022-09-13T09:09:09Z
2022-09-13T09:09:09Z
<p>基本的には、<a href="https://github.com/hakimel/reveal.js/">ここ</a>の内容をそのままGitHubに登録してpagesの設定をすれば良い。例えば<a href="https://qiita.com/budougumi0617/items/19b19019bbe01f86e251">「Reveal.js、Markdown、Githubでスライドを作成する。」</a>が良くまとまっている。だが1つ謎の事象が起きて悩んだ。</p>
<p>index.htmlの中に、直接markdownを書く時には良いのだが、以下のようにdata-markdown属性でmdファイルを指定すると、不可思議な動作をする。</p>
<pre>
<code>
<section data-markdown="./md/firstpage.md"
data-separator="\n---\n$"
data-vertical="\n--\n">
<script type="text/template">
</script>
</section>
</code>
</pre>
<p>最初にcommit/pushした時は表示されるものの、変更してcommit/pushしても変更が反映されなかったり、そもそもこのmdファイルが404エラーで見つからなかったりする。GitHub Pagesの不具合なのかなと諦めていたのだけど、ある推測が頭に浮かんだ。それは、index.htmlからリンクされているファイルしかGitHub Pages管理されないのではないかという推測だ。このmd/firstpage.mdファイルの指定はdata-タグなので、GitHub Pagesのパーサには認識されないのではないか。</p>
<p>そこで以下のようにダミーのaタグを入れてみた(もっと良いやり方があるのかも)。</p>
<pre>
<code>
<a style="display:none" href="./md/firstpage.md"></a>
</code>
</pre>
<p>これがビンゴ。ちゃんとmdファイルの更新が反映されるようになった。</p>
Clean Craftsmanship
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1218
2022-08-22T04:08:02Z
2022-08-22T04:08:02Z
<p>Clean Craftsmanshipをいただきました。いつものボブおじさんのClean XXXシリーズ。</p>
<p>ボブおじさんの書籍シリーズの良いところは、自分は以下のように見ている。</p>
<ul>
<li>前提知識が少なくても出来る限り理解できるように練られている。</li>
<li>高尚な話ではなく、現場叩き上げの話が中心。</li>
<li>なんとなく、これおかしいよなぁと薄々感じつつも、現場の空気で言えないようなことを、ズバっと言ってくれる(Clean Codeでの「コメントは害悪」など)。</li>
</ul>
</p>今回も個人的に面白かった部分を取り上げたい。</p>
<h1>第2章</h1>
<p>この章は基本的にTDDの実践をサンプルを使って詳しく記載している。基本的な部分から解説されているので、TDDについては初めてという初心者の人でも全く問題なく理解できるだろう。前提知識不要というのは素晴しい。</p>
<h2>「デバッガーが得意になることを目指すべきではない」</h2>
<p>テストコードを数行書き、エラーやテスト失敗をてがかりに本番コードを書く。というやり方を繰り返す中ではデバッガーの出番はほとんど無い。</p>
<p>そういえば会社に入った頃(30年くらい前)は、会社での開発のやり方がかなり違うことに驚いた記憶がある。ある先輩はひたすらコードを仕様書に従って組み上げた後、巨大なプログラムを動かし始めて、なかなか動かずに難解なバグに頭を悩ませていたのだ。その後、研修で「コーディング」と「テスト」は局面が別れているので、先輩のやり方が会社としては正しいのだと知った。</p>
<p>自分がそれまでにやっていた趣味のプログラミングでは、ちょっとだけコードを実装してみて、動かしてみて確認。Okならまた先に少しだけ前進。というのを繰り返していた。なにせ当時はC/C++なので慎重に進んでいかないと、メモリを破壊するデバッグ困難なバグで長時間足をとられてしまう。少しずつ進んでいかないと、根本的な設計ミスに気付いた時に大手術となってしまうので、自然とそういうやり方をとっていた。</p>
<p>TDDの普及によってようやくコーディングとテストは不可分なものになったわけだ。</p>
<h1>第3章</h1>
<p>TDD応用編だ。テストの時に使う「ニセモノ」。テストダブル。これにはフェイク、ダミー、スタブ、スパイ、モックがあるという解説。前はモックとスタブくらいしか無かった気がするけど、今はそんなにあるのね。</p>
<h2>スパイを使ったテストは壊れやすい</h2>
<p>sin()の計算をテイラー級数で求める時のテストをどうするか。sin()の引数は無限にあるので何をもって充足していると言えるか。そこで、テイラー級数の各項を教えてくれるクラスを抽出して、それをスパイに置き換えて様々な条件を与えてやれば、テイラー級数の計算ロジックが正しいことを検証できる。しかし計算方法をCORDICに変えると全てが無駄になってしまう。それがスパイの限界だ。テストの壊れにくさを追求すには、なるべく本番コードとの結合を弱める必要があるが、そうするとより詳細にテストを行うことが困難になる。これはトレードオフなのだ。</p>
<p>ここでふと思ったのだけど、このあたりのテストダブルを自分は最近全然使っていないなと。全く使っていないわけではないが非常に限られたケースでしか使っていないように思う。なぜなのか考えてみたが、まずE2Eテストの方が主でUnitテストはE2Eでカバーできないところだけ補足的やる感じのスタイルになったので、こうした仕組みの重要性が薄れた。E2Eテストなら、内部の実装を変えても外部からみた振舞いが変わっていなければテストは壊れない。</p>
<p>ScalaやRustを使う機会が増えてきて、なんでもかんでもOOで書くというのがなくなったので、テストダブルがあまりうまくはまらないというのもあるかもしれない。基本は関数を渡すように設計するので、テスト用の関数をテストの時に渡すやり方でテストしている。</p>
<p>本書の方針はコンポーネントの境界を越えないならテストダブルを使っても良い。そうでなければなるべく使わないだ。これまで感じていた「なんかテストダブルって分かりにくいし嫌だな」という感覚が明快に言語化されていて良い。</p>
<h1>第4章</h1>
<h2>「GUIをテストするな」</h2>
<p>これはSeneniumのようなツールによるテストを否定しているのではなく「GUIでレンダリングされた見た目が正しいことをテストするな」ということだ。見た目は、頻繁に変わるのであっという間にテストが壊れて作り直しの繰り返しになる。まぁこれは昔から言われているやつ。</p>
<p>GUIの領域は設計によってかなり小さくできるので、それを目指せば大きな問題ならないとのこと。</p>
<p>ただ典型的なWebアプリはともかく、インタラクティブ性の高いGUIアプリはそうもいかないのではないかなぁ。自分はドロー系のアプリを作るのが好きで趣味で良く作ったりするが、例えばオブジェクトを複数選択してドラッグして移動するとか、ドラッグ中に画面の端までいったら自動的にスクロールするとか、そういう部分はGUIと切り離してテストするのは困難だし、良いテストツールも無いのが現状だと思う。</p>
<h2>「XXXクラスにXXXTestクラスを用意するというやり方をやめる」</h2>
<p>TDDの初期の頃の解説にあったXXXクラスにXXXTestクラスを用意するやり方は間違いだったと認めている。これはテストと本番コードとの結合度を高め、構造の改善をしようとすると大量のテストが失敗してしまう。本書ではレンタルビデオの例を使い、あるビジネスケースを実行するテストを紹介する。1ビジネスケースはCustomerとかRentalやVideoRegistryなど複数の協調で実現されるが、これらのクラスを個別にテストするのではなく「ビデオxxxを顧客yyyがレンタルする」というビジネスケースでテストをする。</p>
<p>今はWebアプリもSPAで、サーバサイドはAPIサーバになっているので、このAPI単位でテストを書くのが妥当なのかもしれない。APIは一旦公開したら勝手に変更できないから、そこにテストが依存しても将来壊れるリスクは小さいだろう。自分が数年前からE2Eテスト重視に転向したのもこれが理由だ。</p>
<h2>git reset --hardは友達</h2>
<p>リファクタリングを始めてみて行き詰まったらすっぱとあきらめて元に戻そう。</p>
<p>まったくその通りだ(笑)。</p>
<h1>第6章</h1>
<h2>YAGNI</h2>
<p>フックは悪との解説。</p>
<p>自分が会社に入った当時はUser Exitと呼ばれていた。この仕組み、当時はなるほどと思ったものの、これをうまく活用するのは想像以上に難しい。User Exitに書いたものが本体コードにどういう影響を与えるのか分からないので、試行錯誤でうまい具合に動く「局所解」を探す旅になるのだ。何より当時は本体側のソースコードが開示されていないので文字通り手探りだった。本体コードを開発する側も、ユーザ側がどんなUser Exitを書くか事前に全てを想像できるわけではないので無理筋な仕組みだろう。でも今も「プラグイン」というのは残っているよね... とも思うが。</p>
<h1>第7章以降</h1>
<p>基本的に読み物として楽しめば良いように思う。ボブおじさんの経験談にもとづいた教訓の膨大な集積場だ。</p>
ニューカマー
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1187
2022-06-05T05:06:13Z
2022-06-05T05:06:13Z
<p>
手が凄く太いので大きくなりそう。</p>
<img src="/getImage?id=1569">
ソースコードを変更すると、cargo runで毎回ライブラリのビルドが走ってしまう。
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1155
2022-04-24T05:04:59Z
2022-04-24T05:04:59Z
<p>ソースコードを変更すると、cargo runで毎回ライブラリのビルドが走ってしまうようになった。起きる環境はLinuxで、同じソースコードをMac(Intel)に持っていっても再現しない。
色々調べていると、ソースコードを変更すると自動的に裏でrustcが走っていることがpsで確認できた。</p>
<p>どうやらRustのLanguage ServerがVS Codeのpluginであるrust-analyzerで自動インストールされ、これが裏で自動的にソースコードの変更を検出してビルドを実行するようだ。Emacs用のlsp関係のパッケージを入れていても同じ事が起きる。</p>
<p>
<p>雑にググると、.cargo/config の中にtargetディレクトリを指定しろというのが出てくるが、これはvs codeでもcargoの直接起動でも効くので意味がない。そりゃそうだ。vs codeの時だけtargetディレクトリを変更したいのだ。.vscode/launch.json にenvで指定せよというのが見つかったのでやってみたが、効かなかった。</p>
<p>仕方ないのでcargoを直接起動する時用のラッパを作って逃げることにした。</p>
<code>
<pre>
#!/bin/sh
CARGO_TARGET_DIR=cargo-target cargo $*
</pre>
</code>
<p>これを使って、cargo runのかわりに、./c runとする。少々面倒だが仕方無い。</p>
桜
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1154
2022-03-27T07:03:36Z
2022-03-27T07:03:36Z
<p>曇りがちで風も強かったけど、近所の公園へ。</p>
<p><a href="/getImage?id=1540"><img src="/getImage?id=1549"></a></p>
<p><a href="/getImage?id=1542"><img src="/getImage?id=1550"></a></p>
<p><a href="/getImage?id=1541"><img src="/getImage?id=1551"></a></p>
<p><a href="/getImage?id=1546"><img src="/getImage?id=1552"></a></p>
<p><a href="/getImage?id=1548"><img src="/getImage?id=1543"></a></p>
<p><a href="/getImage?id=1547"><img src="/getImage?id=1545"></a></p>
雪晃の花
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1122
2022-03-23T09:03:41Z
2022-03-23T09:03:41Z
<p>去年は咲かなかったけど、今年は無事咲いた。</p>
<a href="/getImage?id=1505"><img src="/getImage?id=1506"></a>
池上梅園
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1090
2022-02-23T08:02:04Z
2022-02-23T08:02:04Z
<p><a href="/getImage?id=1464">
<img src="/getImage?id=1463"></a></p>
<p><a href="/getImage?id=1462">
<img src="/getImage?id=1466"></a></p>
<p><a href="/getImage?id=1465">
<img src="/getImage?id=1461"></a></p>
<p><a href="/getImage?id=1460">
<img src="/getImage?id=1467"></a></p>
<p><a href="/getImage?id=1458">
<img src="/getImage?id=1459"></a></p>
<p><a href="/getImage?id=1469">
<img src="/getImage?id=1468"></a></p>
<p>今年の開花は遅いみたい。三分咲きという感じ。</p>
<p><a href="/getImage?id=1471">
<img src="/getImage?id=1470"></a></p>
<p><a href="/getImage?id=1473">
<img src="/getImage?id=1472"></a></p>
<p><a href="/getImage?id=1475">
<img src="/getImage?id=1474"></a></p>
<p><a href="/getImage?id=1477">
<img src="/getImage?id=1476"></a></p>
<p><a href="/getImage?id=1479">
<img src="/getImage?id=1478"></a></p>
<p><a href="/getImage?id=1483">
<img src="/getImage?id=1481"></a></p>
<p><a href="/getImage?id=1482">
<img src="/getImage?id=1480"></a></p>
私用のPCでもWindowsが必要になりそうなので、Windows10を導入。
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=1058
2021-10-09T04:10:31Z
2021-10-09T04:10:31Z
<p>USBメモリにISO焼いて起動しても途中でエラー。Windows10はDVD-DLに焼かないとダメなのね。多分USBのドライバが入ってないのだと思う。</p>
<p>普段はXubuntuなのでWindowsは別のドライブに導入してマザーのブートメニューで切り替え。しばらく大丈夫だったのが突然Xubuntu側が起動できずBusyboxが上がるだけに。GRUBかMBRが壊れたのかなとUbuntuのDVDで起動してfdisk -lするとNVMeドライブがいない! SSDが突然死かと思って外してUSBアダプタに付けて確認すると問題無し。まさかマザーのNVMeが死んだのかな、ちょっと考えにくいなとUEFIのメニューを確認したら、NVMeのストレージモードがAHCIからIntel Optaneに変更されていた。なんだこれと思ってAHCIに戻したら普及。</p>
<p>当然Windowsの方は起動しなくなってしまったので再インストール。マザーのチップセットドライバを入れ直していて気付いた。チップセットドライバの中にIntelのストレージドライバがあるのだけど、これが脳天気に「AHCIなんてやめてOptane入れちゃいなよ」とサジェストしてくるのだった。最初の時は何も考えずにそもまインストールしたので、Optaneモードに変更されてしまったのだな。</p>
<p>確かWindows8の時にキャンペーン的なのがあって、手持ちのXPのライセンスをWindows8に格安でアップグレードしたんだけど、当時はどうもライセンス回りの処理がいまいちだったようで、何度かライセンス・エラーになって面倒になって放置していた。今回は、そのライセンスとWindows10のISOで導入してみたのだけど、最初にMicrosoftアカウントでログインするだけで自動的にライセンスが有効になっていたので改善されたのだろう。</p>
桜
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=996
2021-03-27T05:03:08Z
2021-03-27T05:03:08Z
近所の公園を散歩。
宴会禁止になっていたので静かで良かった。
<img src="/getImage?id=1421"><br>
<img src="/getImage?id=1420"><br>
<img src="/getImage?id=1419"><br>
<img src="/getImage?id=1418"><br>
<img src="/getImage?id=1417"><br>
<img src="/getImage?id=1416"><br>
<img src="/getImage?id=1415">
池上梅園
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=995
2021-02-06T09:02:37Z
2021-02-06T09:02:37Z
<p>三分咲きといったところ。</p>
<img src="/getImage?id=1409">
<img src="/getImage?id=1413">
<img src="/getImage?id=1410">
<img src="/getImage?id=1412">
<img src="/getImage?id=1414">
<img src="/getImage?id=1411">
プログラミング言語Rust公式ガイド
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=962
2020-03-04T09:03:21Z
2020-03-04T09:03:21Z
<p><a href="https://www.amazon.co.jp/dp/4048930702">「プログラミング言語Rust公式ガイド」</a>を大分前に送って戴いていたのを、ようやく読んだ。</p>
<p>Rustは、個人的にかなり気に入った言語で、早く組込み開発で普通に使えるようにならないかなと思っている。<a href="https://doc.rust-jp.rs/book/second-edition/">Rustの公式のガイド</a>がとても良く出来ており、おそらく多くの人がここをとっかかりに始めているのではないかと思う。本書は、このガイドを読んだ人、読んでいない人のどちらにも勧められる良書だ。ただ中盤以降の翻訳は一部こなれていない箇所もあり、意味が良く分からない時のために原書もあると良いと思う。</p>
<p>2章 Shadowing。Rustでは同じ名前の変数を複数回宣言できて、それにより前の変数はShadowされる(見えなくなる)。他の言語では、ほとんどが二重宣言のエラーになるところだ。便利かもしれないが個人的にはRustの言語仕様の中で、ほぼ唯一疑問を感じるところ。まぁ関数のサイズが小さければ問題ないのかもしれない。</p>
<p>2章 Result型。他の多くの言語が例外を使うのに対し、Rustは正常時と異常時との2つの型を持てるいわゆるEither型を使用する。ユーザのコードがResult型の結果を受けて何もしていないとコンパイラが警告を出してエラー処理を忘れていないかと忠告してくれる。</p>
<p>3章 Rustのセミコロンの扱いは、他の言語(行末のセミコロンを省略しても良いという仕様)から来た人をとまどわせることが多いと思う。値を返したい場合にはセミコロンを書いてはいけないし、文の間は基本はセミコロンで区切らないといけない。</p>
<p>4章 Rustで特徴的なのが所有権の管理。</p>
<pre class="code">
let s1 = String::from("Hello");
let s2 = s1;
</pre>
<p>最後の文でs1からs2に文字列の所有権が移転されて、この後はs1が使用できなくなってしまう。これにより二重解放のバグが回避される。</p>
<p>4章 そしてもう1つ象徴的なのが参照の管理。例えばJavaとかScalaでは型によりImmutableかどうかが決定される(Javaはまぁ、Collections.unmodifiableXXX()みたいな型だけじゃ判別できない辛いやつもあるけど)。String型ならImmutableだし、StringBuilderならMutableだ。Rustはここの考え方が根本的に異なり、最初に見た時は衝撃を受けた。コードのあらゆるポイントで以下が満たされていることをコンパイラがチェックしてくれる。</p>
<ol>
<li>Immutableな参照(&)だけであれば、同時に幾つでも生成できる。</li>
<li>1つでもMmutablな参照(&mut)があれば、これ以外に別のMutableな参照もImmutableな参照も同時に存在できない。</li>
</ol>
<p>この条件を満たしさえすれば、何もImmutableなデータのみに拘泥してロジック組まなくてもいいよね、という考え方なのだ。そしてスレッド安全性もコンパイラがチェックできてしまう。</p>
<p>8章 Rustはデフォルトはmoveセマンティクスなので、コレクションにデータを格納すると、所有権が移転されてコレクション側に移る。このあたりも他の言語から来た人を、かなり驚かせる点だろうと思う。</p>
<p>10章 そしてライフタイム。Rustでは、ライフタイム(そのデータがどこまで有効であるか)を指定するのにジェネリクスの記法を用いる。おそらくRustで最初につまずくポイントがここだろう。</p>
<p>13章 Rustではクロージャを利用できる。ただクロージャは環境にアクセスできるので、その環境からキャプチャした変数の扱いにも所有権が絡んでくる。そのためクロージャにも3つの型があり、FnOnceは環境から所有権を奪い、FnMutは可変借用をし、Fnは不変借用をする。</p>
<p>17章 代表的なGoFデザインパターンをRustで実装してみる試みがおもしろい。</p>
<p>19章 関連型。Iteratorは要素の型を型パラメータではなく、関連型で指定する。</p>
<pre class="code">
pub trait Iterator {
type Item;
}
</pre>
<p>Scalaでも抽象型宣言という同じ機能があるのだが、型パラメータを使うのと比べて何が違うのかが良く分からなかった。本書は関連型を使うと何が嬉しいのかが具体的に解説されている。本書の良い点は随所でこのように「なぜそうなっているのか、何が嬉しいのか」かがきちんと説明されている点だ。</p>
<p>以上、個人的に特に面白いなと感じた点を、つまみ食い的に紹介してきたが、本書の内容は網羅的であり、これ1冊理解すればRustの大部分を理解できると思う。</p>
<p>Rustの魅力は、上にも書いたように低レベルの処理をマルチ・スレッド処理も含めて安全に書けることに加え、しがらみが無いため単純で美しい点、エラーメッセージが懇切丁寧である点、また単体テストやビルドツールが標準で用意されている点などが挙げられると思う。最近は採用されるケースも良く聞くようになってきたので、今後ますますの普及に期待したい。</p>
札幌小観光
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=935
2019-06-12T11:06:28Z
2019-06-12T11:06:28Z
<p>羽田空港でちょっと遊ぶ。</p>
<p><img src="/getImage?id=1362"></p>
<p>テレビ塔。</p>
<p><img src="/getImage?id=1366"></p>
大通り公園が一望できる。</p>
<p><img src="/getImage?id=1363"></p>
<p>空港近くの支笏湖へ。</p>
<p><img src="/getImage?id=1365"></p>
<p>小径を登っていくと...</p>
<p><img src="/getImage?id=1367"></p>
<p>小さな展望台。</p>
<p><img src="/getImage?id=1364"></p>
<p>支笏湖は、山手線と同じ面積があるのだそう。スケールが違う...</p>
武蔵嵐山
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=934
2019-05-26T07:05:05Z
2019-05-26T07:05:05Z
<p>某ゲームのイベントで武蔵嵐山に行ってきた。</p>
<p><img src="/getImage?id=1358"></p>
<p><img src="/getImage?id=1359"></p>
<p><img src="/getImage?id=1356"></p>
<p>ラベンダーにはちょっと早かった。</p>
<p><img src="/getImage?id=1357"></p>
<p><img src="/getImage?id=1355"></p>
<p><img src="/getImage?id=1360"></p>
<p><img src="/getImage?id=1361"></p>
ベートーヴェン ピアノ・ソナタ 第29番 第4楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=933
2019-04-28T12:04:09Z
2019-04-28T12:04:09Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>最終楽章は長大なフーガ。最初に長い序奏が付いている。</p>
<p><img src="/getImage?id=1344"></p>
<p>フーガは調性が薄く、力強く進んでいく。</p>
<p><img src="/getImage?id=1343"></p>
<p>印象的なカンタービレが置かれている。弱音器の指定があるだけで、強弱の指定が一切無く演奏者に任されている。最後は消えいるように終わってフーガに戻る。</p>
<p><img src="/getImage?id=1342"></p>
<p>最後はffの力強い和音で終わる。</p>
<p><img src="/getImage?id=1345"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-29-in-b-flat-major-op-106-hammerklavier/1210861834?i=1210862348&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ 第29番 第3楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=932
2019-04-21T08:04:07Z
2019-04-21T08:04:07Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>第3楽章は長大な緩徐楽章。最初のテーマは非常に長く、苦難に満ちた独白のようだ。</p>
<p><img src="/getImage?id=1334"></p>
<p>天から一筋の光が降りてくるかのようなテーマ。</p>
<p><img src="/getImage?id=1331"></p>
<p>長い階段を登っていくかのよう。</p>
<p><img src="/getImage?id=1333"></p>
<p>永遠に続く美しいもの、幸福、しかし手は届かない。</p>
<p><img src="/getImage?id=1336"></p>
<p>出口の見えない霞の中、あるいは深海のよう。</p>
<p><img src="/getImage?id=1332"></p>
<p>抗い続けるが、</p>
<p><img src="/getImage?id=1335"></p>
<p>不気味な影が近づく。</p>
<p><img src="/getImage?id=1337"></p>
<p>苦難が続く。</p>
<p><img src="/getImage?id=1338"></p>
<p>どれほど抗っても救われない。</p>
<p><img src="/getImage?id=1341"></p>
<p>あきらめのテーマが曲の終わりを告げる。</p>
<p><img src="/getImage?id=1339"></p>
<p>最後は長調ながらも、あきらめを感じさせるpppで終わる。</p>
<p><img src="/getImage?id=1340"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-29-in-b-flat-major-op-106-hammerklavier/1210861834?i=1210862338&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ 第29番 第2楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=931
2019-04-14T05:04:08Z
2019-04-14T05:04:08Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>第29番は4楽章構成で、第2楽章にはスケルツォが配されている。</p>
<p><img src="/getImage?id=1329"></p>
<p>2つ目のテーマは、メロディなのかどうか分からないあやふやなもの。</p>
<p><img src="/getImage?id=1330"></p>
<p>突如Prestoになって流れが中断される。</p>
<p><img src="/getImage?id=1326"></p>
<p>最初のテーマが帰ってくる。</p>
<p><img src="/getImage?id=1327"></p>
<p>そして最後にもPrestoで流れが中断され、なんともスケルツォらしい。</p>
<p><img src="/getImage?id=1328"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-29-in-b-flat-major-op-106-hammerklavier/1210861834?i=1210862314&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ 第29番 第1楽章 'ハンマー・クラフィール'
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=930
2019-04-07T08:04:16Z
2019-04-07T08:04:16Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>新しい音域の広くなったピアノを手に入れて意気込んで作曲したと言われている。</p>
<p>ピアノ・ソナタとしては破格の規模の大きさ。第1楽章は壮大な高くそびえる和音で始まる。</p>
<p><img src="/getImage?id=1316"></p>
<p>続くテーマは対照的に優しく滑らかなもの。</p>
<p style="display: inline-block"><img src="/getImage?id=1314"><img src="/getImage?id=1318"></p>
<p>初期のソナタに似ていて、次々と新しいテーマが登場する。</p>
<p><img src="/getImage?id=1317"></p>
<p style="display: inline-block"><img src="/getImage?id=1313"><img src="/getImage?id=1319"></p>
<p>提示部最後のテーマ。</p>
<p><img src="/getImage?id=1320"></p>
<p>展開部は、提示部最後のテーマで始まる。</p>
<p><img src="/getImage?id=1322"></p>
<p>その後は、最初のテーマがカノン風に展開される。</p>
<p style="display: inline-block"><img src="/getImage?id=1321"> <img src="/getImage?id=1323"></p>
<p>再現部。</p>
<p><img src="/getImage?id=1324"></p>
<p>最後は最初のテーマが繰り返されながらpppになった後に、ffの和音で終わる。</p>
<p><img src="/getImage?id=1325"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-29-in-b-flat-major-op-106-hammerklavier/1210861834?i=1210862289&app=music" height="150" frameborder="0"></iframe>
ベートーヴェン ピアノ・ソナタ第28番第3楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=898
2019-03-31T10:03:07Z
2019-03-31T10:03:07Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>第3楽章は序奏の後に第一楽章のテーマが再度奏された後に多声が多用される充実のソナタが続く。</p>
<p>序奏は夕暮れを思わせるかのようなおだやかなテーマで始まる。</p>
<p><img src="/getImage?id=1285"></p>
<p>最初のテーマに変化が与えられる。</p>
<p><img src="/getImage?id=1281"></p>
<p>第一楽章のテーマが再度奏される。</p>
<p><img src="/getImage?id=1282"></p>
<p>トリルをはさんで、1つ目のテーマ。</p>
<p><img src="/getImage?id=1284"></p>
<p>もう1つのテーマ。</p>
<p><img src="/getImage?id=1289"></p>
<p>1つ目のテーマの変形。</p>
<p><img src="/getImage?id=1286"></p>
<p>2つ目のテーマの変形。</p>
<p><img src="/getImage?id=1283"></p>
<p>2つ目のテーマの変形。</p>
<p><img src="/getImage?id=1287"></p>
<p>ここで一息。</p>
<p><img src="/getImage?id=1288"></p>
<p>展開部に入るまでにも既にテーマが様々に展開されてきているが、展開部に入ってからは更に多声を駆使した充実ぶり。</p>
<p><img src="/getImage?id=1292"></p>
<p>最初のテーマがカノン風に展開される。</p>
<p><img src="/getImage?id=1291"></p>
<p>再現部。</p>
<p><img src="/getImage?id=1290"></p>
<p>最後はトリルの上に2つ目のテーマが静かに奏される。</p>
<p><img src="/getImage?id=1293"></p>
<p>最後はなかば唐突な和音がffで奏されて終わる。</p>
<p><img src="/getImage?id=1294"></p>
<p>楽譜に引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-28-in-major-op-101-iii-langsam-und/1210861834?i=1210862227&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ 第28番 第2楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=866
2019-03-24T09:03:31Z
2019-03-24T09:03:31Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>後期ソナタの特徴の1つが第2楽章だ。緩徐楽章は姿を消し、力強い楽章が配置されている。</p>
<p><img src="/getImage?id=1249"></p>
<p>符点のリズムが特徴的。</p>
<p><img src="/getImage?id=1252"></p>
<p>印象的なカノンが配置されている。</p>
<p><img src="/getImage?id=1250"></p>
<p>推移部を伴って最初に戻る。</p>
<p><img src="/getImage?id=1251"></p>
<p>楽譜の引用はヘンレ版</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-28-in-major-op-101-ii-lebhaft-marschm%C3%A4%C3%9Fig/1210861834?i=1210862194&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ第28番 第1楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=834
2019-03-17T05:03:57Z
2019-03-17T05:03:57Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>第28番は落ち着いたテーマで構成される小さなソナタ。</p>
<p><img src="/getImage?id=1217"></p>
<p>この曲では、特徴的なスラーのかかった音型が登場する。</p>
<p><img src="/getImage?id=1218"></p>
<p>展開部は小規模で、再現部も分かりにくく、幻想的な雰囲気に包まれる。</p>
<p><img src="/getImage?id=1219"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-28-in-major-op-101-i-etwas-lebhaft/1210861834?i=1210862134&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ第27番 第2楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=806
2019-03-10T07:03:24Z
2019-03-10T07:03:24Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>第2楽章は、優しい旋律に囲まれた夢見るような楽章。それでいて、どこか寂しい雰囲気がただよう。</p>
<p><img src="/getImage?id=1190"></p>
<p>全体に流れるような雰囲気で、優しい風が吹いているかのよう。</p>
<p><img src="/getImage?id=1185"></p>
<p>何かを問いかけているのか、あるいは試行錯誤しているかのようだ。</p>
<p><img src="/getImage?id=1188"></p>
<p>眩しい光の中を進んでいくかのよう。</p>
<p><img src="/getImage?id=1189"></p>
<p>ゆっくりと歩いていくかのような旋律。</p>
<p><img src="/getImage?id=1186"></p>
<p>後半、ここで流れは止まり、色彩が消えていくが、またすぐに最初のテーマが帰ってくる。</p>
<p><img src="/getImage?id=1191"></p>
<p>最後に新しい流れるような旋律が現れて、かわいらしく終わる。</p>
<p><img src="/getImage?id=1193"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-27-in-e-minor-op-90-ii-nicht-zu-geschwind/947851407?i=947851426&app=music"></iframe>
ベートーベン ピアノ・ソナタ 第27番 第1楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=805
2019-03-03T08:03:31Z
2019-03-03T08:03:31Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>第27番も2楽章しかない小規模なソナタ。最初のテーマは葛藤なのか覚悟なのか。</p>
<p><img src="/getImage?id=1178"></p>
<p>2つ目のテーマは、1つ目に呼応するかのような静かなもの。</p>
<p><img src="/getImage?id=1180"></p>
<p>次第にテンポが上がって行き、嘆きを表現するかのような和音が連打される。</p>
<p><img src="/getImage?id=1182"></p>
<p>この楽章は10度が頻出する。左手の10度跳躍の上に、右手はテーマになり切れない音型が繰り返される。空虚な心情を表すかのようだ。</p>
<p><img src="/getImage?id=1181"></p>
<p>右手の速いとりとめもない動きの上で、左手で2つ目のテーマが奏される。</p>
<p><img src="/getImage?id=1179"></p>
<p>再度最初のテーマに戻る。</p>
<p style="display:inline-block;"><img src="/getImage?id=1177"><img src="/getImage?id=1183"></p>
<p>最後は2つ目のテーマがppで繰り返されて静かに終わる。</p>
<p><img src="/getImage?id=1184"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-27-in-e-minor-op-90-i-mit-lebhaftigkeit/947851407?i=947851425&app=music"></iframe>
ベートーベン ピアノ・ソナタ 第26番 第2、3楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=804
2019-02-24T12:02:02Z
2019-02-24T12:02:02Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>第2楽章は「不在」。形式は複合2部形式。寂しげな憂鬱なテーマで始まる。</p>
<p><img src="/getImage?id=1169"></p>
<p>2つ目のテーマは、昔の思い出を懐しむかのような明いもの。</p>
<p><img src="/getImage?id=1165"></p>
<p>この2つのテーマが繰替えされた後、休み無しで第3楽章に入る。</p>
<p>第3楽章は「再会」。最初に序奏があり、再会の喜びが表現される。</p>
<p><img src="/getImage?id=1166"></p>
<p>最初のテーマは、やはり懐しむかのような。透き通ったもの。</p>
<p><img src="/getImage?id=1167"></p>
<p>初期の作品に見られたような、色々なテーマのパレードが始まって、再会の喜びが表現される。。</p>
<p style="display:inline-block;"><img src="/getImage?id=1164"><img src="/getImage?id=1168"></p>
<p><img src="/getImage?id=1172"></p>
<p><img src="/getImage?id=1174"></p>
<p>展開部。展開部は最初のテーマの展開で始まることが多いが、新しいもので始まる。</p>
<p><img src="/getImage?id=1176"></p>
<p><img src="/getImage?id=1171"></p>
<p>すぐに再現部となる。</p>
<p><img src="/getImage?id=1173"></p>
<p>最後に、アンダンテとなって、しんみりとした場面となる。</p>
<p><img src="/getImage?id=1170"></p>
<p>自分の家に帰ってきて、今日1日の思い出を噛み締めているかのようだ。</p>
<p><img src="/getImage?id=1175"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-26-in-e-flat-major-op-81a-les-adieux/947851407?i=947851424&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ 第26番 第1楽章 「告別」
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=803
2019-02-17T08:02:41Z
2019-02-17T08:02:41Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>ルドルフ大公との告別と再会をテーマにしたと言われる。曲はソナタ形式だが、最初に序奏が置かれ、最初の3音にLebewohlと書かれている。</p>
<p><img src="/getImage?id=1160"></p>
<p>アレグロで2つ目のテーマが奏される。</p>
<p><img src="/getImage?id=1158"></p>
<p>この部分はトリルが繰り返され、心の揺れ動きを表しているかのようだ。</p>
<p><img src="/getImage?id=1156"></p>
<p><img src="/getImage?id=1159"></p>
<p>展開部。</p>
<p style="display:inline-block;"><img src="/getImage?id=1155"><img src="/getImage?id=1157"></p>
<p>2つ目のテーマが左手で繰り返されるものの、あまり大きな展開は見られない。</p>
<p><img src="/getImage?id=1161"></p>
<p>再現部。</p>
<p><img src="/getImage?id=1163"></p>
<p>再現が一通り終わったあと、最初のテーマが右手と左手とで交互に奏され、2人で離れていきながら、手を振って別れを惜しんでいるかのようだ。</p>
<p><img src="/getImage?id=1162"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-26-in-e-flat-major-op-81a-les-adieux/947851407?i=947851423&app=music" height="150" frameborder="0"></iframe>
ベートーヴェン ピアノ・ソナタ 第25番 第3楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=802
2019-02-11T07:02:55Z
2019-02-11T07:02:55Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>複合三部形式。なんとも陽気な民謡のようなテーマを用いた短い楽章。</p>
<p><img src="/getImage?id=1153"></p>
<p>踊っているかのような、あるいはおどけているかのようなテーマ。最初のテーマと、このテーマが曲全体で使われる。</p>
<p><img src="/getImage?id=1154"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-25-in-g-major-op-79-iii-vivace/947851407?i=947851422&app=music" height="150" frameborder="0"></iframe>
ベートーヴェン ピアノ・ソナタ 第25番 第2楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=774
2019-02-03T06:02:42Z
2019-02-03T06:02:42Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>三部形式。長い階段を登っていくかのような、あるいは人生の苦悩をつづるかのようなテーマで始まる。</p>
<p><img src="/getImage?id=1127"></p>
<p>中間部は左手で流れるような16分音符が奏され、夢の中のような、あるいは暖かな風が吹いているかのような場面となる。</p>
<p><img src="/getImage?id=1128"></p>
<p>最初のテーマが繰り返される。</p>
<p><img src="/getImage?id=1129"></p>
<p>最初のテーマが右手に現れつつ、左手には中間部の流れる音型が組み合わされるという興味深い展開が現れて終わる。</p>
<p><img src="/getImage?id=1130"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-25-in-g-major-op-79-ii-andante/947851407?i=947851421&app=music" height="150" frameborder="0"></iframe>
ベートーヴェン ピアノ・ソナタ 第25番 第1楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=773
2019-01-27T08:01:06Z
2019-01-27T08:01:06Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>ここに来て、第2楽章に緩徐楽章を配置する3楽章制の古典的なソナタに回帰する。</p>
<p>第1楽章は主題の音型から「かっこう」と呼ばれることがある。</p>
<p><img src="/getImage?id=1121"></p>
<p>第1楽章は全体に明るいテーマで構成される。</p>
<p><img src="/getImage?id=1123"></p>
<p>展開部は転調するが長調のまま。
<p><img src="/getImage?id=1120"></p>
<p>かっこうのテーマが展開される。</p>
<p><img src="/getImage?id=1119"></p>
<p>転調を織り交ぜるが、大きな発展は無くかっこうのテーマが繰り返される。</p>
<p><img src="/getImage?id=1122"></p>
<p>再現部。</p>
<p sryle="display: inline-block;">
<img src="/getImage?id=1118">
<img src="/getImage?id=1125">
</p>
<p>展開部と再現部は繰り返しとなっている。</p>
<p>再現部の後に終わりを告げるパートがあり、左手で最初のテーマが奏される。</p>
<p sryle="display: inline-block;">
<p><img src="/getImage?id=1124"><img src="/getImage?id=1126">
</p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-25-in-g-major-op-79-i-presto-alla-tedesca/947851407?i=947851420&app=music" height="150" frameborder="0"></iframe>
ベートーヴェン ピアノ・ソナタ 第24番 第2楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=772
2019-01-20T07:01:41Z
2019-01-20T07:01:41Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>第12番の終楽章、第22番の終楽章と、このような調性の薄い高速な楽章がたまに現れる。</p>
<p>1つ目のテーマは、符点を主体としたもの。</p>
<p><img src="/getImage?id=1115"></p>
<p>もう1つは、16分音符2つがスラーでつながった音型。この2つが自由に展開される。</p>
<p><img src="/getImage?id=1117"></p>
<p>この音型が曲全体で繰り返し使用される。</p>
<p><img src="/getImage?id=1116"></p>
<p><img src="/getImage?id=1114"></p>
<p>曲は自由な構成だが、この音型が何度も使用されるため、不思議なまとまりを感じさせる。</p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-24-in-f-sharp-major-op-78-ii-allegro-vivace/961808697?i=961809076&app=music"></iframe>
OCRの自由研究、その2
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=771
2019-01-19T09:01:40Z
2019-01-19T09:01:40Z
<p><a href="/showArticle/739">前回の「冬休みの自由研究でOCRを作ってみた」</a>では、最後の認識にMNISTを学習データとして使ったので、あまり精度が良くなかった。そこで、認識の部分にOSSのOCRである<a href="https://github.com/tesseract-ocr/tesseract">tesseract</a>を使用することで、再度検証してみることにした。tesseractには、-psmというパラメータで認識方法を指定できる。</p>
<pre>
<code>
Page segmentation modes:
0 Orientation and script detection (OSD) only.
1 Automatic page segmentation with OSD.
2 Automatic page segmentation, but no OSD, or OCR.
3 Fully automatic page segmentation, but no OSD. (Default)
4 Assume a single column of text of variable sizes.
5 Assume a single uniform block of vertically aligned text.
6 Assume a single uniform block of text.
7 Treat the image as a single text line.
8 Treat the image as a single word.
9 Treat the image as a single word in a circle.
10 Treat the image as a single character.
</code>
</pre>
<p>10を指定すれば、1つの文字として認識を行うことができる。もちろん、tesseractがあるなら、そのままOCRとして使えばいいわけで実用性あるの? という話になるが、tesseractは、特定の苦手なシーンがあり、今回の方法でそれが克服できないかを検証することが目的だ。合わせて、手軽に使えるOCRの中では個人的には一番精度が高いと評価している、Google Cloud Visionとの比較もしてみることにする。Google Cloud Visionは、<a href="https://cloud.google.com/vision/?hl=ja">このサイト</a>で簡単に試してみることが可能だ。</p>
<p>今回は、こういう画像を使用。tesseractは二値化されていないと精度が著しく落ちるので、予め二値化してある。</p>
<p><img src="/getImage?id=1098"></p>
<p>Google Cloud Vision使ってみると、きちんと認識されている。さすがだ。</p>
<p><img src="/getImage?id=1112"></p>
<p>今回のOCRは数字が等幅フォントで1行で書かれたものを処理対象とするため、ここから切り出してから処理する。</p>
<p><img src="/getImage?id=1099"></p>
<p>まずは、普通に切り出したものを処理してみる。tesseractというオプション指定を追加して、分解した文字をtesseract -psm 10で1文字ずつ認識するようにしてみた。</p>
<code>
$ docker run -it --rm -v /tmp:/tmp ruimo/lightocr tesseract /tmp/form000.png
</code>
<code>
3.14159265
</code>
<p>正しく認識されている。もっともこれは、tesseractで-psm 7を指定しても正しく認識できる。</p>
<code>
<pre>
$ tesseract form000.png stdout -psm 7 digits
3.14159265
</pre>
</code>
<p>Google Cloud Visionでもok。</p>
<p><img src="/getImage?id=1100"></p>
<p>お次は、イメージ切り抜きの際にズレて右側の罫線が入ってしまったケース。</p>
<p><img src="/getImage?id=1101"></p>
<p>普通にtesseractで認識してみる。</p>
<code>
<pre>
$ tesseract form001.png stdout -psm 7 digits
3.141592651
</pre>
</code>
<p>罫線部分が1と認識されてしまう。無理もない。今回のOCRで処理してみる。</p>
<code>
$ docker run -it --rm -v /tmp:/tmp ruimo/lightocr tesseract /tmp/form001.png
</code>
<code>
3.14159265
</code>
<p>等幅フォントを仮定して切り離した後に、幅が極端に小さなものは捨てるためきちんと認識できている。Google Cloud Visionだと、正しく認識できている。さすがだ。</p>
<p><img src="/getImage?id=1113"></p>
<p>次は罫線がもっと数字に寄ってしまったケース。</p>
<p><img src="/getImage?id=1104"></p>
<p>普通にtesseractで認識すると、</p>
<code>
<pre>
$ tesseract form003.png stdout -psm 7 digits
3.14159263
</pre>
</code>
<p>最後の5が3と誤認識されていることが分かる。今回のOCRを使うと、</p>
<code>
$ docker run -it --rm -v /tmp:/tmp ruimo/lightocr tesseract /tmp/form003.png
</code>
<code>
3.14159265
</code>
<p>正しく認識できた。等幅フォントを仮定して切り取るため、罫線がうまく削除できたのだと思われる。Google Cloud Visionだと、</p>
<p><img src="/getImage?id=1105"></p>
<p>やはり正しく認識できていてさすがだ。次は下に罫線が残ってしまったケース。</p>
<p><img src="/getImage?id=1106"></p>
<p>普通にtesseractを使うと、</p>
<code>
<pre>
$ tesseract form004.png stdout -psm 7 digits
1 0 .
</pre>
</code>
<p>全然ダメになってしまった。今回のOCRだと、</p>
<code>
$ docker run -it --rm -v /tmp:/tmp ruimo/lightocr tesseract /tmp/form004.png
</code>
<code>
3 11159255
</code>
<p>幾分改善するが、やはり誤読が見られる。もっとも横方向の罫線については、黒成分が極端に高いものを除外することで、除去できるかもしれない。Google Cloud Visionだと、</p>
<p><img src="/getImage?id=1107"></p>
<p>やはりきちんと認識されている。ここまではGoogle Cloud Visionの圧勝だ。次に印字が不鮮明なケースを検証してみる。ドット・インパクト・プリンタの場合、良く一部が不鮮明になるケースがある。これは6の下部が消えてしまった例。</p>
<p><img src="/getImage?id=1108"></p>
<p>tesseractで認識してみる。</p>
<code>
<pre>
$ tesseract form005.png stdout -psm 7 digits
3.14159255
</pre>
</code>
<p>誤読してしまっている。今回のOCRでは、</p>
<code>
$ docker run -it --rm -v /tmp:/tmp ruimo/lightocr tesseract /tmp/form005.png
</code>
<code>
3.14159265
</code>
<p>正しく認識された。1文字として認識する場合には精度が上がるようだ。Google Cloud Visionでは、</p>
<p><img src="/getImage?id=1109"></p>
<p>やはり圧倒的な強さを見せつけている。最後に全体にもっと不鮮明な上に罫線がカブっているケースを見てみる。</p>
<p><img src="/getImage?id=1110"></p>
<p>tesseractで普通に認識すると、</p>
<pre>
<code>
$ tesseract form006.png stdout -psm 7 digits
70001393652
</code>
</pre>
<p>最後の2桁を誤読しているが、左の罫線による悪影響は出ていなかった。今回のOCRを試してみる。</p>
<code>
$ docker run -it --rm -v /tmp:/tmp ruimo/lightocr tesseract /tmp/form006.png
</code>
<code>
7000139369
</code>
<p>正しく認識できた。Google Cloud Visionでは、</p>
<p><img src="/getImage?id=1111"></p>
<p>Google先生、全勝はならず。tesseractは、ホワイト・リストで「数字しかない」という情報を与えることができる(引数のdigits)が、Google Cloud Visionはそういう指定が無く、言語の指定しかできないので印字が不鮮明な場合は、tesseractの方が良い結果が得られる場合もあるようだ。</p>
<p>というわけで、割と良い結果が得られたので満足。</p>
ベートーヴェン ピアノ・ソナタ 第24番 第1楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=770
2019-01-13T10:01:03Z
2019-01-13T10:01:03Z
<iframe src="https://open.spotify.com/embed/user/shiseihanai/playlist/38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true" allow="encrypted-media"></iframe>
<p>24番は一転して小規模となり2楽章しかない。ここから27番あたりまでは、あまり規模の大きなものは書かれておらず、小規模指向になっている。</p>
<p>最初に夢見るような序奏が置かれている。</p>
<p><img src="/getImage?id=1094"></p>
<p>最初の符点が曲全体で繰り返し使われる。</p>
<p><img src="/getImage?id=1092"></p>
<p>この音型も曲全体で使われる。</p>
<p><img src="/getImage?id=1093"></p>
<p>この曲では、初期の頃と同じように色々なテーマが出てくる。</p>
<p><img src="/getImage?id=1089"></p>
<p>ここの右手は音型は伴奏のようだが、展開部で使われる。</p>
<p><img src="/getImage?id=1096"></p>
<p>展開部は短調で始まる。展開部は非常に短かい。</p>
<p><img src="/getImage?id=1090"></p>
<p>呈示部の2つの音型が組み合わされる。</p>
<p><img src="/getImage?id=1097"></p>
<p>再現部。この曲は最後まで達した後、展開部から繰り返しが行われるという珍しい構成がとられている。</p>
<p><img src="/getImage?id=1091"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちらから。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-24-in-f-sharp-major-op-78-i-adagio/961808697?i=961809075&app=music"></iframe>
冬休みの自由研究でOCRを作ってみた
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=739
2019-01-06T12:01:34Z
2019-01-06T12:01:34Z
<p>冬休みの自由研究は、OCRを作ってみることにした。世間一般のOCRは、キャプチャに出てくるような文字をいかに高精度に認識できるかに関心がある感じだけど、ビジネスへの適用だと、以下みたいな限定的な条件を課すかわりにより精度を上げられた方がメリットがあるように考えた。</p>
<ol>
<li>1行分の数字列を認識する。</li>
<li>認識するのは、手書きなどは除外でマシン・プリントに限定。</li>
<li>基本は数字列のみが認識できれば良い。</li>
<li>文字は、等幅フォントを仮定して良い。</li>
</ol>
<p>実装は、まずイメージ処理で数字列から各数字を分離する。まずy方向で数字列がある領域を探す。これは黒い部分の濃度が高い部分が、しきい値を超えて固まっている部分を抜き出すことで行う。</p>
<p>次にx方向で数字ごとに分離する。これは、各数字の高さに対する幅の比率に仮定(今回は、50-90%)を置くことで、その範囲で各数字の分離を試みて分離境界位置の黒成分が最も少ないところで切り取る。等幅である仮定を置くことで、より高い精度で分離が可能になる。</p>
<p>あとは、ニューラルネットで学習したモデルを使って、分離した各数字を判定する。今回はdeepLerning4jを使用した。教師データは、とりあえずMNISTを使用した。MNISTは手書き文字なので、印字フォントだとあまり精度が出なさそうだけど、とりあえず今回は実装時間を優先。</p>
<p>サンプル・コードは、Dockerizeしてdocker hubでビルドしたので、Dockerがあれば簡単に試すことができる。コードは、数字の分離だけを行う機能と、ocrまで行う機能を作成した。<a href="https://github.com/ruimo/lightocr">ソースはこちら</a>。</p>
<p>数字の分離は以下で行える。</p>
<code>
$ docker run -it --rm -v /tmp:/tmp ruimo/lightocr split /tmp/005.png
</code>
<p>引数に、pngで処理したいイメージファイルを指定する。Dockerコンテナ内から見えるようにボリューム指定が必要(-v /tmp:/tmp)。例えば以下のようなイメージを用意した場合、</p>
<code>
<p><img src="/getImage?id=1074"></p>
</code>
<p>/tmp/005の下に、以下のイメージが生成される。</p>
<code>
<p>/tmp/005/000.png: <img src="/getImage?id=1078"></p>
<p>/tmp/005/001.png: <img src="/getImage?id=1079"></p>
<p>/tmp/005/002.png: <img src="/getImage?id=1076"></p>
<p>/tmp/005/003.png: <img src="/getImage?id=1075"></p>
<p>/tmp/005/004.png: <img src="/getImage?id=1080"></p>
<p>/tmp/005/005.png: <img src="/getImage?id=1077"></p>
<p>/tmp/005/006.png: <img src="/getImage?id=1081"></p>
<p>/tmp/005/007.png: <img src="/getImage?id=1082"></p>
</code>
<p>OCRの実行は以下で行える。</p>
<code>
$ docker run -it --rm -v /tmp:/tmp ruimo/lightocr ocr /tmp/005.png
</code>
<p>引数に、pngで処理したいイメージファイルを指定する。Docker内から見えるようにボリューム指定が必要(-v /tmp:/tmp)。例えば上記のイメージを用意した場合、</p>
<p>/tmp/005.txtにOCRで認識した数字列が生成される。</p>
<code>
<p>32392242</p>
</code>
<p>毎回、MNISTをダウンロードして学習してから認識に入るのでそれなりに時間がかる。</p>
<p>やはりMNISTが教師データなので精度はいまいちだが、印字文字を集めて学習すれば良くあるMNISTによる認識よりも高い精度が得られそうだ。また、業務で使用するプリンタが限定できるなら、そのプリンタに特化した教師データを集めれば、より高い精度が得られるはず。</p>
<p>教師データ揃えて、学習や認識をRESTで行えるところまでやりたかったけど、今回は時間切れ。</p>
ベートーヴェン ピアノ・ソナタ 第23番「熱情」 第2, 3楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=738
2019-01-06T08:01:28Z
2019-01-06T08:01:28Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>第2楽章は変奏曲。</p>
<p>緊張感の高い2つの楽章にはさまれた、この楽章はとても暖かなテーマが変奏される。</p>
<p><img src="/getImage?id=1057"></p>
<p>変奏1。</p>
<p><img src="/getImage?id=1062"></p>
<p>変奏2</p>
<p><img src="/getImage?id=1061"></p>
<p>変奏3</p>
<p><img src="/getImage?id=1059"></p>
<p>最初のテーマに戻る。</p>
<p><img src="/getImage?id=1060"></p>
<p>不気味な分散和音の後、attaccaで第3楽章に流れ込む。</p>
<img src="/getImage?id=1058">
<p>出だしに和音の強打があり、ppでテーマが始まり強烈な緊張感を与える。</p>
<p><img src="/getImage?id=1068"></p>
<p style="display:inline-block;"><img src="/getImage?id=1063"><img src="/getImage?id=1065"></p>
<p>右手で最初のテーマが奏される中で、左手側に新たな萌芽が見えてくる。</p>
<p><img src="/getImage?id=1067"></p>
<p>曲は、最初のテーマがこれでもかと言うほど使われる。</p>
<p><img src="/getImage?id=1064"></p>
<p>展開部。</p>
<p><img src="/getImage?id=1069"></p></p>
<p>右手に新たなリズムが現れて盛り上がる。</p>
<p style="display:inline-block;"><img src="/getImage?id=1066"><img src="/getImage?id=1070"></p>
<p>再現部の後に、最後にプレストが配置されている。最初は新たなテーマが奏される。</p>
<p><img src="/getImage?id=1071"></p>
<p>しかしすぐに最初のテーマの展開となる。</p>
<p><img src="/getImage?id=1072"></p>
<p>テーマの展開の後に、アルペジオに流れ込んで劇的に終了する。</p>
<p><img src="/getImage?id=1073"></p>
<p>楽譜引用はヘンレ版。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-23-in-f-minor-op-57-ii-andante-con/961808697?i=961809074&app=music"></iframe>
部品テスタを買ってみた。
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=715
2019-01-03T12:01:53Z
2019-01-03T12:01:53Z
<p>Facebookの広告に表示されたんだけど、<a href="https://www.gearbest.com/goods/pp_009889726146.html?lang=en">なんか怪しげな部品テスタ</a>を買ってみた。いや今回ばかりは、Facebookの広告エンジンすげ〜と思った。自分が興味を持ちそうのものドンピシャ。</p>
<p>何せ日本への送料無料で$9.99。これならハズレ品だとしても、まぁお正月の福袋を買ったと思えばいいわけで。Order入れたのが去年の12/25で、まぁ2週間くらいかかるんだろうなと思ったら1/2に届き、まさに福袋感覚。</p>
<p>すっかりマイナーとなった006Pが必要なのでコンビニ行ったら、まさかの500円超え。秋月に行けば100円で買えることを知っている身としては、さすがに手を出せず、ジャンク箱をあさったらテスターのおまけで付いて来たものを発見。</p>
<p>ケースはアクリルで、バラバラになるので、自分で組み立ててネジ止めしなきゃいけないくて、ちょっと面倒。これ電池交換の度にバラバラになっちゃうのでやっかいだ。まぁ、考えてみると天板以外は接合部を塩化メチレン流し込んで止めちゃえばいいのかな。</p>
<p>というわけで、手持ちの部品を適当に見繕ってテストしてみた。まずは抵抗から。抵抗値が低い方で0.68Ω</p>
<p><img src="/getImage?id=1028"></p>
<p>ちゃんと測定できている。抵抗測定だと電圧降下で見るだろうから、低抵抗をきちんと測るのは大変そうなのに優秀だ。次に高抵抗側。</p>
<p><img src="/getImage?id=1029"></p>
<p>5.6MΩ。ここまで測定できればok問題無し。次はコンデンサ。</p>
<p><img src="/getImage?id=1018"></p>
<p>まずは低容量の方で22pF。さすがに、ここまで小さいと無理か。</p>
<p><img src="/getImage?id=1019"></p>
<p>47pFならokなので、下限は思ったより低い。次は高容量側。</p>
<p><img src="/getImage?id=1017"></p>
<p>0.1μFも大丈夫。日本人的には、このnFってピンと来ないのよね。仕方無いけど。</p>
<p><img src="/getImage?id=1024"></p>
<p>100μFもok。</p>
<p><img src="/getImage?id=1021"></p>
<p>なんと470μFもok。</p>
<p><img src="/getImage?id=1023"></p>
<p>3300μFもok。ただ、高容量になると測定に時間がかかるようになる(それでも5秒くらいか)。コンデンサ測定ではESRも表示されるのが良い。</p>
<p><img src="/getImage?id=1020"></p>
<p>コイル(マイクロ・インダクタ)も測定できた。</p>
<p><img src="/getImage?id=1011"></p>
<p>水晶振動子は無理。はい。分かってました。</p>
<p><img src="/getImage?id=1015"></p>
<p>シリコン・ダイオード。Vfが表示されるのが良い。</p>
<p><img src="/getImage?id=1006"></p>
<p><img src="/getImage?id=1007"></p>
<p>こういうダイオード・アレイもちゃんと表示されてすごい。</p>
<p><img src="/getImage?id=1027"></p>
<p>それならばとショットキー・バリア・ダイオード。ちゃんとVfが0.6V切っているのが分かって楽しい。って、上のダイオード・アレイもVf見るとショットキー・バリア・ダイオードだったみたい。</p>
<p><img src="/getImage?id=1010"></p>
<p>2SC1815は期待通り。HFEやVfも表示される。hFEという先頭だけ小文字の表記は何なんだろ。多分表示値は直流電流増幅率の方だと思われる。</p>
<p><img src="/getImage?id=1003"></p>
<p>MOS FETもちゃんと表示される!。ゲート容量が表示されるので、高速スイッチングが必要な時には参考になるかも。</p>
<p><img src="/getImage?id=1016"></p>
<p>LEDのようなVfの大きなデバイスもok。LEDの極性、普通のテスタで測るの困難なので、基盤から外したLED(リードを切ってしまって長さから極性が分からないもの)は助かりそう。</p>
<p>というわけで、予想外に優秀でいい意味で期待を裏切られた。測定時間も2-3秒で待たされないし、ゼロ・プレッーシャ・ソケットを使っている点も良い。テスタで部品を測定するのって、テスタ棒を確実に部品に当てるのが結構辛いのだよね。10秒くらい放置すると、オート・パワーオフになるが、再測定は普通にボタンを押せばすぐに可能で、起動時間とかは不要だった。あとは、電池がどのくらいもつのか。このゼロプレッシャ・ソケットなのだけど、全端子が使えるわけではなくて、左の3端子のみが有効みたい。抵抗みたいにピン間離れているデバイス用に、右側の端子は左から3番目の端子とショートした状態でいいんじゃないかな。まぁ、これくらいなら自分で改造しちゃえばいいのだけど。</p>
<p>いや本当にすごい。液晶パネルに、マイクロコントローラ、ゼロ・プレッシャ・ソケット。これ部品代だけで$9.99超えてない? しかも、良くできた測定プログラム。とても楽しませていだだきました。</p>
ベートーヴェン ピアノ・ソナタ 第23番「熱情」 第1楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=713
2018-12-30T10:12:49Z
2018-12-30T10:12:49Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>最も有名なソナタの1つ。第一楽章は基本となる幾つかの音型が何度も使用される、お馴染のパターン。最初は独特なリズムを持った不気味なテーマで始まる。</p>
<p><img src="/getImage?id=995"></p>
<p>その後にトリルを伴ったテーマ。この音型は、第2楽章の最初のテーマに似ている。</p>
<p><img src="/getImage?id=999"></p>
<p>そして、運命の動機。このテーマも曲全体で何度も用いられる。</p>
<p><img src="/getImage?id=1002"></p>
<p>長調になって暖かなテーマが現れるが、実際は最初のテーマの変形。</p>
<p><img src="/getImage?id=998"></p>
<p>16分音符の激しいテーマ。</p>
<p><img src="/getImage?id=996"></p>
<p>展開部。最初のテーマが徹底的に展開される。</p>
<p><img src="/getImage?id=993"></p>
<p>左手の八分音符の連打の上に最初のテーマが再現され、独特の緊張感を与える。</p>
<p><img src="/getImage?id=994"></p>
<p>ここからアルペジオ主体で自由に激情がひとしきり表現される。</p>
<p><img src="/getImage?id=997"></p>
<p>ここからアレグロに戻り、ffで運命の動機が奏されて、楽章の最後を飾る。</p>
<p><img src="/getImage?id=1001"></p>
<p>最初のテーマが繰り返されて静かに終わる。</p>
<p><img src="/getImage?id=1000"></p>
<p>楽譜引用はヘンレ版。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-23-in-f-minor-op-57-i-allegro-assai/961808697?i=961809073&app=music"></iframe>
本門寺菊展
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=712
2018-12-24T08:12:23Z
2018-12-24T08:12:23Z
<p>昨年の情報では、本門寺の菊展は昨年で終わりとのことだったけど、今年もやっていた。</p>
<p><img src="/getImage?id=992"></p>
<p><img src="/getImage?id=991"></p>
<p><img src="/getImage?id=990"></p>
<p><img src="/getImage?id=989"></p>
<p><img src="/getImage?id=988"></p>
<p><img src="/getImage?id=987"></p>
<p><img src="/getImage?id=986"></p>
<p><img src="/getImage?id=984"></p>
<p><img src="/getImage?id=983"></p>
<p><img src="/getImage?id=982"></p>
<p><img src="/getImage?id=981"></p>
<p><img src="/getImage?id=980"></p>
ベートーヴェン ピアノ・ソナタ 第22番 第2楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=711
2018-12-23T05:12:46Z
2018-12-23T05:12:46Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>第2楽章は、モコモコとした速い音型で構成され、メロディーらしきものが無い。</p>
<p><img src="/getImage?id=977"></p>
<p>最初のリピートが終わると、調が変わって最初の音型が現れる。</p>
<p><img src="/getImage?id=975"></p>
<p>この右手に現れるリズムが、この後、曲全体で重要な役割を果たす。</p>
<p><img src="/getImage?id=976"></p>
<p>最後にPiu Allegroとなって最初の音型が現れて、曲の終わりを告げる。</p>
<p><img src="/getImage?id=979"></p>
<p>最後は例のリズムが左手で繰り返されて終わる。</p>
<p><img src="/getImage?id=978"></p>
<p>楽譜引用はヘンレ版。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-22-in-f-major-op-54-ii-allegretto-piu-allegro/961808697?i=961809072&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ 第22番 第1楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=710
2018-12-16T08:12:32Z
2018-12-16T08:12:32Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>大作21番と23番の間にはさまれたこの曲は2楽章構成の短かなもの。第1楽章はロンド形式を基本にしている。ゆっくり歩くかのような最初のテーマ。</p>
<p><img src="/getImage?id=970"></p>
<p>次のテーマは、オクターブを基本としたもので明確なメロディーらしきものが無く、リズムを主体としてる。</p>
<p><img src="/getImage?id=974"></p>
<p>最初のテーマ。</p>
<p><img src="/getImage?id=969"></p>
<p>2番目のテーマが繰り返されるが、最初よりも長さは短い。</p>
<p><img src="/getImage?id=971"></p>
<p>再び最初のテーマに戻る。</p>
<p><img src="/getImage?id=973"></p>
<p>最後に幻想的な新しいテーマが出てきて、ロンドらしくなってきたかと思うと、ここで静かに終わる。</p>
<p><img src="/getImage?id=972"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-22-in-f-major-op-54-i-in-tempo-dun-menuetto/961808697?i=961809071&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ 第21番 第2楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=709
2018-12-09T09:12:22Z
2018-12-09T09:12:22Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>このソナタの第2楽章は、もともと<a href="https://en.wikipedia.org/wiki/Andante_favori">Andante Favori</a>が配される予定だったが、友人からの助言により、現在の序奏に置き換えられたという。</p>
<p><img src="/getImage?id=956"></p>
<p>序奏の後はロンド形式だが、最初に現れる左手のテーマが曲全体を通して展開され尽くす。</p>
<p><img src="/getImage?id=957"></p>
<p>トリルの上に、テーマが現れてクライマックスとなる。</p>
<p><img src="/getImage?id=958"></p>
<p>ロンドなので別のテーマがぐるぐると現れるものの、それはテーマと呼ぶには曖昧で、やはり最初のテーマが曲全体を支配する。</p>
<p><img src="/getImage?id=954"></p>
<p>2回目の最初のテーマ。</p>
<p><img src="/getImage?id=955"></p>
<p>最初のテーマが繰り返された後は短調に転じる。</p>
<p><img src="/getImage?id=953"></p>
<p>しかしここでも最初のテーマが展開される。</p>
<p><img src="/getImage?id=961"></p>
<p>幻想的な場面が現れるが、ここでも最初のテーマが左手に現れる。</p>
<p><img src="/getImage?id=960"></p>
<p><img src="/getImage?id=959"></p>
<p><img src="/getImage?id=962"></p>
<p>3回目の最初のテーマ。</p>
<p><img src="/getImage?id=964"></p>
<p>3回目は、1回目の流れに似ているが、遠くへ飛び立っていくかのように発展していき、最後には、やはり最初のテーマが現れる。</p>
<p><img src="/getImage?id=963"></p>
<p>最後にプレスティッシモが配置されて、技巧の限りが尽くされる。</p>
<p><img src="/getImage?id=966"></p>
<p>ここでも、最初のテーマへの執着が見られる。</p>
<p><img src="/getImage?id=965"></p>
<p>ppで、オクターブを高速に弾くことが要求される難所。</p>
<p><img src="/getImage?id=967"></p>
<p>最後の最後もやはり最初のテーマで締めくくられる。</p>
<p><img src="/getImage?id=968"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-21-in-c-major-op-53-waldstein-ii-introduzione/960633853?i=960634125&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ 第21番 第1楽章 「ワルトシュタイン」
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=708
2018-12-02T08:12:44Z
2018-12-02T08:12:44Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>作品49とはうって変わって大規模ソナタの復活。和音の連打の中に、小さなパッセージが現れるが、これが曲全体で重要な役割を果たす。</p>
<p><img src="/getImage?id=945"></p>
<p>2つ目のテーマは、対照的な柔らかい和音の上で奏でられる。</p>
<p><img src="/getImage?id=944"></p>
<p>このアルペジオは一見経過句のようだが、この後、展開部で重要な役割を果たす。</p>
<p><img src="/getImage?id=949"></p>
<p>このあたりはすっかりノリノリだ。</p>
<p><img src="/getImage?id=946"></p>
<p>展開部。</p>
<p><img src="/getImage?id=947"></p>
<p>最初は1番目のテーマが展開される。</p>
<p><img src="/getImage?id=948"></>
<p>次は3番目のテーマが展開される。</p>
<p><img src="/getImage?id=951"></p>
<p>再現部。</p>
<p><img src="/getImage?id=950"></p>
<p>最後にもう一度最初のテーマを用いた見せ場が用意されている。</p>
<p><img src="/getImage?id=952"></p>
<p>楽譜引用はヘンレ版。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-21-in-c-major-op-53-waldstein-i-allegro/960633853?i=960634124&app=music"></iframe>
ベートーヴェン ピアノソナタ 第20番第2楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=707
2018-11-25T07:11:15Z
2018-11-25T07:11:15Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>第2楽章はロンド形式のメヌエット。曲全体を通じて長調で構成されており、符点を主体とした暖かなテーマが用いられている。</p>
<p><img src="/getImage?id=937"></p>
<p>最初のテーマの変形。</p>
<p><img src="/getImage?id=939">
<p>スケール主体の推移部が続く。</p>
<p><img src="/getImage?id=940"></p>
<p>2つ目のテーマは、元気いっぱい。</p>
<p><img src="/getImage?id=936"></p>
<p>付点を引き連れて最初のテーマが戻ってくる。</p>
<p><img src="/getImage?id=938"></p>
<p>全く新しいテーマが現れる。ここも元気いっぱいだ。</p>
<p><img src="/getImage?id=941"></p>
<p>再度最初のテーマが繰り返される。</p>
<p><img src="/getImage?id=942"></p>
<p>最後の変形が曲の終わりを告げる。</p>
<p><img src="/getImage?id=943"></p>
<p>楽譜引用はヘンレ版。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-20-in-g-major-op-49-no-2-ii-rondo-allegro/961808697?i=961809070&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ 第20番 第1楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=706
2018-11-18T07:11:20Z
2018-11-18T07:11:20Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>第20番も、小さなソナタ。最初のテーマはアルペジオ主体な簡素なもの。</p>
<p><img src="/getImage?id=934"></p>
<p>最初のテーマの変化型か。</p>
<p><img src="/getImage?id=932"></p>
<p>2つ目のテーマはアルペジオとは対照的で、ニ長調に転じる。</p>
<p><img src="/getImage?id=933"></p>
<p>展開部は最初のテーマが短調で奏される。</p>
<p><img src="/getImage?id=930"></p>
<p>しかしテーマの展開は無く、全く新しいテーマが現れる。</p>
<p><img src="/getImage?id=931"></p>
<p>すぐに再現部が現れて終わる。</p>
<p><img src="/getImage?id=929"></p>
<p>楽譜引用はヘンレ版。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-20-in-g-major-op-49-no-2-i-andante/961808697?i=961809069&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ第19番 第2楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=678
2018-11-11T07:11:31Z
2018-11-11T07:11:31Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>第2楽章は、軽快なリズムのかわいらしいロンド。</p>
<p><img src="/getImage?id=919"></p>
<p>このテーマは曲全体を通して使われる。</p>
<p style="display:inline-block;"><img src="/getImage?id=918"><img src="/getImage?id=920"></p>
<p>ここは同じ音型で、スラーの位置が変わり長調となる。</p>
<p><img src="/getImage?id=916"></p>
<p>最後は、最初のテーマに若干の変化を入れて繰り返されて終わる。</p>
<p><img src="/getImage?id=917"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-19-in-g-minor-op-49-no-1-ii-rondo/960633853?i=960634123&app=music"></iframe>
ベートーヴェン ピアノ・ソナタ第19番 第1楽章
Uno Ruimo(Shisei Hanai)
https://www.ruimo.com/fromId?fromId=677
2018-11-04T05:11:18Z
2018-11-04T05:11:18Z
<iframe src="https://embed.spotify.com/?uri=spotify%3Auser%3Ashiseihanai%3Aplaylist%3A38bgRbYIC1u1ZqNURTzBxJ" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
<p>作品49の2曲は、どちらも2楽章しかない規模の小さな作品。第1楽章は憂鬱なテーマで始める。</p>
<p><img src="/getImage?id=914"></p>
<p>リズミカルな2つ目のテーマ。</p>
<p><img src="/getImage?id=915"></p>
<p>展開部。意表をついて2つ目のテーマの出だしが展開される。</p>
<p><img src="/getImage?id=911"></p>
<p>再現部。</p>
<p style="display:inline-block;"><img src="/getImage?id=910"><img src="/getImage?id=913"></p>
<p>最後は、2つ目のテーマが左手に現れて静かに終わる。</p>
<p><img src="/getImage?id=912"></p>
<p>楽譜引用はヘンレ版から。</p>
<p>Apple Musicの方はこちら。</p>
<iframe allow="autoplay *; encrypted-media *;" frameborder="0" height="150" style="width:100%;max-width:660px;overflow:hidden;background:transparent;" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-storage-access-by-user-activation allow-top-navigation-by-user-activation" src="https://embed.music.apple.com/us/album/piano-sonata-no-19-in-g-minor-op-49-no-1-i-andante/960633853?i=960634118&app=music"></iframe>