読者です 読者をやめる 読者になる 読者になる

雑感・音楽等

音楽・数学・プログラミングに関する,思い付き・雑感を記す.

lilypond 2.18.0でテキスト スクリプトのフォント変更

変更方法

下記黄色太字でフォント変更できた.

\version "2.18.0"
\language "deutsch"
sopI = \relative c' {
	\clef soprano
\override Voice.TextScript.font-name=#"Kozuka Mincho Pr6N"
	r2 c'^"漢字かんじabc"
}
bas = \relative c {
	\clef bass
	c1^"漢字かんじabc"
}
\book{
  \score {
  \new PianoStaff<<
      \new Staff \sopI
      \new Staff \bas
    >>
  }
}

使用可能なフォントファミリーを調べる

フォント変更

  • \override Voice.TextScript.font-name=#"ここにフォントファミリー名を入力"

使用可能なフォントファミリーを調べるコマンド(cmd.exeで実行した)

  • lilypond -dshow-available-fonts
    • コンソール画面で文字化けしたので,上記コマンドで出力される文字列をファイルに保存する.
    • lilypond -dshow-available-fonts 2> lily.txt

下記は,lily.txtの一部.

  • 行頭に"family"とある行を見て(family Kozuka Mincho Pr6N
  • "family"と半角スペース1文字を無視して,残りの文字列(Kozuka Mincho Pr6N)を
  • 行頭に"family"を含まない行から,使用したいフォント名を見つける.
    • 同じ行にあり,コンマで区切られた名前は同じフォントを指している?
      • 「Kozuka Mincho Pr6N」,「小塚明朝 Pr6N」,「Kozuka Mincho Pr6N R」の場合はいずれも成功した.
      • 「小塚明朝 Pr6N R:style=R」とした場合はフォント変更に失敗した.
  • 「ここにフォントファミリー名を入力」に入力する(\override Voice.TextScript.font-name=#"Kozuka Mincho Pr6N")
family Kozuka Mincho Pr6N
 Kozuka Mincho Pr6N,小塚明朝 Pr6N,Kozuka Mincho Pr6N R,小塚明朝 Pr6N R:style=R,Regular
family Informal Roman
 Informal Roman:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
family Palace Script MT
 Palace Script MT:style=Regular
family Copperplate Gothic Light
 Copperplate Gothic Light:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
family Bradley Hand ITC
 Bradley Hand ITC:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
family Yu Mincho
 Yu Mincho,游明朝:style=Regular

メモ

"Prolongation"―シェンカー理論の「延長」?

カデンツと実曲との懸隔

カデンツ・ウアザッツ・構造・骨格:T-[X]-D-T (X:無/D2/S) (島岡和声の表記)
+対位法・流れ→実曲?
実曲に要されるもの

  • 拍節の均衡感(4小節ごと・8小節ごと:楽節)
  • →<埋め草>を使う
    • 代理和音・クリシェ
    • 非和声音・旋律音・修飾音

ポピュラー音楽の常套句

「お決まりの」にあふれた/の組み合わせでできたポピュラー音楽

  • 25
  • 4536
  • 456
  • etc.

「お決まりの」\simeq骨格?

常套句をいかに飾るか・美しくするか

www.nicovideo.jp
動画0:15のコード進行

  • IV7/VI IV7/VI VIb I/V (IV#m7-5)
  • VIb I/V \simeq V V
  • VIb I/Vにする効果
    • 前二つのが同じコードなのと対比して進行感を出す
    • 拍点を稼ぐ―延長

「骨格」と「埋め草

比重:骨格<埋め草

  • 骨格・常套句の乱用→目新しさが失われる,情報量が下がる
  • 埋め草→特色・個性?

「骨格」の「埋め草」化

  • 過剰な転調
    • 乱雑・薄っぺらい?
美とエントロピー(情報量)
  • 美しい=情報量が大きい(下図のx=0.5)
  • 過剰な単純さ・つまらない=情報量が小さい(下図のx<<0.5)
  • 過剰な目新しさ・個性の表出=情報量が小さい(下図のx>>0.5)

https://upload.wikimedia.org/wikipedia/ja/a/a8/Entropy_coin.png

問題の解き方・考え方―Haskellプログラミングと力学の問題

Haskellプログラムを書いていて感じたことがある.
それは,

  • Haskellでプログラムを書くこと
  • 物理の文章題を解くこと

が似ていることだ.


両者の考え方の共通点として感じたのは

  1. 最も大事なことが,何の値を求めたいのか明確にすること
  2. 問題の条件を「数式」や「ソースコード」として表現する方法が要求される
  3. 次元解析のような考え方が有効

ということだ.

1. 求めたい値を明確にすること

何よりも大事だと思う.
プログラムの文法を知らなくても,数式変形の方法を知らなくても,
これができなくては,問題を解けない.

物理の問題なら問題文を読み,これを念頭に置きながら,
立式,式変形(「求めたい値=○○」になるように式変形を進める)すればよい.

2. 問題条件を「数式」・「ソースコード」として表現する方法

物理の問題で言えば,自分が覚えている数々の公式の中から,
問題を解くのに有効な公式を引っ張り出すこと.

これらは教科書や授業などで扱われる部分だと思う.

これらは理解が重要だと思う.つまり,丸暗記のみで対応できない点.
数式もソースコードも言葉・言語だ.なまけなければ理解できる……はず.

※「丸暗記のみする」ことと「しっかり理解するため,多くのパターンを結果的に暗記してしまうほど勉強する」ことは違う.

3. 次元解析の考え方

これは,公式の作り方に近いもの.

  1. まず,求めたい値にどんなパラメータが影響しているか,を考える.
    • e.g. 加速度aには,力Fと物体の質量mが関係してる
  2. それから,そのパラメータが求めたい値にどう影響するのかを考える.
    • e.g. 加速度aは,力Fに比例し,質量mに反比例する

手元にある値・データ・パラメータをどう変形・変換して,求めたい値にするか,を考える.
関数プログラミングとはパイププログラミングのようなプログラミングのことです。」(引用元:http://www.mew.org/~kazu/material/2015-fp.pdf p.108)

12音と群論

ガロア理論の頂を踏む』を読んで,思い付きでやってみた.

12音:C, Cis, D, ...をそれぞれ0, 1, 2, ...と対応させる.
(ここではC=0としているが,Cis=0やD=0としても変わらない.つまり,移調してよい.)

加法に関する群

C=0から半音ずつ,12回上ると,Cに戻る.(\cong C_{12}:位数12の巡回群
これは12の剰余類(\boldsymbol{Z}/12\boldsymbol{Z})で,加法に関して群をなす.

乗法に関する群

(\boldsymbol{Z}/12\boldsymbol{Z})はそのままでは積に関して群をなさない.
そこで既約剰余類群(\boldsymbol{Z}/12\boldsymbol{Z})^{*}を考える.

(\boldsymbol{Z}/12\boldsymbol{Z})^{*}=\{\overline{k} | gcd(k,12)=1, 1 \leq k \leq 12-1 \}=\{\overline{1},\overline{5},\overline{7},\overline{11}\}

\{1,5 \equiv -7 (mod 12),7,11 \equiv -1 (mod 12)\}は,
C=0に対して,{半音上,完全四度上≡完全五度下,完全五度上,長七度上≡半音下}となる.
これは,エドモン=コステールの「親和性」に出てくる音度に含まれる(「親和性」ではこれに加え,完全一度と完全八度がある).

haskell do構文

失敗

import System.Environment
main::IO()
main=
  do
    args<-getArgs
    argsl<-length args  --Couldn't match expected type ‘IO a0’ with actual type ‘Int’
    (print.show) argsl

成功

import System.Environment
main::IO()
main=
  do
    args<-getArgs
    let argsl=length args
    (print.show) argsl
import System.Environment
main::IO()
main=
  do
    argsl<-length<$>getArgs
    (print.show) argsl

参考ページ

qiita.com

Haskell ポイントフリー

Prelude> (3*(4-))$ 2

:38:1: error:
? Non type-variable argument in the constraint: Num (a -> a)
(Use FlexibleContexts to permit this)
? When checking the inferred type
it :: forall a. (Num (a -> a), Num a) => a
Prelude> (3*).(4-)$ 2
6

Windows 10, TeX Live 2015のフォント変更―小塚フォントの導入

pdfの出力を小塚フォントに変更した.
参照:OTF - TeX Wiki

失敗

"コマンドラインで以下を実行

  • updmap-sys --setoption kanjiEmbed kozuka
  • kanji-config-updmap-sys kozuka-pr6n
  • mktexlsr

成功

適当に"-sys"を外してみる.
e.g.

  • updmap --setoption kanjiEmbed kozuka
  • kanji-config-updmap kozuka-pr6n
  • mktexlsr

発見

ptex2pdfに与えるコマンドラインオプションでは埋め込みフォントを変更できない?

参照:OTF - TeX Wiki

  • "-od "-f uptex-yu-win10.map -f otf-up-yu-win10.map""を"-od "-f uptex-kozuka-pr6n-04.map -f otf-up-kozuka-pr6n.map""に変えてもフォント変更できなかった.
  • 私のTeXWorksでのタイプセット設定(-odオプションを削除した)
    • 名前: pLaTeX(ptex2pdf)
    • プログラム: ptex2pdf.exe
    • 引数
      • -u
      • -l
      • -kanji=utf8 $synctexoption
      • $fullname
"C:\texlive\2015\texmf-dist\fonts\opentype"の中身は,pdf出力に影響しない?
  • "opentype"フォルダを"opentypea"フォルダにフォルダ名変更
    • pdf出力に成功した.
1階層上のフォルダは,影響するようだ.
  • "C:\texlive\2015\texmf-dist\fonts"を"C:\texlive\2015\texmf-dist\fontsa"に変更
    • さすがに失敗した
    • タイプセット実行時に生成された"missfont.log"の内容
      • mktextfm upjisr-v