Greek TTS voice
This commit is contained in:
parent
93e3eb7cbb
commit
863c39ecbb
2 changed files with 85 additions and 0 deletions
|
@ -21,6 +21,7 @@
|
|||
<asset source="voice/sk-tts/ttsconfig.p" destination="voice/sk-tts/_ttsconfig.p" mode="overwriteOnlyIfExists" />
|
||||
<asset source="voice/sv-tts/ttsconfig.p" destination="voice/sv-tts/_ttsconfig.p" mode="overwriteOnlyIfExists" />
|
||||
<asset source="voice/zh-tts/ttsconfig.p" destination="voice/zh-tts/_ttsconfig.p" mode="overwriteOnlyIfExists" />
|
||||
<asset source="voice/el-tts/ttsconfig.p" destination="voice/el-tts/_ttsconfig.p" mode="overwriteOnlyIfExists" />
|
||||
|
||||
<asset source="voice/ru3/config.p" destination="voice/ru3/_config.p" mode="overwriteOnlyIfExists" />
|
||||
<asset source="voice/ru2/config.p" destination="voice/ru2/_config.p" mode="overwriteOnlyIfExists" />
|
||||
|
|
84
OsmAnd/assets/voice/el-tts/ttsconfig.p
Normal file
84
OsmAnd/assets/voice/el-tts/ttsconfig.p
Normal file
|
@ -0,0 +1,84 @@
|
|||
:- op('==', xfy, 500).
|
||||
version(101).
|
||||
language(el).
|
||||
|
||||
% before each announcement (beep)
|
||||
preamble - [].
|
||||
|
||||
|
||||
%% TURNS
|
||||
turn('left', ['στρίψε αριστερά ']).
|
||||
turn('left_sh', ['στρίψε κλειστά αριστερά ']).
|
||||
turn('left_sl', ['στρίψε λοξά αριστερά ']).
|
||||
turn('right', ['στίψε δεξιά ']).
|
||||
turn('right_sh', ['στρίψε κλειστά δεξιά ']).
|
||||
turn('right_sl', ['στρίψε λοξά δεξιά ']).
|
||||
|
||||
prepare_turn(Turn, Dist) == ['Προετοιμάσου και ', M, ' μετά από ', D] :- distance(Dist) == D, turn(Turn, M).
|
||||
turn(Turn, Dist) == ['Μετά από ', D, M] :- distance(Dist) == D, turn(Turn, M).
|
||||
turn(Turn) == M :- turn(Turn, M).
|
||||
|
||||
prepare_make_ut(Dist) == ['Προετοιμάσου να κάνεις αναστροφή μετά από ', D] :- distance(Dist) == D.
|
||||
make_ut(Dist) == ['μετά από ', D, ' κάνε αναστροφή '] :- distance(Dist) == D.
|
||||
make_ut == ['Κάνε αναστροφή '].
|
||||
make_ut_wp == ['Όταν είναι δυνατόν, κάνε αναστροφή '].
|
||||
|
||||
prepare_roundabout(Dist) == ['Προετοιμάσου να μπείς σε κυκλικό κόμβο μετά από ', D] :- distance(Dist) == D.
|
||||
roundabout(Dist, _Angle, Exit) == ['Μετά από ', D, ' μπές στον κυκλικό κόμβο, και βγές στην ', E, 'έξοδο'] :- distance(Dist) == D, nth(Exit, E).
|
||||
roundabout(_Angle, Exit) == ['βγες στην ', E, 'έξοδο'] :- nth(Exit, E).
|
||||
|
||||
go_ahead == ['Προχώρα ευθεία '].
|
||||
go_ahead(Dist) == ['Ακολούθησε τον δρόμο για ', D]:- distance(Dist) == D.
|
||||
|
||||
and_arrive_destination == ['και φτάνεις στον προορισμό σου '].
|
||||
|
||||
then == ['και '].
|
||||
reached_destination == ['έφτασες στον προορισμό σου '].
|
||||
bear_right == ['μείνε δεξιά '].
|
||||
bear_left == ['μείνε αριστερά '].
|
||||
|
||||
route_new_calc(Dist) == ['Το ταξίδι είναι ', D] :- distance(Dist) == D.
|
||||
route_recalc(Dist) == ['Επαναϋπολογισμός διαδρομής, απόσταση ', D] :- distance(Dist) == D.
|
||||
|
||||
location_lost == ['Το σήμα GPS χάθηκε '].
|
||||
|
||||
|
||||
%%
|
||||
nth(1, 'πρώτη ').
|
||||
nth(2, 'δεύτερη ').
|
||||
nth(3, 'τρίτη ').
|
||||
nth(4, 'τέταρτη ').
|
||||
nth(5, 'πέμπτη ').
|
||||
nth(6, 'έκτη ').
|
||||
nth(7, 'έβδομη ').
|
||||
nth(8, 'όγδοη ').
|
||||
nth(9, 'ένατη ').
|
||||
nth(10, 'δέκατη ').
|
||||
nth(11, 'ενδέκατη ').
|
||||
nth(12, 'δωδέκατη ').
|
||||
nth(13, 'δέκατη τρίτη ').
|
||||
nth(14, 'δέκατη τέταρτη ').
|
||||
nth(15, 'δέκατη πέμπτη ').
|
||||
nth(16, 'δέκατη έκτη ').
|
||||
nth(17, 'δέκατη έβδομη ').
|
||||
|
||||
|
||||
%%% distance measure
|
||||
distance(Dist) == [ X, ' μέτρα'] :- Dist < 100, D is round(Dist/10)*10, num_atom(D, X).
|
||||
distance(Dist) == [ X, ' μέτρα'] :- Dist < 1000, D is round(2*Dist/100)*50, num_atom(D, X).
|
||||
distance(Dist) == ['περίπου 1 χιλιόμετρο '] :- Dist < 1500.
|
||||
distance(Dist) == ['περίπου ', X, ' χιλιόμετρα '] :- Dist < 10000, D is round(Dist/1000), num_atom(D, X).
|
||||
distance(Dist) == [ X, ' χιλιόμετρα '] :- D is round(Dist/1000), num_atom(D, X).
|
||||
|
||||
|
||||
%% resolve command main method
|
||||
%% if you are familar with Prolog you can input specific to the whole mechanism,
|
||||
%% by adding exception cases.
|
||||
flatten(X, Y) :- flatten(X, [], Y), !.
|
||||
flatten([], Acc, Acc).
|
||||
flatten([X|Y], Acc, Res):- flatten(Y, Acc, R), flatten(X, R, Res).
|
||||
flatten(X, Acc, [X|Acc]).
|
||||
|
||||
resolve(X, Y) :- resolve_impl(X,Z), flatten(Z, Y).
|
||||
resolve_impl([],[]).
|
||||
resolve_impl([X|Rest], List) :- resolve_impl(Rest, Tail), ((X == L) -> append(L, Tail, List); List = Tail).
|
Loading…
Reference in a new issue