Русский язык на 8-битной азбуке Брайля

Автор Sp4rk, июля 4, 2017, 06:25

0 Пользователи и 1 гость просматривают эту тему.

Sp4rk

Из темы Синтез русской речи.

Пример перекодировки текста на русском языке в 8-битную азбуку Брайля (символы отображаются корректно не во всех шрифтах):

cyr-1918:
ЦитироватьРусский язык относится к восточной группе славянских языков, принадлежащих индоевропейской семье языков. Он является восьмым языком в мире по численности владеющих им как родным и пятым языком в мире по общей численности говорящих. Русский язык — национальный язык русского народа, основной язык международного общения в центральной Евразии, в Восточной Европе, в странах бывшего Советского Союза, один из рабочих языков ООН. Он является наиболее распространённым славянским языком и самым распространённым языком в Европе — географически и по числу носителей языка как родного. Занимает четвёртое место среди самых переводимых языков, а также — седьмое место среди языков, на которые переводится большинство книг.

Для фонологического строя русского языка характерны разветвлённая система согласных фонем (37 фонем, в большинстве своём парных по признакам твёрдости-мягкости и глухости-звонкости) и значительно менее сложная, исторически упростившаяся, система гласных (всего 5, в другой традиции — 6 фонем) при разнообразии позиционных видоизменений и тех, и других. Слоговыми являются обычно гласные звуки. Ударение — динамическое, или силовое (один из слогов словоформы — ударный — выделяется среди прочих более напряжённой артикуляцией), разноместное (не прикреплённое к какому-либо определённому слогу по отношению к началу или концу словоформы), подвижное (в разных формах одного слова могут быть ударными разные слоги и разные морфемы).

brai-2013:
Цитировать⡕⡖⣲⣲⢲⣌⢦ ⢦⡦⣺⣎⢲ ⡶⢴⢆⡶⣲⣌⢴⣲⡬ ⢲ ⣼⡶⣲⢴⡶⢒⢆⡶⢦ ⢺⡔⡖⣰⣰⡘ ⣲⢢⡦⣼⡬⢆⣲⢲⣌⢶ ⢦⡦⣺⣎⢲⡶⣼⣤ ⣰⡔⣌⢆⡦⢼⢢⡘⡺⡦⢖⣌⢶ ⣌⢆⢼⡶⢦⡘⣼⡔⡶⣰⡘⢦⣲⢲⡶⢦ ⣲⡘⡰⡤⢦⡘ ⢦⡦⣺⣎⢲⡶⣼⢄ ⡷⢆ ⢦⡦⣼⢢⡬⢦⡘⢴⣲⡬ ⣼⡶⣲⡤⡰⣎⡰ ⢦⡦⣺⣎⢲⡶⡰ ⣼ ⡰⣌⡔⡘ ⣰⡶ ⢒⣌⣲⢢⡘⢆⢆⡶⣲⢴⣌ ⣼⢢⡦⢼⡘⢦⡖⢖⣌⢶ ⣌⡰ ⢲⡦⢲ ⡔⡶⢼⢆⣎⡰ ⣌ ⣰⡬⢴⣎⡰ ⢦⡦⣺⣎⢲⡶⡰ ⣼ ⡰⣌⡔⡘ ⣰⡶ ⡶⣸⢖⡘⢦ ⢒⣌⣲⢢⡘⢆⢆⡶⣲⢴⣌ ⢺⡶⣼⡶⡔⡬⢖⣌⢶⢄ ⡕⡖⣲⣲⢲⣌⢦ ⢦⡦⣺⣎⢲ ⣶ ⢆⡦⣒⣎⡶⢆⡦⢢⡤⢆⣎⢦ ⢦⡦⣺⣎⢲ ⡔⡖⣲⣲⢲⡶⢺⡶ ⢆⡦⡔⡶⢼⡦⣤ ⡶⣲⢆⡶⣼⢆⡶⢦ ⢦⡦⣺⣎⢲ ⡰⡘⡺⢼⡖⢆⡦⡔⡶⢼⢆⡶⢺⡶ ⡶⣸⢖⡘⢆⣌⢦⡦ ⣼ ⣒⣮⢆⢴⡔⡦⢢⡤⢆⡶⢦ ⢧⡘⣼⡔⡦⣺⣌⣌⣤ ⣼ ⣽⡶⣲⢴⡶⢒⢆⡶⢦ ⢧⡘⣼⡔⡶⣰⡘⣤ ⣼ ⣲⢴⡔⡦⢆⡦⢶ ⣸⣎⣼⡲⡘⢺⡶ ⣳⡶⣼⡘⢴⣲⢲⡶⢺⡶ ⣳⡶⢦⡖⣺⡦⣤ ⡶⢼⣌⢆ ⣌⣺ ⡔⡦⣸⡶⢒⣌⢶ ⢦⡦⣺⣎⢲⡶⣼ ⡷⡷⢇⢄ ⡷⢆ ⢦⡦⣼⢢⡬⢦⡘⢴⣲⡬ ⢆⡦⣌⣸⡶⢢⡘⢦⡘ ⡔⡦⣲⣰⡔⡶⣲⢴⡔⡦⢆⡊⢆⢆⣎⡰ ⣲⢢⡦⣼⡬⢆⣲⢲⣌⡰ ⢦⡦⣺⣎⢲⡶⡰ ⣌ ⣲⡦⡰⣎⡰ ⡔⡦⣲⣰⡔⡶⣲⢴⡔⡦⢆⡊⢆⢆⣎⡰ ⢦⡦⣺⣎⢲⡶⡰ ⣼ ⢧⡘⣼⡔⡶⣰⡘ ⣶ ⢺⡘⡶⢺⡔⡦⣴⣌⢒⡘⣲⢲⣌ ⣌ ⣰⡶ ⢒⣌⣲⢢⡖ ⢆⡶⣲⣌⢴⡘⢢⡘⢦ ⢦⡦⣺⣎⢲⡦ ⢲⡦⢲ ⡔⡶⢼⢆⡶⢺⡶⢄ ⣻⡦⢆⣌⡰⡦⢦⡘⢴ ⢒⡘⢴⣼⡊⡔⢴⡶⢦⡘ ⡰⡘⣲⢴⡶ ⣲⡔⡘⢼⣌ ⣲⡦⡰⣎⢶ ⣰⡘⡔⡘⣼⡶⢼⣌⡰⣎⢶ ⢦⡦⣺⣎⢲⡶⣼⣤ ⡦ ⢴⡦⢲⡺⡘ ⣶ ⣲⡘⢼⡤⡰⡶⢦⡘ ⡰⡘⣲⢴⡶ ⣲⡔⡘⢼⣌ ⢦⡦⣺⣎⢲⡶⣼⣤ ⢆⡦ ⢲⡶⢴⡶⡔⣎⢦⡘ ⣰⡘⡔⡘⣼⡶⢼⣌⢴⣲⡬ ⣸⡶⢢⡤⡲⣌⢆⣲⢴⣼⡶ ⢲⢆⣌⢺⢄

⢽⢢⡬ ⣴⡶⢆⡶⢢⡶⢺⣌⢒⡘⣲⢲⡶⢺⡶ ⣲⢴⡔⡶⢦⡦ ⡔⡖⣲⣲⢲⡶⢺⡶ ⢦⡦⣺⣎⢲⡦ ⢶⡦⡔⡦⢲⢴⡘⡔⢆⣎ ⡔⡦⣺⣼⡘⢴⣼⢢⡊⢆⢆⡦⢦⡦ ⣲⣌⣲⢴⡘⡰⡦ ⣲⡶⢺⢢⡦⣲⢆⣎⢶ ⣴⡶⢆⡘⡰ ⢜⢹⢙ ⣴⡶⢆⡘⡰⣤ ⣼ ⣸⡶⢢⡤⡲⣌⢆⣲⢴⣼⡘ ⣲⣼⡶⢦⡶⡰ ⣰⡦⡔⢆⣎⢶ ⣰⡶ ⣰⡔⣌⣺⢆⡦⢲⡦⡰ ⢴⣼⡊⡔⢼⡶⣲⢴⣌⣶⡰⡬⢺⢲⡶⣲⢴⣌ ⣌ ⢺⢢⡖⢶⡶⣲⢴⣌⣶⣺⣼⡶⢆⢲⡶⣲⢴⣌⡣ ⣌ ⣺⢆⡦⢒⣌⢴⡘⢢⡤⢆⡶ ⡰⡘⢆⡘⢦⡘ ⣲⢢⡶⡺⢆⡦⢦⡦⣤ ⣌⣲⢴⡶⡔⣌⢒⡘⣲⢲⣌ ⡖⣰⡔⡶⣲⢴⣌⣼⡲⡦⢦⡦⣲⡬⣤ ⣲⣌⣲⢴⡘⡰⡦ ⢺⢢⡦⣲⢆⣎⢶ ⢜⣼⣲⡘⢺⡶ ⢱⣤ ⣼ ⢼⡔⡖⢺⡶⢦ ⢴⡔⡦⢼⣌⣒⣎⣌ ⣶ ⢋ ⣴⡶⢆⡘⡰⡣ ⣰⡔⣌ ⡔⡦⣺⢆⡶⡶⣸⡔⡦⣺⣌⣌ ⣰⡶⣺⣌⣒⣎⡶⢆⢆⣎⢶ ⣼⣌⢼⡶⣌⣺⡰⡘⢆⡘⢆⣌⢦ ⣌ ⢴⡘⢶⣤ ⣌ ⢼⡔⡖⢺⣌⢶⢄ ⣳⢢⡶⢺⡶⣼⣎⡰⣌ ⢦⡦⣼⢢⡬⣨⢴⣲⡬ ⡶⣸⣎⢒⢆⡶ ⢺⢢⡦⣲⢆⣎⢦⡘ ⣺⣼⡖⢲⣌⢄ ⡗⢼⡦⡔⡘⢆⣌⢦⡘ ⣶ ⢼⣌⢆⡦⡰⣌⢒⡘⣲⢲⡶⢦⡘⣤ ⣌⢢⣌ ⣲⣌⢢⡶⣼⡶⢦⡘ ⢜⡶⢼⣌⢆ ⣌⣺ ⣲⢢⡶⢺⡶⣼ ⣲⢢⡶⣼⡶⣴⡶⡔⡰⣎ ⣶ ⡖⢼⡦⡔⢆⣎⢦ ⣶ ⣼⣎⢼⡘⢢⡬⢦⡘⢴⣲⡬ ⣲⡔⡘⢼⣌ ⣰⡔⡶⢒⣌⢶ ⣸⡶⢢⡘⢦⡘ ⢆⡦⣰⡔⡬⡺⡶⢆⢆⡶⢦ ⡦⡔⢴⣌⢲⡖⢢⡬⣒⣎⢦⡘⢦⡣⣤ ⡔⡦⣺⢆⡶⡰⡘⣲⢴⢆⡶⢦⡘ ⢜⢆⡘ ⣰⡔⣌⢲⡔⡘⣰⢢⡊⢆⢆⡶⢦⡘ ⢲ ⢲⡦⢲⡶⡰⡖⣶⢢⣌⣸⡶ ⡶⣰⡔⡘⢼⡘⢢⡊⢆⢆⡶⡰⡖ ⣲⢢⡶⢺⡖ ⣰⡶ ⡶⢴⢆⡶⡲⡘⢆⣌⢦⡖ ⢲ ⢆⡦⢒⡦⢢⡖ ⣌⢢⣌ ⢲⡶⢆⣒⡖ ⣲⢢⡶⣼⡶⣴⡶⡔⡰⣎⡣⣤ ⣰⡶⢼⣼⣌⡺⢆⡶⢦⡘ ⢜⣼ ⡔⡦⣺⢆⣎⢶ ⣴⡶⡔⡰⡦⢶ ⡶⢼⢆⡶⢺⡶ ⣲⢢⡶⣼⡦ ⡰⡶⢺⡖⢴ ⣸⣎⢴⡤ ⡖⢼⡦⡔⢆⣎⡰⣌ ⡔⡦⣺⢆⣎⢦⡘ ⣲⢢⡶⢺⣌ ⣌ ⡔⡦⣺⢆⣎⢦⡘ ⡰⡶⡔⣴⡘⡰⣎⡣⢄
Xeo-Voice - это бесплатная программа и сервер для синтеза речи, чтения стихов и вокализации музыки с функцией записи звука в файл. Поддерживается более 25 языков. Сайт: https://jsfiddle.net/Ronald_Sp4rk/zkw0fnrj/

mkizub

Вы автор программы?
А на 12-битную кодировку не поможете перевести? Точнее 10-ти...

Ну, смысл в том, что я делаю устройство для получения информации через сенсорный интерфейс - брасле на руке (пока, вообще ориентация на нейроинтерфейс через переферическую нервную систему). Идея в том, что слова будут кодироваться морфемами, а не буквами. Получится словарь независимый от языка.
Но в любом случае пользователям нужна будет возможность соотнести слова с их произношением (для имён и названий обязательно) и написанием. Плюс, редкие слова, или которые пользователь ещё не выучил - их нужно передавать "алфавитом", либо на основе произношения слова, либо на основе написания слова.
Поэтому передача данных предполагает несколько режимов (числа, морфемы, алфавит, произношение).

Вот для режима "произношения" мне нужно уметь "читать" русский текст в виде звуков, а не букв. Иметь что-то вроде транскрипции для английских слов. Точнее, я же не только для русского языка делаю устройство, там будут разные языки, для некоторых режим "произношения" реально удобнее режима "алфавита". Для этого режима, как мне кажется, нужно не максимальное приближение к IPA, а наоборот, абстрагирование от конкретного звучания (и уж тем более от конкретного диалекта). Ближе к языкам, у которых "пишется как читается, и читается как пишется", и желательно, чтоб эти алфавиты для произношения для разных языков максимально совпадали.

По поводу устройства и 12/10 бит.

По многим причинам - для упрощения изучения, для минимизации сигналов посылаемых по нервам и т.п. использовать "разряжённый" сигнал, то есть имеющий минимальное количество "включенных" битов. Скажем, если у нас 10 битовый сигнал, то это 10 одно-битовых сигналов, плюс 45 двух-битовых сигналов, более чем достаточно для азбуки, при том, что одновременно "нажимаются" только одна или две точки.

Экспериментально я выяснил, что "нажатия" от устройства в виде браслета на руке различаются если по окружности запястья выставлено 4 актуатора (это около 4-5 см между ними). Если делать браслет из 2 колец, то это 8 точек, если из 3 колец, то это 12 точек (и 11 см в ширину, пол-локтя). 8 точек, мне кажется, маловато - 2 точки нужно исключить (одна нужна для кодирования "управляющих" сигналов, вторая для кодирования "продолжения" букв, аналогично UTF-8). В принципе, можно и в 2 кольца вписаться, но это замедлит скорость "чтения" (большинство букв/знаков/морфем будут кодироваться двумя-тремя-четырьмя сигналами, или нужно увеличивать количество "включеных" бит в сигнале, а это "утомляет" нейроны, сильнее раздражает кожу и т.п.).

Четыре кольца - будет слишком широкий браслет. Пока оптимальный вариант - либо один браслет из 3 колец (пока 11 см, видимо, после тренировки можно будет ужать до 8 см) - 12 точек/актуаторов/бит. Из них 1 бит означает управляющий сигнал, и 1 бит для обозначения "продолжения", всего остаётся 10 бит для кодировки буквы/звука (или часто используемой морфемы/числа/знака). Этакий UTF-12.

basta

Offtop

Делают же для глухих жилетки на спину. Так можно много актуаторов поместить. Или на обеих руках.

Мечтал о такой штуке, чтобы например всегда знать время, но покупному не доверяю, а самому собрать некогда разобраться во всём.

mkizub

Offtop
Цитата: basta от июля  9, 2017, 19:35
Так можно много актуаторов поместить.
Не так и много, слишком мало нервных окончаний и клеток воспринимающих сенсорные сигналы. Скорее всего меньше, чем на одном запястье поместится. Сенсорный канал вообще имеет слабую пропускную способность, в разы меньше аудио-канала. Поэтому и хочется использовать морфемы, вместо букв, это сразу удвоит скорость передачи по узкому каналу... Но всё равно ориентироваться нужно на нейро-интерфейс (переферический, электроды в мозг вряд-ли в ближайшие 50 лет будут востребованы, кроме сильно профессиональных или медицинских случаев), а сенсорный - для плавного перехода, создания инфраструктуры, экосистемы, необходимых сервисов.

Про жилетку не встречал, читал только про электроды на язык. У вас ссылок не сохранилось?

Bhudh

Пиши, что думаешь, но думай, что пишешь.
MONEŌ ERGŌ MANEŌ.
Waheeba dokin ʔebi naha.
«каждый пост в интернете имеет коэффициент бреда» © Невский чукчо

basta

Offtop
Цитата: mkizub от июля  9, 2017, 20:26
Цитата: basta от июля  9, 2017, 19:35
Так можно много актуаторов поместить.
Не так и много, слишком мало нервных окончаний и клеток воспринимающих сенсорные сигналы. Скорее всего меньше, чем на одном запястье поместится. Сенсорный канал вообще имеет слабую пропускную способность, в разы меньше аудио-канала. Поэтому и хочется использовать морфемы, вместо букв, это сразу удвоит скорость передачи по узкому каналу... Но всё равно ориентироваться нужно на нейро-интерфейс (переферический, электроды в мозг вряд-ли в ближайшие 50 лет будут востребованы, кроме сильно профессиональных или медицинских случаев), а сенсорный - для плавного перехода, создания инфраструктуры, экосистемы, необходимых сервисов.

Про жилетку не встречал, читал только про электроды на язык. У вас ссылок не сохранилось?
Документальный фильм "Прорыв", 3-я, кажется, серия - про мозг, National Geographic, 2015

basta


mkizub

Цитата: basta от июля 10, 2017, 14:10
Offtop
Нет, всё же вторая. "Больше чем человек".
Offtop
Да, спасибо, с интересом посмотрел (ещё вчера). Практически аналогично случаю передачи изображения на язык, с матрицей 10x10 электродов. То есть не текст, а некое изображения аудио-сигнала на 40 вибро-моторчиков в жилетку посылалось. Что не предполагает необходимости точно разделять сигналы от разных вибро-моторчиков, мозг строит некую интегральную картинку. Кстати, на вибро-моторчиках мы пробовали делать в первую очередь (они дешёвые и доступные), но выяснилось, что вибро-сигнал категорически не подходит по нескольким причинам... Завести, что-ли, отдельную ветку :)

Sp4rk

Цитата: mkizub от июля  9, 2017, 14:10
Вы автор программы?
Я автор программы Xeo-Voice.

ЦитироватьНу, смысл в том, что я делаю устройство для получения информации через сенсорный интерфейс - брасле на руке (пока, вообще ориентация на нейроинтерфейс через переферическую нервную систему). Идея в том, что слова будут кодироваться морфемами, а не буквами. Получится словарь независимый от языка.
Но в любом случае пользователям нужна будет возможность соотнести слова с их произношением (для имён и названий обязательно) и написанием. Плюс, редкие слова, или которые пользователь ещё не выучил - их нужно передавать "алфавитом", либо на основе произношения слова, либо на основе написания слова.
Поэтому передача данных предполагает несколько режимов (числа, морфемы, алфавит, произношение).

Вот для режима "произношения" мне нужно уметь "читать" русский текст в виде звуков, а не букв. Иметь что-то вроде транскрипции для английских слов. Точнее, я же не только для русского языка делаю устройство, там будут разные языки, для некоторых режим "произношения" реально удобнее режима "алфавита". Для этого режима, как мне кажется, нужно не максимальное приближение к IPA, а наоборот, абстрагирование от конкретного звучания (и уж тем более от конкретного диалекта). Ближе к языкам, у которых "пишется как читается, и читается как пишется", и желательно, чтоб эти алфавиты для произношения для разных языков максимально совпадали.
Если говорить о режиме "произношение" и о мультиязычности, то для программы Xeo-Voice создан специальный общий алфавит с различными кодировками, в том числе, с 8-битной азбукой Брайля, который выложен на сайте. На данный момент в каждой кодировке используется 54 символа (не включая заглавные буквы и специальные символы), которые позволяют на одном движке универсально охватить более 17-ти разных языков, поддерживаемых программой.

ЦитироватьПо поводу устройства и 12/10 бит.

По многим причинам - для упрощения изучения, для минимизации сигналов посылаемых по нервам и т.п. использовать "разряжённый" сигнал, то есть имеющий минимальное количество "включенных" битов. Скажем, если у нас 10 битовый сигнал, то это 10 одно-битовых сигналов, плюс 45 двух-битовых сигналов, более чем достаточно для азбуки, при том, что одновременно "нажимаются" только одна или две точки.

Экспериментально я выяснил, что "нажатия" от устройства в виде браслета на руке различаются если по окружности запястья выставлено 4 актуатора (это около 4-5 см между ними). Если делать браслет из 2 колец, то это 8 точек, если из 3 колец, то это 12 точек (и 11 см в ширину, пол-локтя). 8 точек, мне кажется, маловато - 2 точки нужно исключить (одна нужна для кодирования "управляющих" сигналов, вторая для кодирования "продолжения" букв, аналогично UTF-8). В принципе, можно и в 2 кольца вписаться, но это замедлит скорость "чтения" (большинство букв/знаков/морфем будут кодироваться двумя-тремя-четырьмя сигналами, или нужно увеличивать количество "включеных" бит в сигнале, а это "утомляет" нейроны, сильнее раздражает кожу и т.п.).

Четыре кольца - будет слишком широкий браслет. Пока оптимальный вариант - либо один браслет из 3 колец (пока 11 см, видимо, после тренировки можно будет ужать до 8 см) - 12 точек/актуаторов/бит. Из них 1 бит означает управляющий сигнал, и 1 бит для обозначения "продолжения", всего остаётся 10 бит для кодировки буквы/звука (или часто используемой морфемы/числа/знака). Этакий UTF-12.
Честно говоря, этот вопрос немного не из моей сферы. Замечу только, что в UTF-8 не используются никакие биты для "продолжения" букв, там используются диапазоны кодов Unicode-символов. Почитайте на Википедии, как реализуется UTF-8.

По устройству могу предложить для повышения пропускной способности использовать одновременно два браслета - один на правую руку, второй на левую руку, получится 24-битный "разреженный" канал. Полагаю, в этом случае можно будет задействовать не один-два, а два-четыре "разреженных" бита, что ещё больше увеличит количество вариантов сигнала.
Xeo-Voice - это бесплатная программа и сервер для синтеза речи, чтения стихов и вокализации музыки с функцией записи звука в файл. Поддерживается более 25 языков. Сайт: https://jsfiddle.net/Ronald_Sp4rk/zkw0fnrj/

Быстрый ответ

Обратите внимание: данное сообщение не будет отображаться, пока модератор не одобрит его.

Имя:
Имейл:
Проверка:
Оставьте это поле пустым:
Наберите символы, которые изображены на картинке
Прослушать / Запросить другое изображение

Наберите символы, которые изображены на картинке:

√36:
ALT+S — отправить
ALT+P — предварительный просмотр