Warning: this is an htmlized version!
The original is across this link,
and the conversion rules are here.
;; (find-planner "2004.04.14")

(defvar music-G-clef "
   | /
   / |
  | /|\\
   \\ |/

(defun forward-line-keep-column (arg)
  (interactive "p")
  (let ((column (current-column))
	(indent-tabs-mode nil))
    (forward-line arg)
    (move-to-column column t)))

(defmacro with-music-vars (&rest body)
  `(let* (s-tag
	  (s (save-excursion
	       (search-backward "\n<s>")
	       (setq s-tag (+ (point) 1))
	       (forward-line 2)
	       (beginning-of-line) (point)))
	  (e (save-excursion
	       (search-forward "\n</s>")
	       (setq after-e-tag (save-excursion
				   (forward-line 1)
				   (beginning-of-line) (point)))
	       (beginning-of-line) (point)))
	  (nlines (count-lines s e))
	  (bol (save-excursion (beginning-of-line) (point)))
	  (thisline (count-lines s bol))
	  (column (current-column))
	  (indent-tabs-mode nil))
     . ,body))

(defun music-background-char ()
  (let ((char (save-excursion (beginning-of-line) (char-after))))
    (if (eq char ?\n)

(defun music-insert (char)
  (interactive "c")
     (dotimes (i nlines)
	 (forward-line-keep-column (- i thisline))
	 (insert-and-inherit (if (= i thisline)
   (forward-char 1)))

(defun music-self-insert-command (n)
  (interactive "p")
  (if overwrite-mode
      (self-insert-command n)
    (dotimes (i n)
      (music-insert last-command-char))))

;; (defun music-delete-char ...)

(defvar music-keymap (make-keymap))
(defun music-keymap-build ()
  (let ((i 32))
    (while (<= i 126)
      (define-key music-keymap (format "%c" i) 'music-self-insert-command)
      (setq i (+ i 1)))))


(defun music-mode-local (arg)
  (interactive "p")
  (if (> arg 0)
       (set-text-properties s-tag s `(face bold))
       (set-text-properties s e `(keymap ,music-keymap))
       (set-text-properties e after-e-tag `(face bold))
       (untabify s e))
     (set-text-properties s-tag after-e-tag nil))))