-
Notifications
You must be signed in to change notification settings - Fork 0
/
OM-Chant.lisp
105 lines (87 loc) · 4.19 KB
/
OM-Chant.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
;============================================================================
; OM-Chant
; Control CHANT synthesis from OpenMusic
;============================================================================
;
; This program is free software. For information on usage
; and redistribution, see the "LICENSE" file in this distribution.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
;
;============================================================================
;;;===================================================
;;; LIBRARY MAIN FILE
;;; Jean Bresson, IRCAM 2010
;;;===================================================
(in-package :om)
(defparameter *chant-files* '("om6-chant-prefs"
"chant-sdif"
"chant-synth"
"formants"
"chant-auto-rules"
"impulse"
"chant-evts-om6"
"transitions"
"transition-viewer"
"morphing-om6"
"chant-maquette"
))
(mapc #'(lambda (file) (compile&load (om-relative-path '("sources") file))) *chant-files*)
(fill-library '(("Synthesize" nil nil (chant-synth synthesize) nil)
("SDIF" nil nil (chant-patch write-chant-sdif-file gen-chant-sdif-frames) nil)
("Formants" nil nil (vowel-formants database-formants get-database-ids random-vowel add-formants complete-formants main-formants))
("Chant Control Rules" nil nil (autoamp fcomp autobw cslope autobend autotex spcor) nil)
("Chant Events"
(("Maquette" nil nil (maq-fof maq-fof-transition maq-fof-morph maq-f0 maq-f0-vib maq-f0-jit maq-f0-bpf maq-f0-transition) nil))
(ch-f0 ch-noise ch-snd ch-fof ch-flt ch-channels phoneme)
(ch-transitions gen-chant-channels gen-inter-event gen-inter-fofs fof-morph))
))
(doc-library "OM-CHANT is a library for the control of CHANT synthesis from OpenMusic.
<br><br>
The CHANT synthesizer (X. Rodet, Y. Potard, IRCAM - 1984) is set up according to one of 11 available patches, corresponding to different configurations of a FOF generator, a NOISE generator, a SOUND file player and a resonant FILTER.
<br><br>
Each of these modules is controlled by a continuous sequence of states. The synthesizer automatically interpolates between two successive states specified for each modules.
The CHANT synthesizer can be controlled by a file in the SDIF format.
<br><br>
OM-CHANT provides tools for creating this control file and for calling the CHANT synthesizer in OM visual programs.
Some automatic calculation andc orrection rules adapted from previous Chant implementations are also available.
<br><br>
OM-CHANT also provides higher-level control structures under the form of matrices, representing 'CHANT events'.
<br><br>
See the <a href=\"../OM-Chant-2.0-UserManual.pdf\">OM-Chant User Manual</a>
"
(find-library "OM-Chant"))
; (gen-lib-reference (find-library "OM-Chant"))
(unless (fboundp 'om::set-lib-release) (defmethod om::set-lib-release (version &optional lib) nil))
(om::set-lib-release 3.1)
(om::om-print "
=======================================
OM-CHANT 3.1 (c) IRCAM 2010-2019
Control of CHANT in OpenMusic
=======================================
")
;;;======================
;;; RELEASE NOTES
;;;======================
;;; 1.1
;;; - formant-filters returned as symbols ex. '(soprano o) instead of strings
;;; - chant-synth reformatted with keywords
;;; - chant-synth new input : normalize-level
;;;
;;; 1.2
;;; - New CHANT release compatibility (fixes SDIF dependencies and fromsf calls)
;;;
;;; 2.0
;;; - Merge with the CHANT-EVENTS architecture
;;; - Morphing and transition tools (R. Foulon)
;;; - New Chant standalone (removed dependency to SuperVP and tosf)
;;;
;;; 2.2
;;; - fix in complete-formants function
;;; 2.3
;;; - fix audio format issues
;;; 3.0
;;; - Compatibility OM#
;;; - Chant synth included