⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 system.lsp

📁 一个音频的可执行程序。可以导入MP3/WAV格式的文件后
💻 LSP
字号:
; system.lsp -- machine/system-dependent definitions;; default behavior is to call SETUP-CONSOLE to get large white typescript;;;; set *setup-console* to nil in your personal init.lsp to override this behavior ;; (this may be necessary to work with emacs);;(if (not (boundp '*setup-console*)) (setf *setup-console* t))(if *setup-console* (setup-console))(setf ny:bigendianp nil)(if (not (boundp '*default-sf-format*))    (setf *default-sf-format* snd-head-Wave));(if (not (boundp '*default-sound-file*));    (setf *default-sound-file* "temp.wav"));(if (not (boundp '*default-sf-dir*));    (setf *default-sf-dir* ""))(if (not (boundp '*default-sf-mode*))    (setf *default-sf-mode* snd-head-mode-pcm))(if (not (boundp '*default-sf-bits*))    (setf *default-sf-bits* 16));(if (not (boundp '*default-plot-file*));    (setf *default-plot-file* "points.dat"));(if (not (boundp '*plotscript-file*));    (setf *plotscript-file* "sys/unix/rs6k/plotscript")); local definition for play;(defmacro play (expr);  `(s-save-autonorm ,expr NY:ALL *default-sound-file* :play *soundenable*));(defun r ();  (s-save (s-read *default-sound-file*) NY:ALL "" :play t);); PLAY-FILE -- play a file;(defun play-file (name);  (s-save (s-read name) NY:ALL "" :play t)); FULL-NAME-P -- test if file name is a full path or relative path;; (otherwise the *default-sf-dir* will be prepended;(defun full-name-p (filename)  (or (eq (char filename 0) #\\)      (eq (char filename 0) #\.)      (and (> (length filename) 2)         (both-case-p (char filename 0))       (equal (char filename 1) #\:))))(setf *file-separator* #\\);(defun ny:load-file () (load "*.*"));(defun ny:reload-file () (load "*")); save the standard function to write points to a file;;(setfn s-plot-points s-plot);(defun array-max-abs (points);  (let ((m 0.0));        (dotimes (i (length points));          (setf m (max m (abs (aref points i)))));        m));(setf graph-width 600);(setf graph-height 220);(defun s-plot (snd &optional (n 600));  (show-graphics);  (clear-graphics);  (cond ((soundp snd);               (s-plot-2 snd n (/ graph-height 2) graph-height));              (t;               (let ((gh (/ graph-height (length snd)));                     hs);                 (dotimes (i (length snd));                   (setf hs (s-plot-2 (aref snd i) n (+ (/ gh 2) (* i gh)) gh hs)))))));;;(defun s-plot-2 (snd n y-offset graph-height horizontal-scale);  (prog ((points (snd-samples snd n));                   maxpoint horizontal-scale vertical-scale);    (setf maxpoint (array-max-abs points));    (moveto 0 y-offset);    (lineto graph-width y-offset);    (moveto 0 y-offset);    (cond ((null horizontal-scale);               (setf horizontal-scale (/ (float graph-width) (length points)))));    (setf vertical-scale (- (/ (float graph-height) 2 maxpoint)));    (dotimes (i (length points));      (lineto (truncate (* horizontal-scale i));              (+ y-offset (truncate (* vertical-scale (aref points i))))));    (format t "X Axis: ~A to ~A (seconds)\n" (snd-t0 snd) (/ (length points) (snd-srate snd)));    (format t "Y Axis: ~A to ~A\n" (- maxpoint) maxpoint);    (format t "~A samples plotted.\n" (length points));    (return horizontal-scale);    ));; S-EDIT - run the audio editor on a sound;;(defmacro s-edit (&optional expr);  `(prog ();         (if ,expr (s-save ,expr 1000000000 *default-sound-file*));         (system (format nil "audio_editor ~A &" ;                         (soundfilename *default-sound-file*)))))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -