This file is indexed.

/usr/share/doc/festival-doc/html/Scheme-API.html is in festival-doc 1:2.5.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Scheme API (Festival Speech Synthesis System)</title>

<meta name="description" content="Scheme API (Festival Speech Synthesis System)">
<meta name="keywords" content="Scheme API (Festival Speech Synthesis System)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<link href="index.html#Top" rel="start" title="Top">
<link href="Index.html#Index" rel="index" title="Index">
<link href="Index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="API.html#API" rel="up" title="API">
<link href="Shell-API.html#Shell-API" rel="next" title="Shell API">
<link href="API.html#API" rel="prev" title="API">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<a name="Scheme-API"></a>
<div class="header">
<p>
Next: <a href="Shell-API.html#Shell-API" accesskey="n" rel="next">Shell API</a>, Up: <a href="API.html#API" accesskey="u" rel="up">API</a> &nbsp; [<a href="Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Scheme-API-1"></a>
<h3 class="section">28.1 Scheme API</h3>

<a name="index-Scheme-programming"></a>
<p>Festival includes a full programming language, Scheme (a variant of
Lisp) as a powerful interface to its speech synthesis functions.
Often this will be the easiest method of controlling Festival&rsquo;s
functionality.  Even when using other API&rsquo;s they will ultimately
depend on the Scheme interpreter.
</p>
<p>Scheme commands (as s-expressions) may be simply written in files and
interpreted by Festival, either by specification as arguments on
the command line, in the interactive interpreter, or through standard
input as a pipe.  Suppose we have a file <samp>hello.scm</samp> containing
</p>
<div class="lisp">
<pre class="lisp">;; A short example file with Festival Scheme commands
(voice_rab_diphone) ;; select Gordon
(SayText &quot;Hello there&quot;)
(voice_don_diphone) ;; select Donovan
(SayText &quot;and hello from me&quot;)
</pre></div>

<p>From the command interpreter we can execute the commands in this file
by loading them
</p><div class="lisp">
<pre class="lisp">festival&gt; (load &quot;hello.scm&quot;)
nil
</pre></div>
<p>Or we can execute the commands in the file directly from the
shell command line
</p><div class="lisp">
<pre class="lisp">unix$ festival -b hello.scm
</pre></div>
<p>The &lsquo;<samp>-b</samp>&rsquo; option denotes batch operation meaning the file is loaded
and then Festival will exit, without starting the command interpreter.
Without this option &lsquo;<samp>-b</samp>&rsquo; Festival will load
<samp>hello.scm</samp> and then accept commands on standard input.  This can
be convenient when some initial set up is required for a session.
</p>
<p>Note one disadvantage of the batch method is that time is required for
Festival&rsquo;s initialisation every time it starts up.  Although this will
typically only be a few seconds, for saying short individual expressions
that lead in time may be unacceptable.  Thus simply executing the
commands within an already running system is more desirable, or using
the server/client mode.
</p>
<p>Of course its not just about strings of commands, because Scheme is a
fully functional language, functions, loops, variables, file access,
arithmetic operations may all be carried out in your Scheme programs.
Also, access to Unix is available through the <code>system</code>
function.  For many applications directly programming them in Scheme is
both the easiest and the most efficient method.
</p>
<a name="index-scripts"></a>
<p>A number of example Festival scripts are included in <samp>examples/</samp>.
Including a program for saying the time, and for telling you the latest
news (by accessing a page from the web).  Also see the
detailed discussion of a script example in See <a href="POS-Example.html#POS-Example">POS Example</a>.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Shell-API.html#Shell-API" accesskey="n" rel="next">Shell API</a>, Up: <a href="API.html#API" accesskey="u" rel="up">API</a> &nbsp; [<a href="Index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Index.html#Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>