;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; ;; | |
;;; Centre for Speech Technology Research ;; | |
;;; University of Edinburgh, UK ;; | |
;;; Copyright (c) 1996,1997 ;; | |
;;; All Rights Reserved. ;; | |
;;; ;; | |
;;; Permission is hereby granted, free of charge, to use and distribute ;; | |
;;; this software and its documentation without restriction, including ;; | |
;;; without limitation the rights to use, copy, modify, merge, publish, ;; | |
;;; distribute, sublicense, and/or sell copies of this work, and to ;; | |
;;; permit persons to whom this work is furnished to do so, subject to ;; | |
;;; the following conditions: ;; | |
;;; 1. The code must retain the above copyright notice, this list of ;; | |
;;; conditions and the following disclaimer. ;; | |
;;; 2. Any modifications must be clearly marked as such. ;; | |
;;; 3. Original authors' names are not deleted. ;; | |
;;; 4. The authors' names are not used to endorse or promote products ;; | |
;;; derived from this software without specific prior written ;; | |
;;; permission. ;; | |
;;; ;; | |
;;; THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK ;; | |
;;; DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ;; | |
;;; ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ;; | |
;;; SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE ;; | |
;;; FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ;; | |
;;; WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ;; | |
;;; AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ;; | |
;;; ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF ;; | |
;;; THIS SOFTWARE. ;; | |
;;; ;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; | |
;;; Specification of voices and some major choices of synthesis | |
;;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;; | |
;;; This should use some sort of database description for voices so | |
;;; new voices will become automatically available. | |
;;; | |
(define (language_british_english) | |
"(language_british_english) | |
Set up language parameters for British English." | |
(require 'voices) | |
;; Will get more elaborate, with different choices of voices in language | |
(set! male1 voice_rab_diphone) | |
(if (symbol-bound? 'voice_don_diphone) | |
(set! male2 voice_don_diphone)) | |
(if (symbol-bound? 'voice_gsw_diphone) | |
(set! male3 voice_gsw_diphone)) | |
(if (symbol-bound? 'voice_gsw_450) | |
(set! male4 voice_gsw_450)) | |
(male1) | |
(Parameter.set 'Language 'britishenglish) | |
) | |
(define (language_american_english) | |
"(language_american_english) | |
Set up language parameters for Aemerican English." | |
(require 'voices) | |
(if (symbol-bound? 'voice_kal_diphone) | |
(set! female1 voice_kal_diphone)) | |
(if (symbol-bound? 'voice_kal_diphone) | |
(set! male1 voice_kal_diphone)) | |
(male1) | |
(Parameter.set 'Language 'americanenglish) | |
) | |
(define (language_scots_gaelic) | |
"(language_scots_gaelic) | |
Set up language parameters for Scots Gaelic." | |
(error "Scots Gaelic not yet supported.") | |
(Parameter.set 'Language 'scotsgaelic) | |
) | |
(define (language_welsh) | |
"(language_welsh) | |
Set up language parameters for Welsh." | |
(set! male1 voice_welsh_hl) | |
(male1) | |
(Parameter.set 'Language 'welsh) | |
) | |
(define (language_castillian_spanish) | |
"(language_spanish) | |
Set up language parameters for Castillian Spanish." | |
(voice_el_diphone) | |
(set! male1 voice_el_diphone) | |
(Parameter.set 'Language 'spanish) | |
) | |
(define (select_language language) | |
(cond | |
((or (equal? language 'britishenglish) | |
(equal? language 'english)) ;; we all know its the *real* English | |
(language_british_english)) | |
((equal? language 'americanenglish) | |
(language_american_english)) | |
((equal? language 'scotsgaelic) | |
(language_scots_gaelic)) | |
((equal? language 'welsh) | |
(language_welsh)) | |
((equal? language 'spanish) | |
(language_castillian_spanish)) | |
((equal? language 'klingon) | |
(language_klingon)) | |
(t | |
(print "Unsupported language, using English") | |
(language_british_english)))) | |
(defvar language_default language_british_english) | |
(provide 'languages) | |