### 7.1 Basic command line options ¶

Festival’s basic calling method is as

    festival [options] file1 file2 ...

Options may be any of the following

`-q`

  start Festival without loading `init.scm` or user’s `.festivalrc`

`-b` ¶
`--batch`

  After processing any file arguments do not become interactive

`-i` ¶
`--interactive`

  After processing file arguments become interactive. This option overrides any batch argument.

`--tts` ¶

  Treat file arguments in text-to-speech mode, causing them to be rendered as speech rather than interpreted as commands. When selected in interactive mode the command line edit functions are not available

`--command` ¶

  Treat file arguments in command mode. This is the default.

`--language LANG` ¶

  Set the default language to LANG. Currently LANG may be one of `english`, `spanish` or `welsh` (depending on what voices are actually available in your installation).

`--server`

  After loading any specified files go into server mode. This is a mode where Festival waits for clients on a known port (the value of `server_port`, default is 1314). Connected clients may send commands (or text) to the server and expect waveforms back. See Server/client API. Note server mode may be unsafe and allow unauthorised access to your machine, be sure to read the security recommendations in Server/client API

`--script scriptfile` ¶

  Run scriptfile as a Festival script file. This is similar to to `--batch` but it encapsulates the command line arguments into the Scheme variables `argv` and `argc`, so that Festival scripts may process their command line arguments just like any other program. It also does not load the the basic initialisation files as sometimes you may not want to do this. If you wish them, you should copy the loading sequence from an example Festival script like `festival/examples/saytext`.

`--heap NUMBER` ¶

  The Scheme heap (basic number of Lisp cells) is of a fixed size and cannot be dynamically increased at run time (this would complicate garbage collection). The default size is 210000 which seems to be more than adequate for most work. In some of our training experiments where very large list structures are required it is necessary to increase this. Note there is a trade off between size of the heap and time it takes to garbage collect so making this unnecessarily big is not a good idea. If you don’t understand the above explanation you almost certainly don’t need to use the option.

In command mode, if the file name starts with a left parenthesis, the name itself is read and evaluated as a Lisp command. This is often convenient when running in batch mode and a simple command is necessary to start the whole thing off after loading in some other specific files.