| Conditional rules have `?` and a condition number at the start if | Conditional rules have `?` and a condition number at the start if | ||||
| the line in the `*_rules` or `*_list` file. This means that the rule | the line in the `*_rules` or `*_list` file. This means that the rule | ||||
| only applies of that condition number is specified in a `dictrules` | only applies of that condition number is specified in a `dictrules` | ||||
| line in the [voice file](voices.html). | |||||
| line in the [voice file](voices.md). | |||||
| If the rule starts with `?!` then the rule only applies if the | If the rule starts with `?!` then the rule only applies if the | ||||
| condition number is `not` specified in the voice file. e.g. | condition number is `not` specified in the voice file. e.g. |
| and also HTML. | and also HTML. | ||||
| * Compact size. The program and its data, including many languages, | * Compact size. The program and its data, including many languages, | ||||
| totals about 1.4 Mbytes. | totals about 1.4 Mbytes. | ||||
| * Can be used as a front-end to [MBROLA diphone voices](mbrola.html). | |||||
| * Can be used as a front-end to [MBROLA diphone voices](mbrola.md). | |||||
| eSpeak NG converts text to phonemes with pitch and length information. | eSpeak NG converts text to phonemes with pitch and length information. | ||||
| * Can translate text into phoneme codes, so it could be adapted as a | * Can translate text into phoneme codes, so it could be adapted as a | ||||
| front end for another speech synthesis engine. | front end for another speech synthesis engine. |