VoxForge
nsh, возможно не в тему, но подскажите пожалуйста каким образом вы составляли фонетическую транскрипцию русских слов?
P.S. посмотрел текущую фонетическую модель. мне не все звуки понятны...
hh х'
f ф
gg г'
e е
kk к'
pp п'
bb б'
zz з'
sch щ
mm м'
y
zh ж
u у
z з
b б
uu ю
ch ч
ff ф'
yy ы
g г
ur
c ц
k к
ss с'
rr р'
ll л'
ae
m м
nn н'
t т
d д
vv в'
i и
j й
ee э:
dd д'
n н
oo о:
l л
v в
ay
sh ш
aa а:
r р
p п
s с
a а
h х
ii и:
tt т'
Фонетическая транскрипция получается с помощью голоса msu_ru_nsh_clunits в синтезаторе Festival
Описание звуков можно найти здесь:
http://www.philol.msu.ru/~otipl/SpeechGroup/publications/2004/z-4.doc
Реализовано преобразование в
msu_ru_nsh_clunits/festvox/msu_ru_nsh_lexicon.scm
По некоторым звукам:
y безударный ы
ur у во второй степени редукции
ae мягкая гласная во второй степени редукции
ay твёрдая гласная во второй степени редукции
спасибо. в свободное время буду разбираться.
код msu_ru_nsh_lexicon.scm не большой, будет время перепишу на perl если разберусь, возможно получится устранить существующие ошибки в транскрипции.
В вашем алгоритме заложенным в vestival есть алгоритм определения степени редукции звука?
Пока-что вот что получилось:
ae ь - гласная стоящая после звонкой согласной во второй степени редукции - аналог знака [ь] [ч'э+р'ьс]
ay ъ - гласная стоящая после глухой согласной во второй степени редукции - аналог знака [ъ] [сла+бък'и+слъй]
uu u+ - ударная [у/ю] - звух определяется впередистоящей звонкой или глухой согласной
u u - безударная [у/ю] - звук определяется впередистоящей звонкой или глухой согласной
ur u' - [у/ю] во второй степени редукции
aa а+ - ударная а
a а - безударная а
ee э+ - ударная э
e э - безударная э
ii и+ - ударная и
i и - безударная и
yy ы+ - ударная ы
y ы - безударная ы
j й - используется в сочетании с гласными для получения звуков [й] [ю] [я]
bb б' - звонкая б
b б - глухая б
ch ч
c ц
dd д' - звонкая д
d д - глухая д
ff ф' - звонкая ф
f ф - звонкая ф
gg г' - звонкая г
g г - глухая г
hh х' - звонкая х
h х - глухая х
kk к' - звонкая к
k к - глухая к
ll л' - звонкая л
l л - глухая л
mm м' - звонкая м
m м - глухая м
nn н' - звонкая н
n н - глухая н
oo о+ - ударная о
pp п' - звонкая п
p п - глухая п
rr р' - звонкая р
r р - глухая р
sch щ
sh ш
ss с' - звонкая с
s с - глухая с
tt т' - звонкая т
t т - глухая т
vv в' - звонкая в
v в - глухая в
zh ж
zz з' - звонкая з
z з - глухая з
отнсительно словаря - заметил в нём слова записанные
через букву "e" несмотря на то что слово должно было быть записано через букву "ё"
поэтому транскрипция некоторых слов не верна
nsh, как Вы считаете,
что будет если уменьшить колличество базовых фонем
убрать звонкие гласные и ударные
компенсировать их фонемой делающей
звук звонким [as] например
и переделать под эти звуки словарь, например
через ch as e r as s [ч'эр'с]
p.s. ударные убрать из предположения что они важны при прозношении но не важны при распознавании
Только пожалуйста не говорите "попробуй", мне всё-таки интересно Ваше мнение
нашёл время и попробовал
sphinx адаптировался
INFO: pocketsphinx.c(805): wav/anonymous-20080731-chz/wav/ru_0006: с глаза ленивые серо-карие с не так же как упал женщины с искоркой (-11300614)
phone:
a
b
c
ch
d
e
f
g
h
i
j
ja
je
ji
jj
jo
ju
k
l
m
n
o
p
r
s
sch
sh
t
u
v
z
zh
SIL
глаза g l a z a
ленивые l je n ji v i je
серо-карие s je r o k a r ji je
и ji
так t a k
же zh je
как k a k
у u
той t o j
женщины zh je n sch ji n i
с s
искоркой ji s k o r k o j
ещё важное замечание
при всех тех же самых исходных данных модель языка (mdef) стала занимать в почти два раза меньше
была 5527759 байт
стала 3024728 байт
как на ваш вгляд лучше, когда модель получается больше или когда получается меньше?
> В вашем алгоритме заложенным в vestival есть алгоритм определения степени редукции звука?
Есть, (define (msu_ru::postlex_reduce_vowel utt)
> аналог знака [ь] [ч'э+р'ьс]
Я бы не стал проводить таких аналогий
> j й - используется в сочетании с гласными для получения звуков [й] [ю] [я]
Звук й - самостоятельный звук
> dd д' - звонкая д
д - всегда звонкая. Наверное, имелось ввиду деление на мягкие и твёрдые (pallatization)
> через букву "e" несмотря на то что слово должно было быть за
Это нормально, festival автоматически исправляет е на ё
> p.s. ударные убрать из предположения что они важны при прозношении но не важны при распознавании
Экспериментировать всегда можно и полезно, главное, чтобы не в ущерб качеству распознавания. Тем не менее, для оптимизации экспериментов полезно использовать общие соображения о языке, некоторые базовые знания, которые накоплены годами.
Для маленького словаря, действительно имеет смысл использовать менее сложный фонетический алфавит.
> как на ваш вгляд лучше, когда модель получается больше или когда получается
Чем меньше модель, тем лучше.
> Это нормально, festival автоматически исправляет е на ё
это оказалось не тривиальной задачей
сейчас я исправляю букву "ё" созданном Вами словаре
мне надо бует ещё около 5 часов свободного времени что бы проверить правильность автоисправления оставшейся части (~55%)
после этого я могу вам его передать и вы увидите с каким колличеством слов не справился festival
если вдруг знаете где можно взять словарь ударений в текстовом виде - подскажите пожалуйста
вот словарь с буквой "Ё"
если кто-нибудь найдёт ошибки - дайте знать
http://z1.prolink.ru/msu_ru_zero_test_yo.dic