| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; ;;;
- ;;; Language Technologies Institute ;;;
- ;;; Carnegie Mellon University ;;;
- ;;; Copyright (c) 2000 ;;;
- ;;; 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. ;;;
- ;;; ;;;
- ;;; CARNEGIE MELLON UNIVERSITY 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 CARNEGIE MELLON UNIVERSITY 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. ;;;
- ;;; ;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; Author: Alan W Black (awb@cs.cmu.edu) ;;;
- ;;; Date: September 2000 ;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;; ;;;
- ;;; Display as we go synthesis ;;;
- ;;; ;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
- (defvar play_sync_program "/home/awb/projects/flite/testsuite/play_sync")
- (define (display_as_we_go file filemode)
- "(display_as_we_go file filemode)
- Display the words as we synthesize them."
- (set! tts_hooks
- (list utt.synth utt.play_display))
- (tts_file file filemode)
- (format t "\n\n"))
- (define (utt.play_display utt)
- "(utt.play_display utt)
- Play and display."
- (let ((tmpwave (make_tmp_filename))
- (tmpword (make_tmp_filename)))
- (utt.save.wave utt tmpwave 'riff)
- (utt.save.play_words utt tmpword)
- ; (utt.save.segs utt tmpword)
- (system (format nil "%s %s %s" play_sync_program tmpwave tmpword))
- (delete-file tmpwave)
- (delete-file tmpword)
- utt))
- (define (utt.save.play_words utt filename)
- "(utt.save.play_words UTT FILE)
- Save words of UTT in a FILE in xlabel format, wityh added __silence__."
- (let ((fd (fopen filename "w")))
- (format fd "#\n")
- (mapcar
- (lambda (w)
- (if (string-equal
- (item.feat w "R:SylStructure.daughter1.daughter1.R:Segment.p.name")
- (car (cadr (car (PhoneSet.description '(silences))))))
- (format fd "%2.4f 100 %s\n"
- (item.feat w "R:SylStructure.daughter1.daughter1.R:Segment.p.end")
- "__silence__"))
- (format fd "%2.4f 100 %s\n" (item.feat w "word_end")
- (item.name w)))
- (utt.relation.items utt 'Word))
- (fclose fd)
- utt))
- (provide 'play_sync)
|