MuseScoreで日本語歌詞を入力する時に便利な「karaoke2」と、雑多なLISP函数群を収録した「kmpublic」が置いてあります。
これは,歌詞のsample textです。
↓ karaoke-japanese-to-musescore
こ れ は, 歌 詞 の sample text で す。
;;; 変数名と値(又は極座標)を並べて表示 (let* ((x 1.732) (y 1) (z (complex x y))) (show-names-values x y z) (show-names-abs-deg y z))
↓ x = 1.732 y = 1 z = #C(1.732 1.0) y = +1.0 /_ +0.00 deg = 1 z = +2.0 /_ +30.00 deg = #C(1.732 1.0);;; Alt+nでnarrow-to-regionとwidenを切り替へる (global-set-key #\M-n 'toggle-narrowing)
;;; Shift_JISではなくUTF-8でURLエンコード (www-url-encode-utf8 "今やUnicodeの時代")
↓ "%E4%BB%8A%E3%82%84Unicode%E3%81%AE%E6%99%82%E4%BB%A3"
karaoke2.l と kmpublic.l は著作権抛棄(CC0)としますので、転載や改変など、御自由にどうぞ。但し一部の函数では、他の方が公開されたコードから転載・改造した部分が有り、それぞれの著作権がありますので、御注意ください。
CC0 (Public Domain): Please feel free to reproduce or edit (except quotation)
(require "kmpublic")
(mc-require "karaoke2")
;;; 次の初期設定は好みで追加
(setq *karaoke-separate-small-tsu* t) ; t(デフォルト)なら、促音「っ」と「ッ」を前の文字から分離する
(setq *karaoke-separate-long-vowel* t) ; t(デフォルト)なら、長音「ー」と「〜」を前の文字から分離する
require
ではなくmc-require
で読み込む必要が有ります。バイトコンパイルにも、mc-byte-compile-file
が必要です。pfe
は、紫藤さんの改造した「lispmode.l」が無いと動きません。*scratch*
や新しいバッファに貼り付けます。karaoke-japanese-to-musescore
RETを入力すると、文字間に半角スペースが追加された歌詞がバッファ*MuseScore*に出力されるので、それをクリップボードにコピーしておきます。(利用例に示した通り、英語や約物(句読点類)の文字間にはスペースが追加されません)with-output-to-file
: with-output-to-buffer
のファイル版で、(format t ...)
などの標準出力をファイルにリダイレクトするmaparray
: mapcar
の行列版for
: dotimes
と違って開始・終了・増加数値を指定できる (紫藤さんの公開されたコードを流用。有難うございます)with-temp-directory
: save-excursion
と似た使ひ方で、一時的に現在のディレクトリを移動するpickup-lines
: C-u 10 M-x pickup-lines ⇒ バッファの内容が10行毎に1行だけ抽出される。前置引数を附けずにpickup-lines
を呼び出すと、*pickup-lines-n*で規定された行毎になる (デフォルト: 2)replace-regexp-whole
: 冒頭にポイントを移動させなくても、バッファ全体を正規表現で置換する (元のポイントの位置は保存される)show-names-values
: 各引数の名前と値を標準出力に出力する。デバッグに便利。show-names-abs-deg
は、名前と絶対値∠位相[度]を出力するrandomize-list
: リストの要素をランダムに入れ替へるshow-names-abs-deg
(show-name-abs-deg
の複数変数指定版)を追加。show-names-values
: 第1引数がリストの場合は、残りの引数をキーワードとしてshow-name-value
に渡す様に更新。copy-array
: simple-vectorが普通のvectorになるバグを回避するため、make-array :displaced-to
とcopy-seq
を同時に使はない様に修正。copy-function
: docstringに「引数に引用符は不要」と明記。reverse-lines
: 最終行が改行のみでない場合、改行が増えるバグを修正。open-file-with-windows
: xdoc2txt経由で開いたファイルもWindowsで開ける様に修正。randomize-list
類、utf8-to-internal
類を追加。vdoc
, fdoc
, msgbox-variables
を追加。show-names-values
, randomize-list
を追加。