Arabic
Introduction
The Arabic codec is an optionally licensed codec for the N2SIP solution.
Variable Parts Types
It supports the following variable parts types.
- Integer whole numbers
- Digits
- Time of day
- Duration
- Dates
- Prices
- Days
Integer Whole Numbers
This codec supports integer variable part values in the range 0 - 2,999,999,999.
This codec can speak integer numbers using either masculine or feminine gendered audio. Masculine gendered audio is used as the default. Audio spoken in response to IN initiated variable parts will be spoken using masculine gendered audio.
The word “and” is inserted between speaking each part of the number - billions, millions, thousands, hundreds and tens.
When speaking words for “thousand”, “million” and “billion”, the appropriate plural form of the number is spoken.
For example, 1,234,001 will use the audio:
Numbers-Other__MillionNumbers-Other__AndHundreds__200Numbers-Other__AndNumbers-Masculine__34Numbers-Other__Thousand_11_plusNumbers-Other__AndNumbers-Masculine__1
As another example, 3501 with feminine gendered audio would be spoken using:
Numbers-Masculine__3Numbers-Other__Thousand_3_to_10Numbers-Other__AndHundreds__500Numbers-Other__AndNumbers-Feminine__1
Note that “1 thousand” is spoken with the “1 thousand” plural variant, not as two audio fragments (i.e. not as “one” and “thousand”). Additional, hundreds are spoken using the audio fragment for the hundreds specifically recorded. For example, 200 is spoken with the audio file “200"”, not two audio files “two” and “hundred”.
The speaking of “0” is special. It is always spoken with a masculine gender and with a falling intonation.
Plural Support
Integer variable parts in this codec can be spoken with plural support with unique announcements for numeric values. The codec supports the following plurality:
- 0 (zero/none form)
- 1 (singular form)
- 2 (dual form)
- 3-10
- any other value (11+)
When speaking integer numbers, price, days and duration this audio codec uses the appropriate plural form of the relevant word automatically.
Digits
This codec supports arbitrary-length digit strings with the following characters:
0-9A-F*#
Digits can be spoken in three different formats:
- Format
1speaks digits individually. - Format
2speaks digits in groups of two. - Format
3speaks digits in groups of three.
The rightmost digits spoken will be the leftover digits. E.g. 1234 in format three will be split
into 1 and 234 and spoken as “one (masculine) two-hundred and thirty-four (masculine, falling variant)”
using the following audio files:
Numbers-Masculine__1Hundreds__200Numbers-Other__AndNumbers-Masculine-Falling__34
This codec can use either masculine or feminine gendered audio for the spoken numbers. This codec will use falling intonation for the last place digits spoken when a masculine gender is used.
Time
This codec supports Time (HHMM) variable part values in the range 0000 - 2400.
The 24-hour clock spoken format is always used.
Spoken time does not use plural forms for “minutes” or “hours”. Instead, each possible minute or hour value is expected to be individually available. “and” is inserted between the hours and minutes.
For example 14:32 is spoken as:
Hours__14Numbers-Other__AndMinutes__32
There are no construction options for Time variable parts and gendered audio is not used.
Duration
This codec supports Duration (HHMMSS) variable part values in the range 000000 - 240000.
The spoken format is X hour(s) and Y minute(s) and Z second(s). A segment (hours, minutes, seconds) is only spoken if non-zero.
This codec uses masculine gendered audio and falling intonation for the duration’s minute and second values, and neutral intonation for hours.
The appropriate plural form(0, 1, 2, 3 - 10 or 11+) is used for each component of the duration. For example “120000” is spoken as “12 (masculine) hours (11+ form)” using the audio files:
Numbers-Masculine__12Time__Hours_11_plus
Date
This codec supports Date (YYYYMMDD) variable part values in the range 10000101 - 99991231.
- The spoken form depends on the format requested. Formats available are:
- “Weekday” “Day of month” “Month” (format
weekday_ddth_month) - “Weekday” “Day of month” “Month” “Year” (format
weekday_ddth_month_year) - “Day of month” “Month” (format
ddth_month) - “Day of month” “Month” “Year” (format
ddth_month_year)
- “Weekday” “Day of month” “Month” (format
To speak a date without error, the following rules are in place:
- The month value must be in the range
01-12. - The day of month is accepted in the range
01-31(no further checking is performed).
When constructing the year:
- When
YYYYis between2000and2099, the form is “2-Thousand …” - When
YYYY<=19the form is “1-thousand 9-hundred”.
Masculine gendered audio is used for numbers when speaking dates.
The last component of a date uses a falling intonation when it is numeric.
For example “19841215” is spoken as using the following audio files when
using the format weekday_ddth_month_year:
Weekdays__SaturdayOrdinals__15thMonths__DecemberNumbers-Other__ThousandHundreds__900Numbers-Masculine-Falling__84
Price
This codec supports Price (DDDDDDCC) variable part values in the range $0.00 - $999,999.99.
The terminology “Rial” and Piaster" is used for the big and small components of the price.
- The spoken form is “(DDDDDD) Rial (CC) Piaster”.
- The Rial amount will only be spoken if non-zero, unless the CC value is also zero in which case the codec will speak “zero Rial”.
- The Piaster amount will only be spoken if non-zero.
- The appropriate plural form of Rial and Piaster will be spoken (see the plurals section for a list of plural forms).
All spoken values for prices use masculine gendered audio, with a falling intonation for all numbers spoken. There are no construction options for Price (DDDDDDCC) variable parts.
For example the value 8599 is spoken as:
Numbers-Masculine__85Currency__Rial_11_plusNumbers-Masculine-Falling__99Currency__Piaster_11_plus
Days
This codec supports a Days variable part type. The same number format is used as with the Integer variable part type. The codec adds the appropriate plural form of the word “days” after the number value.
All spoken values for days expressions as audio use masculine gendered audio, with a falling intonation for the last part of the number spoken.
For example “3” days uses the files:
Numbers-Masculine-Falling__3Days__Day_3_to_10
There are no construction options for the Days variable parts.
Audio Fragments Required
File names for each audio fragment must be formatted as <group>__<fragment>.
| Digits | Hours | Hundreds | Months | Weekdays |
|---|---|---|---|---|
| 0 | 0 | 100 | January | Sunday |
| 1 | 1 | 200 | February | Monday |
| 2 | 2 | 300 | March | Tuesday |
| 3 | 3 | 400 | April | Wednesday |
| 4 | 4 | 500 | May | Thursday |
| 5 | 5 | 600 | June | Friday |
| 6 | 6 | 700 | July | Saturday |
| 7 | 7 | 800 | August | |
| 8 | 8 | 900 | September | |
| 9 | 9 | October | ||
| A | 10 | November | ||
| B | 11 | December | ||
| C | 12 | |||
| D | 13 | |||
| E | 14 | |||
| F | 15 | |||
| Star | 16 | |||
| Hash | 17 | |||
| 18 | ||||
| 19 | ||||
| 20 | ||||
| 21 | ||||
| 22 | ||||
| 23 | ||||
| 24 |
| Extra | Minutes | Numbers-Feminine | Numbers-Masculine | Ordinals |
|---|---|---|---|---|
| And | 1 | 0 | 0 | 1st |
| Thousand | 2 | 1 | 1 | 2nd |
| Thousand_2 | 3 | 2 | 2 | 3rd |
| Thousand_3_to_10 | 4 | 3 | 3 | 4th |
| Thousand_11_plus | 5 | 4 | 4 | 5th |
| Million | 6 | 5 | 5 | 6th |
| Million_2 | 7 | 6 | 6 | 7th |
| Million_3_plus | 8 | 7 | 7 | 8th |
| Billion | 9 | 8 | 8 | 9th |
| Billion_2 | 10 | 9 | 9 | 10th |
| Billion_3_plus | 11 | 10 | 10 | 11th |
| Day_0 | 12 | 11 | 11 | 12th |
| Day_1 | 13 | 12 | 12 | 13th |
| Day_2 | 14 | 13 | 13 | 14th |
| Day_3_to_10 | 15 | 14 | 14 | 15th |
| Day_11_plus | 16 | 15 | 15 | 16th |
| Rial_0 | 17 | 16 | 16 | 17th |
| Rial_1 | 18 | 17 | 17 | 18th |
| Rial_2 | 19 | 18 | 18 | 19th |
| Rial_3_to_10 | 20 | 19 | 19 | 20th |
| Rial_11_plus | 21 | 20 | 20 | 21st |
| Piaster_1 | 22 | 21 | 21 | 22nd |
| Piaster_2 | 23 | 22 | 22 | 23rd |
| Piaster_3_to_10 | 24 | 23 | 23 | 24th |
| Piaster_11_plus | 25 | 24 | 24 | 25th |
| Hours_0 | 26 | 25 | 25 | 26th |
| Hours_1 | 27 | 26 | 26 | 27th |
| Hours_2 | 28 | 27 | 27 | 28th |
| Hours_3_to_10 | 29 | 28 | 28 | 29th |
| Hours_11_plus | 30 | 29 | 29 | 30th |
| Minutes_0 | 31 | 30 | 30 | 31st |
| Minutes_1 | 32 | 31 | 31 | |
| Minutes_2 | 33 | 32 | 32 | |
| Minutes_3_to_10 | 34 | 33 | 33 | |
| Minutes_11_plus | 35 | 34 | 34 | |
| Seconds_0 | 36 | 35 | 35 | |
| Seconds_1 | 37 | 36 | 36 | |
| Seconds_2 | 38 | 37 | 37 | |
| Seconds_3_to_10 | 39 | 38 | 38 | |
| Seconds_11_plus | 40 | 39 | 39 | |
| 41 | 40 | 40 | ||
| 42 | 41 | 41 | ||
| 43 | 42 | 42 | ||
| 44 | 43 | 43 | ||
| 45 | 44 | 44 | ||
| 46 | 45 | 45 | ||
| 47 | 46 | 46 | ||
| 48 | 47 | 47 | ||
| 49 | 48 | 48 | ||
| 50 | 49 | 49 | ||
| 51 | 50 | 50 | ||
| 52 | 51 | 51 | ||
| 53 | 52 | 52 | ||
| 54 | 53 | 53 | ||
| 55 | 54 | 54 | ||
| 56 | 55 | 55 | ||
| 57 | 56 | 56 | ||
| 58 | 57 | 57 | ||
| 59 | 58 | 58 | ||
| 59 | 59 | |||
| 60 | 60 | |||
| 61 | 61 | |||
| 62 | 62 | |||
| 63 | 63 | |||
| 64 | 64 | |||
| 65 | 65 | |||
| 66 | 66 | |||
| 67 | 67 | |||
| 68 | 68 | |||
| 69 | 69 | |||
| 70 | 70 | |||
| 71 | 71 | |||
| 72 | 72 | |||
| 73 | 73 | |||
| 74 | 74 | |||
| 75 | 75 | |||
| 76 | 76 | |||
| 77 | 77 | |||
| 78 | 78 | |||
| 79 | 79 | |||
| 80 | 80 | |||
| 81 | 81 | |||
| 82 | 82 | |||
| 83 | 83 | |||
| 84 | 84 | |||
| 85 | 85 | |||
| 86 | 86 | |||
| 87 | 87 | |||
| 88 | 88 | |||
| 89 | 89 | |||
| 90 | 90 | |||
| 91 | 91 | |||
| 92 | 92 | |||
| 93 | 93 | |||
| 94 | 94 | |||
| 95 | 95 | |||
| 96 | 96 | |||
| 97 | 97 | |||
| 98 | 98 | |||
| 99 | 99 |
| Numbers-Masculine-Falling |
|---|
| 0 |
| 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 |