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を追加。