Hindi
Introduction
The Hindi language 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 - 999,999,999.
For example, 315 is spoken as “three hundred fifteen”.
The word “and” is included between the hundreds and tens/ones value following these rules:
-
Where the number is <
1000:- Where the tens/ones value is less than 10, then “and” is included. E.g.
101is spoken as “one hundred and one” - Where the tens/ones value is 10 or greater, then “and” is not included E.g.
111is spoken as “one hundred eleven”.
- Where the tens/ones value is less than 10, then “and” is included. E.g.
-
Where the number is >
1000:- Where the hundreds value is 0, then “and” is always spoken. E.g.
1011is “one thousand and eleven”. - Where the tens/one value is between 0 and 9, then “and” is always spoken. E.g.
1101is “one thousand one hundred and one”. - Where the tens/one value is 10 or greater, then “and” is only spoken if the hundreds value is 0. E.g.
1111is “one thousand one hundred eleven”.
- Where the hundreds value is 0, then “and” is always spoken. E.g.
This codec uses the neutral intonation all audio fragments except when “0” is spoken as part of a number. “0” is spoken with a falling intonation.
For example, 1,234,001 will use the audio:
Numbers__1Extra__Million+160Hundreds__200Numbers__34Extra__ThousandExtra__AndNumbers__1
There are no construction options for Integer variable parts.
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:
- 1
- any other value
This codec uses the neutral intonation all audio fragments.
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.
This codec will use falling intonation for the last place digits spoken.
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 two hundred and thirty four”
and will use the following audio files:
Numbers__1Hundreds__200Numbers-Falling__34
Time
This codec supports Time (HHMM) variable part values in the range 0000 - 2400.
The 24-hour clock spoken format is always used.
For example 14:32 is spoken as:
Hours__14Minutes__32
There are no construction options for Time variable parts.
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 falling intonation for the duration’s minute and second values, and neutral intonation for hours.
For example “120055” is spoken with the audio files:
Numbers__12Extra__HoursExtra__AndNumbers-Falling__55Extra__Seconds
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” “Month” “Day of month”
- “Weekday” “Month” “Day of month” “Year”
- “Month” “Day of month”
- “Month” “Day of month” “Year”
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 “Two Thousand And …” - When
YYYY<=19the form is “Nineteen”.
For example “19841215” is spoken as using the following audio files when
using the format weekday_ddth_month_year:
Weekdays__SaturdayMonths__DecemberOrdinals__15thNumbers__19Numbers__84
Price
This codec supports Price (DDDDDDCC) variable part values in the range $0.00 - $999,999.99.
The terminology “dirhams” and fils" is used for the big and small components of the price.
- The spoken form is “(DDDDDD) Dirham(s) and (CC) Fil(s)”.
- The dirham amount will only be spoken if non-zero.
- The fils amount will only be spoken if non-zero, unless the DDDDDD value is also zero in which case the codec will speak “zero fil”.
- The fragment “Dirham” is used if
DDDDDD=1, otherwise “Dirhams” is used. - The fragment “Fil” is used if
CC=1, otherwise “Fils” is used.
In contrast to integer numbers, this codec uses a falling intonation for fils, and a neutral intonation for dirhams.
There are no construction options for Price (DDDDDDCC) variable parts.
For example the value 8599 is spoken as:
Numbers__85Extra__DirhamsNumbers-Falling__99Extra__Fils
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 word “Days” or “Day” as appropriate after the number value.
For example “1” day uses the files:
Numbers__1Days__Day_1
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 | Extra | Hundreds | Months | Weekdays |
|---|---|---|---|---|
| 0 | And | 100 | January | Sunday |
| 1 | Day | 200 | February | Monday |
| 2 | Days | 300 | March | Tuesday |
| 3 | Thousand | 400 | April | Wednesday |
| 4 | Million | 500 | May | Thursday |
| 5 | Hour | 600 | June | Friday |
| 6 | Hours | 700 | July | Saturday |
| 7 | Minute | 800 | August | |
| 8 | Minutes | 900 | September | |
| 9 | Second | October | ||
| A | Seconds | November | ||
| B | Dirham | December | ||
| C | Dirhams | |||
| D | Fil | |||
| E | Fils | |||
| F | ||||
| Star | ||||
| Hash |
| Hours | Minutes | Numbers | Numbers-Falling | Ordinals |
|---|---|---|---|---|
| 0 | 1 | 0 | 0 | 1st |
| 1 | 2 | 1 | 1 | 2nd |
| 2 | 3 | 2 | 2 | 3rd |
| 3 | 4 | 3 | 3 | 4th |
| 4 | 5 | 4 | 4 | 5th |
| 5 | 6 | 5 | 5 | 6th |
| 6 | 7 | 6 | 6 | 7th |
| 7 | 8 | 7 | 7 | 8th |
| 8 | 9 | 8 | 8 | 9th |
| 9 | 10 | 9 | 9 | 10th |
| 10 | 11 | 10 | 10 | 11th |
| 11 | 12 | 11 | 11 | 12th |
| 12 | 13 | 12 | 12 | 13th |
| 13 | 14 | 13 | 13 | 14th |
| 14 | 15 | 14 | 14 | 15th |
| 15 | 16 | 15 | 15 | 16th |
| 16 | 17 | 16 | 16 | 17th |
| 17 | 18 | 17 | 17 | 18th |
| 18 | 19 | 18 | 18 | 19th |
| 19 | 20 | 19 | 19 | 20th |
| 20 | 21 | 20 | 20 | 21st |
| 21 | 22 | 21 | 21 | 22nd |
| 22 | 23 | 22 | 22 | 23rd |
| 23 | 24 | 23 | 23 | 24th |
| 24 | 25 | 24 | 24 | 25th |
| 26 | 25 | 25 | 26th | |
| 27 | 26 | 26 | 27th | |
| 28 | 27 | 27 | 28th | |
| 29 | 28 | 28 | 29th | |
| 30 | 29 | 29 | 30th | |
| 31 | 30 | 30 | 31st | |
| 32 | 31 | 31 | ||
| 33 | 32 | 32 | ||
| 34 | 33 | 33 | ||
| 35 | 34 | 34 | ||
| 36 | 35 | 35 | ||
| 37 | 36 | 36 | ||
| 38 | 37 | 37 | ||
| 39 | 38 | 38 | ||
| 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 |