空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

Inquiétude

Burgmüller 25 Progressive Pieces, Op. 100 の 18 曲目。これは速弾きのための練習曲。逆に言うと、ゆっくり弾いてもいい音楽にならないしテクニックも身に付かないと思われるので、譜読みが簡単だからといっても、目標速度を定めないと上達につながらない…

The Chatterbox

Burgmüller 25 Progressive Pieces, Op. 100 の 17 曲目。序奏で2オクターブ左手が飛ぶ以外は、とても簡単に譜読みができてしまう。スタッカート付きの和音を綺麗に弾いて、108 BPM で弾けるようにする。この曲は恐らく、素人の譜読みではあきらかでない表現…

Sorrow

Burgmüller 25 Progressive Pieces, Op. 100 の 16 曲目。たった1ページの小品。Farewell からの世界観を引きずっている。Ballade と同様、左手の旋律がフィーチャされていて、今回はさらに黒鍵も入る。左手の強化目的の曲なのだと思われる(このへんが Prog…

Ballade

Burgmüller 25 Progressive Pieces, Op. 100 の 15 曲目。タイトルの「Ballade」というのが大きすぎて、イメージが掴めなかったので、Webで検索してみた。バラード - Wikipedia 19世紀には、フレデリック・ショパンによって、器楽曲の一種の作品名に転用され…

Austrian Dance

Burgmüller 25 Progressive Pieces, Op. 100 の 14 曲目。苦手な3拍子の曲。「別れ」「慰め」が感情表現にフォーカスしていたのと打って変わって、新しい演奏技法が投入される。ちゃんと弾けることが示せたら、それだけでスキルの証明になるので発表会向きな…

Consolation

Burgmüller 25 Progressive Pieces, Op. 100 の 13 曲目。「別れ」に続く「慰め」。大人になればなるほど、情景が伴って上手に引ける楽曲なのではないだろうか。パッと楽譜を見た限りでは、ハ長調の簡単そうな曲。付属のCDを聴いて、片手の演奏で旋律と伴奏…

The Farewell

Burgmüller 25 Progressive Pieces, Op. 100 の 12 曲目。長くて速いフレーズをどのように構造化し、処理するかが課題。隣り合う音符同士は繋がっているので、上達の早いお子様にも弾けそう。序奏(A)、主題(B)、中間部(C)、コーダ(D)と分けると、A →…

NULL値を条件にしてSELECTする

SQL

Androidの概念が存在するより昔、まだファイルベースDBとしてはBerkeley DBのほうがメジャーであった頃から、SQLiteをデスクトップアプリの内部フォーマットとして採用して細々と使い続けてきた。十年以上使って、一度たりとも互換性の問題もデータが壊れた…

The Wagtail

Burgmüller 25 Progressive Pieces, Op. 100 の 11 曲目。とても高度な曲のように聴こえたが、楽譜を見ると、ドミソとラドミの転回系を左右両方の手でひたすら練習する曲のように見える。9曲目の The Chase でもその片鱗は既にあった。子供っぽい曲なので、…

Tender Flower

Burgmüller 25 Progressive Pieces, Op. 100 の 10 曲目。楽譜に#が2つも付いている。ニ長調である。ヘ長調(♭1つ)、ト長調(#1つ)くらいまでなら例外として黒鍵を受け入れられたし、今までの楽譜は、むしろ黒鍵を避けるために移調した結果の♭なり#であ…

The Chase

Burgmüller 25 Progressive Pieces の9曲目。3ページもある。ただ、A イントロ、B メインテーマ、C 短調1、D 短調2と分けて考えると A→B→C→B→D→B→A という構造になっているので、実質覚えるフレーズは4つだけである。この楽譜を練習する前だったら、自分が弾…

Gracefulness

Burgmüller 25 Progressive Pieces の8曲目。これまでの7曲も自分の中では人前で引けるレベルに達していないけれども、いつまでも1つの曲ばかりだと特に初心者はスキルが育たないと思うので、次の曲に進む。100 bpm の Moderato だけど、旋律は32分音符なの…

The Clear Stream

Burgmüller 25 Progressive Pieces の7曲目。ここまで1週間に1曲のペースで通して弾けるようにしてきた。毎回壁だと思っていた曲も、構造に分解すると単純なものが多かった。しかしこれは本当の壁。176 bpm で三連符が続く。前半は 0.11 秒に1音、後半は 0.1…

Progress

Burgmüller 25 Progressive Pieces の6曲目。右手と左手のシンクロ。右手がパラパラと移動するタイプ。新しいスキルを書き残しておくための語彙が無いのでそろそろしっかり勉強しないと。 第3、7小節の6度離れた音をスタッカートで並行して弾く感覚を体で覚…

Innocence

Burgmüller 25 Progressive Pieces の5曲目。タラタラリンと指くぐりをしながら1オクターブ上下するフレーズが出てくる。レガートで可愛く弾く。 第2小節の C B B、第4小節の B A A は、楽譜の指示通りの指番号 4 3 2 で弾く。同じ音だけど違う指を使ってレ…

The Little Party

Burgmüller 25 Progressive Pieces の4曲目。Legato Thirds が出てくる。装飾音から一段階レベルアップして、旋律を弾く手のほうでも、複数の音を同時に出す。新しいスキルが必要になるが、旋律は単純。1つの曲に新しいことをいくつも詰め込まない作曲家の配…

Pastorale(牧歌)

Burgmüller 25 Progressive Pieces の3曲目。3和音の連打と、装飾音が出てくる。 和音の連打が軽く正確に響くように弾くためには手首のトレーニングが必要 後半4和音も出てくる。手首のトレーニングが足りないと牧歌がドラマチックになってしまうので注意 装…

Arabesque

Burgmüller 25 Progressive Pieces の2曲目。152 bpm で16分音符が出てくる。子供の頃弾いたときはずっとゆっくりだったが、これは 152 bpm で弾きたい曲。ピアノで始まり、フォルテ、sf で終わる。指を早く、正確に動かす練習と、スタッカートの効果を学べ…

Sincerity (素直な心)

Burgmüller 25 Progressive Pieces の最初の曲。小学生の発表会などで弾かれるベーシックな曲、なはずだが、楽譜を見ると繰り返しを含めて 4分の4拍子38小節で、152 bpm。そのまま弾くのは結構辛い。計算上は1分で弾き終わるところだけど、付録のCDでも1:28…

Burgmüller 25 Progressive Pieces, Op. 100

最後の更新から一年半。もはや日記としての機能もないが、後から読み返す自分のために説明しておくと、数ヶ月前からコロナ禍でリモートワークが始まったのであった。元々「世界中どこに居ても出来る仕事」が仕事を選ぶ条件であったので、リモートであること…

Clean Architecture

色々な場所で話題に上がっていた Clean Architecture(原著)を読んだ。自分自身、実は「自称・アーキテクト」として10年以上、とあるソフトのアーキテクチャを請け負っているので、自分の中に言語化されていないノウハウがそれなりにあった。私にとってうれ…

"run test" でテスト実行時に OUTPUT ウィンドウに標準出力も表示する

めも。設定ファイルに { "go.testFlags": ["-v"] }と追加する

Firefox設定メモ(2018年1月版)

Firefox設定メモ ~MS PゴシックをMeiryo UIに置換~ - 空想犬猫記 を久々にアップデート。Firefox Quantum では使えなくなる可能性はあるものの、現状の Firefox 57 では、まだ userContent.css によるフォントの置換テクニックが有効であった。(参考: Mo…

Rust雑感

年初から、また少しだけ Rust(The Rust Programming Language)というプログラミング言語を覚え直していた。リンク先のサイトには以下のような特徴が挙げられている。 zero-cost abstractions move semantics guaranteed memory safety threads without dat…

return throw 問題

今日ハマったC++の落とし穴。次のコードの出力結果を予想してください。 #include <iostream> #include <exception> using namespace std; static void assertZero(int i) { if (i == 0) return // // I'm sure it is not a zero!! // throw exception("Not a zero"); } int main(</exception></iostream>…

一時オブジェクトの寿命

C++

先輩にバグじゃないの?と指摘されたコード。 class MyString { public: MyString(); MyString(const std::string& s); : }; extern const std::string& GetName(int idx); int main() { for (int i = 0; i < N; ++i) { const MyString& s = GetName(i); // …

VC++のunordered_set/unordered_mapが遅い件

C++

正確に言うと、insertが同種のset/mapに比べて圧倒的に遅い。最近、メモリの節約のために辞書的なオブジェクトを作成して、同値のオブジェクト(例えば文字列)を再利用するようなコードを書いたところ、unordered_set/unordered_mapで思うような性能が得ら…

再帰呼び出しをループに置き換える

半年に一度くらい、古いコードで使っている再帰呼び出しが原因でスタックオーバーフローになるという不具合が発見され、その都度ループで書き直す修正を入れている。再帰呼び出しをループに展開する方法は、「幅優先探索」や「深さ優先探索」というキーワー…

COMについて

自分用のメモ。幾度となくCOMの仕様を振り返って、使えるものが無いか探してしまう自分への戒め。C++のプロジェクトで、パフォーマンスに妥協をせず、かつコンパイル、リンクの速度も維持して、ランタイムの依存性が無く(異なるバージョンのコンパイラでビ…

Cron の設定メモ

Windows 7上でCygwinのCronを設定した。cygrunsrvは管理者権限が必要なので、ショートカットを右クリックしてアドミニストレータとしてCygwinを起動する。サービスの登録は以下のコマンド cygrunsrv --install Cron --path /usr/sbin/cron.exe \ --neverexit…