gymnoの自由談

音楽系、プログラミング系の内容 方針はいずれ

lilypondサンプル (2) 基本の記述

音程

LilyPond 記譜法リファレンス: 1.1 ピッチ
http://www.lilypond.org/doc/v2.16/Documentation/notation/pitches

a4 b e a | e a e, a |e' bes e, bes|a'' e bes e  


オクターブの中でなるべく近い音程に飛ぶ

スラー、タイ、フレージングスラー

LilyPond 記譜法リファレンス: 1.3.2 曲線の発想記号
http://www.lilypond.org/doc/v2.16/Documentation/notation/expressive-marks-as-curves

a4 b cis2 | e4. ( fis8 ) gis4 a~| a g \( f (e) | d \) cis8 b a4 ~ (a8 b |cis4)


phrasing slurという単語ははじめて知った

強弱

LilyPond 記譜法リファレンス: 1.3.1 音符に付けられる発想記号
http://www.lilypond.org/doc/v2.16/Documentation/notation/expressive-marks-attached-to-notes

a4\mf b cis2 | e4.\<  fis8 gis4\! a| a\ff g\dim  f e | d  cis8 b a4\pp a8 b |cis4 

重音トレモロ

  <a cis>4.^"div." <b d>8 <a cis e>2| a'4:8 gis: fis: e:16^"trem." |        


^"div." というのは単に任意の文字列を楽譜に出力するためだけのものなので 別になくても音符はちゃんと重音トレモロで出力される

連符

LilyPond 記譜法リファレンス: 1.2.1 リズムを記述する
http://www.lilypond.org/doc/v2.16/Documentation/notation/writing-rhythms

  \times 2/3 {b'4 a8} \times 2/3 { gis fis e}                                                  
  \times 4/5 { d16 e fis  gis a} \times 4/6 { b a fis e cis b}    

休符 スタッカート 練習番号 3連符の刻み(これがしんどい) 前打音 グリッサンドなどはまた今度

lilypondサンプル (1) ページ設定

http://lilypond.org/index.ja.html
楽譜作成ツールlilypond の使い方メモ
lilypondサンプル (1) ページ設定 - gymnoの自由談
lilypondサンプル (2) 基本の記述 - gymnoの自由談
音程 スラー、タイ、フレージングスラー 強弱 重音トレモロ 連符
lilypondサンプル (3) 応用的な記述 - gymnoの自由談
休符 アーティキュレーションと装飾、スタッカート 小節線、練習番号(リハーサル記号) 3連符の刻み 前打音 グリッサンド アウフタクト
今後もここを起点に更新していく


linux系のツールはだいたいそうだけど 慣れればすごく作業がはかどるけど最初のハードルが高い
せっかくいろいろやり方を調べたのでメモる わかれば適用は大したことないけど単語がわからないだけでも調べるのは意外に面倒

たったこれだけ書くのに以下のコードが必要
ただし音符が増えてもコード自体はそれほど増えない
参考ページ
LilyPond 記譜法リファレンス: 3.2.1 タイトル、ヘッダ、フッタを作成する
http://lilypond.org/doc/v2.16/Documentation/notation/creating-titles-headers-and-footers
コンパイルソースコードがsample.lyなら単純に

$ lilypond sample.ly

でsample.pdfができる sample.lyは以下

続きを読む

宮地楽器にてアルト2本購入

宮地楽器武蔵小金井展でリコーダーフェアをやっている ということでオーケストラ練習の終了後中央線で向かう

リコーダーフェア 2013 ~宮地楽器小金井店|リコーダー

http://recorder.miyajimusic.jp/fair2013.php

f:id:gymno:20130707210023j:plain

 

 キュング(Kung) チェリー 1403

モーレンハウエル(Mollenhauer)  ペアーウッド 5206N

おすすめモデル| 木製リコーダー | 宮地楽器小金井店ショールーム

http://recorder.miyajimusic.jp/osusume.php

スタッフより 
超人気機種の新モデルです。温かさと強さを兼ね備えた音色です。

 

f:id:gymno:20130707210541j:plain

ちなみに  既存の笛は

ソプラノ モーレンハウエルMollenhauer のオリーブ 

テナー キュンクKung のペアウッド

http://gymno.hatenablog.jp/entry/2013/07/08/012955

でこれで計 4本になった

 

swigでJavaとc++連携

http://d.hatena.ne.jp/gymno/20110728/1311868581
の続き


今度は
すみっこのメモ - SWIGでJNI〜JavaからCのプログラムを呼ぶ
http://www.sabamiso.net/yoggy/hiki/?SWIG%A4%C7JNI%A1%C1Java%A4%AB%A4%E9C%A4%CE%A5%D7%A5%ED%A5%B0%A5%E9%A5%E0%A4%F2%B8%C6%A4%D6
SWIG and Java
http://www.swig.org/Doc1.3/Java.html
を参照した

同様にhello.cppとhello.hとhello.iを用意した後 同様に

swig -java -c++  hello.i

とやると hello.javaとhelloJNI.javaとMyClass.javaができる
MyClassはc++コードで自分で書いたクラスだが 別ファイルになるのか
c++の明示的なメモリ管理をjavaのポインタにうまく置き換えるためのものであるように見える


g++ -c -fpic hello.cpp
g++ -c -fpic hello_wrap.cxx -I//System/Library/Frameworks/JavaVM.framework/Headers/
g++ -shared hello.o hello_wrap.o -o libhello.jnilib 

でhello.oとhello_wrap.oとlibhello.jnilibができ

javac hello*.java


MyClass.class hello.class helloJNI.classができる
而して

javac Main.java

とやると

$ java Main 4
Hello World!!
sum to 4 = 6
のようになる


Main.java

public class Main {
    static {
	System.loadLibrary("hello");
    }
    public static void main(String [] args) {
	hello.hello();
	if (args.length!=1) {
	    return;
	}
	int d = Integer.parseInt(args[0]);
        int ret = hello.sum(d);
	System.out.println("sum to "+d+" = "+ret);
    }
}