No Image

Распознавание человека по голосу

СОДЕРЖАНИЕ
573 просмотров
10 марта 2020

Содержание статьи

Характеристики голоса

В первую очередь голос определяется его высотой. Высота — это основная частота звука, вокруг которой строятся все движения голосовых связок. Эту частоту легко почувствовать на слух: у кого-то голос выше, звонче, а у кого-то ниже, басовитее.

Другой важный параметр голоса — это его сила, количество энергии, которую человек вкладывает в произношение. От силы голоса зависит его громкость, насыщенность.

Еще одна характеристика — то, как голос переходит от одного звука к другому. Этот параметр наиболее сложный для понимания и для восприятия на слух, хотя и самый точный — как и отпечаток пальца.

Предобработка звука

Человеческий голос — это не одинокая волна, это сумма множества отдельных частот, создаваемых голосовыми связками, а также их гармоники. Из-за этого в обработке сырых данных волны тяжело найти закономерности голоса.

Нам на помощь придет преобразование Фурье — математический способ описать одну сложную звуковую волну спектрограммой, то есть набором множества частот и амплитуд. Эта спектрограмма содержит всю ключевую информацию о звуке: так мы узнаем, какие в исходном голосе содержатся частоты.

Но преобразование Фурье — математическая функция, которая нацелена на идеальный, неменяющийся звуковой сигнал, поэтому она требует практической адаптации. Так что, вместо того чтобы выделять частоты из всей записи сразу, эту запись мы поделим на небольшие отрезки, в течение которых звук не будет меняться. И применим преобразование к каждому из кусочков.

Спектрограмма пения птицы

Выбрать длительность блока несложно: в среднем один слог человек произносит за 70–80 мс, а интонационно выделенный вдвое дольше — 100–150 мс. Подробнее об этом можно почитать в исследовании.

Следующий шаг — посчитать спектрограмму второго порядка, то есть спектрограмму от спектрограммы. Это нужно сделать, поскольку спектрограмма, помимо основных частот, также содержит гармоники, которые не очень удобны для анализа: они дублируют информацию. Расположены эти гармоники на равном друг от друга расстоянии, единственное их различие — уменьшение амплитуды.

Давай посмотрим, как выглядит спектр монотонного звука. Начнем с волны — синусоиды, которую издает, например, проводной телефон при наборе номера.

Видно, что, кроме основного пика, на самом деле представляющего сигнал, есть меньшие пики, гармоники, которые полезной информации не несут. Именно поэтому, прежде чем получать спектрограмму второго порядка, первую спектрограмму логарифмируют, чем получают пики схожего размера.

Логарифм спектрограммы синуса

Теперь, если мы будем искать спектрограмму второго порядка, или, как она была названа, «кепстр» (анаграмма слова «спектр»), мы получим во много раз более приличную картинку, которая полностью, одним пиком, отображает нашу изначальную монотонную волну.

Кепстр

Одна из самых полезных особенностей нашего слуха — его нелинейная природа по отношению к восприятию частот. Путем долгих экспериментов ученые выяснили, что эту закономерность можно не только легко вывести, но и легко использовать.

Зависимость мела от герца

Эту новую величину назвали мел, и она отлично отражает способность человека распознавать разные частоты — чем выше частота звука, тем сложнее ее различить.

График перевода герца в мелы

Теперь попробуем применить все это на практике.

Идентификация с использованием MFCC

Мы можем взять длительную запись голоса человека, посчитать кепстр для каждого маленького участка и получить уникальный отпечаток голоса в каждый момент времени. Но этот отпечаток слишком большой для хранения и анализа — он зависит от выбранной длины блока и может доходить до двух тысяч чисел на каждые 100 мс. Поэтому из такого многообразия необходимо извлечь определенное количество признаков. С этим нам поможет мел-шкала.

Мы можем выбрать определенные «участки слышимости», на которых просуммируем все сигналы, причем количество этих участков равно количеству необходимых признаков, а длины и границы участков зависят от мел-шкалы.

Вычисление мел-частотных кепстральных коэффициентов

Вот мы и познакомились с мел-частотными кепстральными коэффициентами (MFCC). Количество признаков может быть произвольным, но чаще всего варьируется от 20 до 40.

Эти коэффициенты отлично отражают каждый «частотный блок» голоса в каждый момент времени, а значит, если обобщить время, просуммировав коэффициенты всех блоков, мы сможем получить голосовой отпечаток человека.

Тестирование метода

Давай скачаем несколько записей видео с YouTube, из которых извлечем голос для наших экспериментов. Нам нужен чистый звук без шумов. Я выбрал канал TED Talks.

Скачаем несколько видеозаписей любым удобным способом, например с помощью утилиты youtube-dl. Она доступна через pip или через официальный репозиторий Ubuntu или Debian. Я скачал три видеозаписи выступлений: двух женщин и одного мужчины.

Затем преобразуем видео в аудио, создаем несколько кусков разной длины без музыки или аплодисментов.

Теперь разберемся с программой на Python 3. Нам понадобятся библиотеки numpy для вычислений и librosa для обработки звука, которые можно установить с помощью pip . Для твоего удобства все сложные вычисления коэффициентов упаковали в одну функцию librosa.feature.mfcc . Загрузим звуковую дорожку и извлечем характеристики голоса.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Распознавание по голосу — одна из форм биометрической аутентификации, позволяющая идентифицировать личность человека по совокупности уникальных характеристик голоса. Относится к динамическим методам биометрии. Однако, поскольку голос человека может меняться в зависимости от возраста, эмоционального состояния, здоровья, гормонального фона и целого ряда других факторов, не является абсолютно точным [1] . По мере развития звукозаписывающей и воспроизводящей техники, технология распознавания применяется с различным успехом в сфере защиты информации, охраны и систем доступа, криминалистике.

Читайте также:  Интернет услуги мтс россия

Содержание

История [ править | править код ]

Работы по распознаванию речи берут начало с середины прошлого века. Первая система была создана в начале 1950 годов: её разработчики поставили перед собой задачу распознавания цифр. Разработанная система могла идентифицировать цифры, но сказанные одним голосом, как, например, система «Audrey» компании Bell Laboratories. Она работала на основе определения форманты в спектре мощности каждого речевого отрывка [2] . В общих чертах система состояла из трёх главных частей: анализаторов и квантователей, шаблонов согласователей сети и, наконец, датчиков. Создано было, соответственно, на элементной базе различных частотных фильтров, переключателей, так же в составе датчиков были газонаполненные трубки [3] [ нет в источнике ] .

К концу десятилетия появились системы, распознающие гласные независимо от диктора [4] . В 70-х годах начали использоваться новые методы, позволившие добиться более совершенных результатов — метод динамического программирования [5] и метод линейного предсказания (Linear Predictive Coding — LPC). В вышеупомянутой компании, Bell Laboratories были созданы системы, использующие именно эти методы [6] . В 80-х годах следующим шагом в развитии систем распознавания голоса стало использование скрытых марковский моделей (H >[7] . В конце 80-х также стали применяться методы искусственных нейронных сетей (Artificial Neural Network — ANN) [8] . В 1987 году на рынке появились куклы Worlds of Wonder’s Julie doll, которые были способны понимать голос [7] . А ещё через 10 лет Dragon Systems выпустила программу «NaturallySpeaking 1.0» [9] .

Надёжность [ править | править код ]

Основными источниками ошибок распознавания голоса являются:

  • среда записи (уровень и тип шума среды, уровень реверберации);
  • эффект представления (длительность речи, психофизиологическое состояние говорящего (болезнь, эмоциональное состояние и т. п.), язык речевого сообщения, акцент, громкость речи);
  • низкое качество канала (помехи, искажения микрофона и канала передачи, вид кодирования в канале и т. д.) [10] .

Распознавание пола можно выделить в отдельный тип задач, который довольно успешно решается — при больших объёмах начальных данных пол определяется практически безошибочно, а на коротких отрывках вроде ударного гласного звука вероятность ошибки — 5,3 % для мужчин и 3,1 % для женщин [11] .

Также рассматривалась проблема имитации голоса. Исследования France Telecom показали, что профессиональная имитация голоса практически не увеличивает вероятность ошибки определения личности — имитаторы подделывают голос лишь внешне, подчеркивая особенности речи, но базовую канву голоса подделать не способны. Даже голоса близких родственников, близнецов будет иметь различие, как минимум, в динамике управления [11] . Но с развитием компьютерных технологий возникла новая проблема, требующая использования новых способов анализа, — трансформация голоса, которая увеличивает вероятность ошибки до 50 % [11] .

Для описания надёжности системы есть два используемых критерия: FRR (False Rejection Rate) — вероятность ложного отказа в доступе (ошибка первого рода) и FAR (False Acceptance Rate) — вероятность ложного допуска, когда система ошибочно опознаёт чужого как своего (ошибка второго рода). Также иногда системы распознавания характеризуются таким параметром, как EER (Equal Error Rates), представляющим точку совпадения вероятностей FRR и FAR. Чем надежней система, тем более низкий EER имеет [12] .

Значения ошибок идентификации для различных биометрических модальностей [10]

Биометрический признак Тест Условия тестирования FRR % FAR %
Отпечатки пальцев FVC 2006 Неоднородная популяция (включает работников ручного труда и пожилых людей) 2,2 2,2
Лицо MBE 2010 Полицейская база фотографий

База фотографий с документов

Голос NIST 2010 Текстонезависимое распознавание 3..4 1,0 Радужная оболочка глаз ICE 2006 Контролируемое освещение, широкий диапазон качества изображений 1,1…1,4 0,1

Применение [ править | править код ]

Распознавание можно разделить на два главных направления: идентификацию и верификацию. В первом случае система должна самостоятельно установить личность пользователя по голосу; во втором случае система должна подтвердить или опровергнуть идентификатор, который предъявляет пользователь [11] . Определение исследуемого диктора состоит в попарном сравнении голосовых моделей, которые учитывают индивидуальные особенности речи каждого диктора. Таким образом, нам необходимо для начала собрать достаточно большую базу данных. А по результатам этого сравнения может быть сформирован список фонограмм, являющихся с некоторой вероятностью речью интересующего нас пользователя [11] .

Хотя распознавание по голосу не может гарантировать стопроцентную правильность результата, оно может довольно эффективно использоваться в таких областях, как криминалистика и судебная экспертиза; разведка; антитеррористический мониторинг; безопасность; банковское дело и так далее [11] .

Анализ [ править | править код ]

Весь процесс обработки речевого сигнала можно разбить на несколько главных этапов:

  • предобработка сигнала;
  • выделение критериев;
  • распознавание диктора.

Каждый этап представляет алгоритм или некоторую совокупность алгоритмов, что в итоге даёт требуемый результат [13] .

Главные черты голоса формируются тремя главными свойствами: механикой колебаний голосовых складок, анатомией речевого тракта и системой управления артикуляцией. Кроме этого, иногда есть возможность пользоваться словарём говорящего, его оборотами речи [11] . Главные признаки, по которым принимается решение о личности диктора, формируются с учётом всех факторов процесса речеобразования: голосового источника, резонансных частот речевого тракта и их затуханий, а также динамикой управления артикуляцией. Если рассмотреть источники подробнее, то в свойства голосового источника входят: средняя частота основного тона, контур и флюктуации частоты основного тона и форма импульса возбуждения. Спектральные характеристики речевого тракта описываются огибающей спектра и его средним наклоном, формантными частотами, долговременным спектром или кепстром. Кроме того, рассматривается также длительность слов, ритм (распределение ударений), уровень сигнала, частота и длительность пауз [14] . Чтобы определить эти характеристики приходится использовать довольно сложные алгоритмы, но так как, к примеру, погрешность формантных частот довольно велика, для упрощения используются коэффициенты кепстра, вычисляемые по огибающей спектра или передаточная функция речевого тракта, найденная методом линейного предсказания. Кроме упомянутых коэффициентов кепстра также используются их первые и вторые разности по времени [11] . Этот метод был впервые предложен в работах Дэвиса и Мермельштейна [15] .

Читайте также:  Почему пропадает сеть теле2
Кепстральный анализ [ править | править код ]

В работах по распознаванию голоса наиболее популярен метод кепстрального преобразования спектра речевых сигналов [11] . Схема метода такова: на интервале времени в 10 — 20 мс вычисляется текущий спектр мощности, а затем применяется обратное преобразование Фурье от логарифма этого спектра (кепстр) и находятся коэффициенты: c n = 1 Θ ∫ 0 Θ ∣ S ( j , ω , t ) ∣ 2 exp − j n ω Ω ⁡ d ω <displaystyle c_=<frac <1><Theta >>int _<0>^<Theta ><mid S(j,omega ,t)mid >^<2>exp ^<-jnomega Omega >domega > , Ω = 2 2 π Θ , Θ <displaystyle Omega =2<frac <2pi ><Theta >>,Theta > – верхняя частота в спектре речевого сигнала, ∣ S ( j , ω , t ) ∣ 2 <displaystyle <mid S(j,omega ,t)mid >^<2>> – спектр мощности. Число кепстральных коэффициентов n зависит от требуемого сглаживания спектра, и находится в пределах от 20 до 40. Если используется гребёнка полосовых фильтров, то коэффициенты дискретного кепстрального преобразования вычисляются как c n = ∑ m = 1 N log ⁡ Y ( m ) 2 cos ⁡ π n M ( m − 1 2 ) ) <displaystyle c_=sum _^log <2>>cos <<frac <pi n>>(m-<frac <1><2>>))>> , где Y(m) — выходной сигнал m-го фильтра, c n <displaystyle c_> — n-й коэффициент кепстра.

Свойства слуха учитываются путём нелинейного преобразования шкалы частот, обычно в шкале мел [11] . Эта шкала формируется исходя из присутствия в слухе так называемых критических полос, таких, что сигналы любой частоты в пределах критической полосы неразличимы. Шкала мел вычисляется как M ( f ) = 1125 ln ⁡ ( 1 + f 700 ) <displaystyle M(f)=1125ln <(1+<frac <700>>)>> , где f — частота в Гц, M — частота в мелах. Либо используется другая шкала — барк, такая, что разность между двумя частотами, равная критической полосе, равна 1 барк. Частота B вычисляется как B = 13 a r c t g ( 0 , 00076 f ) + 3 , 5 a r c t g f 7500 <displaystyle B=13operatorname > +3,5operatorname <7500>>> > . Найденные коэффициенты в литературе иногда обозначаются как MFCC — Mel Frequiency Cepstral Coefficients. Их число лежит в диапазоне от 10 до 30. Использование первых и вторых разностей по времени кепстральных коэффициентов втрое увеличивает размерность пространства принятия решений, но улучшает эффективность распознавания диктора [11] .

Кепстр описывает форму огибающей спектра сигнала, на которую влияют и свойства источника возбуждения, и особенности речевого тракта. В экспериментах было установлено, что огибающая спектра сильно влияет на узнаваемость голоса. Поэтому использование различных способов анализа огибающей спектра в целях распознавания голоса вполне оправдано [11] .

Методы [ править | править код ]

Так как во многих системах используется пространство кепстральных коэффициентов, их первых и вторых разностей, большое внимание уделяется построению решающих правил. Наиболее популярны методы аппроксимации плотности вероятности в пространстве признаков взвешенной смесью нормальных распределений (GMM — Gauss Mixture Models), метод опорных векторов (SVM — Support Vector Machines), метод скрытых Марковских моделей (HMM — H >[11] .

Метод GMM следует из теоремы о том, что любая функция плотности вероятности может быть представлена как взвешенная сумма нормальных распределений:

p ( x | λ ) = ∑ j = 1 k ω j ϕ ( χ , Θ j ) <displaystyle p(x|lambda )=sum _^<omega _phi (chi ,Theta _)>> ; λ <displaystyle lambda > — модель диктора;k — количество компонентов модели; ω j <displaystyle <omega _>> — веса компонентов такие, что ∑ j = 1 n ω j = 1. <displaystyle sum _^<omega _>=1.> ϕ ( χ , Θ j ) <displaystyle phi (chi ,Theta _)> – функция распределения многомерного аргумента χ , Θ j <displaystyle chi ,Theta _> [11] . ϕ ( χ , Θ j ) = p ( χ ∣ μ j , R j ) = 1 ( 2 π ) n 2 ∣ R j ∣ 1 2 exp ⁡ − 1 ( χ − μ j ) T R j − 1 ( χ − μ j ) 2 <displaystyle phi (chi ,Theta _)=p(chi m > , ω j <displaystyle omega _> – её вес, k — количество компонент в смеси. Здесь n — размерность пространства признаков, μ j ∈ R n <displaystyle mu _in mathbb ^> — вектор математического ожидания j-й компоненты смеси, R j ∈ R n × n <displaystyle R_in mathbb ^> – ковариационная матрица.

Очень часто в системах с этой моделью используется диагональная ковариационная матрица. Она может использоваться для всех компонент модели или даже для всех моделей. Чтобы найти матрицу ковариации, веса, векторы средних часто используют EM-алгоритм. На входе имеем обучающую последовательность векторов X = 1, . . . , xT > . Параметры модели инициализируются начальными значениями и затем на каждой итерации алгоритма происходит переоценка параметров. Для определения начальных параметров обычно используют алгоритм кластеризации такой, как алгоритм К-средних. После того как произошло разбиение множества обучающих векторов на M кластеров, параметры модели могут быть определены так: начальные значения μ j <displaystyle mu _> совпадают с центрами кластеров, матрицы ковариации рассчитываются на основе попавших в данный кластер векторов, веса компонентов определяются долей векторов данного кластера среди общего количества обучающих векторов.

Переоценка параметров происходит по следующим формулам:

  • вычисление апостериорных вероятностей (Estimation-step): p ( i | χ t , λ ) = ω i ϕ ( χ t , Θ i ) ∑ j = 1 k ω j ϕ ( χ t , Θ j ) <displaystyle <displaystyle p(i|chi _,lambda )=<frac <omega _phi (chi _,Theta _)><sum _^<omega _phi (chi _,Theta _)>>>>>.
  • вычисление новых параметров модели (Maximization-step): ω j = ∑ j = 1 k p ( i | χ j , λ ) T <displaystyle omega _=<frac <sum _^,lambda )>>>>; μ i = ∑ t = 1 n p ( i | χ t , λ ) χ t ∑ t = 1 n p ( i | χ t , λ ) <displaystyle <mu _=<frac <sum _^,lambda )chi _>><sum _^,lambda )>>>>>; R i = ∑ t = 1 n p ( i | χ t , λ ) ( χ t − μ i ) ( χ t − μ i ) T ∑ t = 1 n p ( i | χ t , λ ) <displaystyle =<frac <sum _^,lambda )(chi _-mu _)<(chi _-mu _)>^>><sum _^,lambda )>>>>>. Шаги повторяются, пока не будет достигнуто схождение параметров [16] .

GMM можно также назвать продолжением метода векторного квантования (метод центроидов). При его использовании создаётся кодовая книга для непересекающихся областей в пространстве признаков (часто с использованием кластеризации методом K-means). Векторное квантование является простейшей моделью в системах распознавания, независимых от контекста [11] .

Метод опорных векторов (SVM) строит гиперплоскость в многомерном пространстве, разделяющую два класса — параметров целевого диктора и параметров дикторов из референтной базы. Гиперплоскость вычисляется c помощью опорных векторов — выбранных особым образом. Будет выполняться нелинейное преобразование пространства измеренных параметров в некоторое пространство признаков более высокой размерности, так как разделяющая поверхность может и не соответствовать гиперплоскости. Разделяющая поверхность в гиперплоскости строится методом опорных векторов, если выполняется условие линейной разделимости в новом пространстве признаков. Таким образом успех применения SMM зависит от подобранного нелинейного преобразования в каждом конкретном случае. Метод опорных векторов применяется часто с методом GMM или HMМ. Обычно для коротких фраз длительностью в несколько секунд для контестно-зависимого подхода лучше применяются фонемно-зависимые HMM [11] .

Читайте также:  Драйвер для старых игр

Популярность [ править | править код ]

По информации консалтинговой компании International Biometric Group из Нью-Йорка, наиболее распространённой технологией является сканирование отпечатков пальцев. Отмечается, что из 127 млн долларов, вырученных от продажи биометрических устройств, 44 % приходится на дактилоскопические сканеры. Системы распознавания черт лица занимают второе место по уровню спроса, который составляет 14 %, далее следуют устройства распознавания по форме ладони (13 %), по голосу (10 %) и радужной оболочке глаза (8 %). Устройства верификации подписи в этом списке составляют 2 %. Одни из самых известных производителей на рынке голосовой биометрии — Nuance Communications, SpeechWorks, VeriVoice [17] .

В феврале 2016 года The Telegraph опубликовала статью, в которой сообщается, что клиенты британского банка HSBC смогут получать доступ к счетам и проводить транзакции с помощью идентификации по голосу. Переход должен был состояться в начале лета [18] .

Устанавливая рекомендуемое программное обеспечение вы соглашаетесь
с лицензионным соглашением Яндекс.Браузера и настольного ПО Яндекса .

Описание презентации по отдельным слайдам:

ГБПОУ Колледж связи имени П.М. Вострухина Идентификация по голосу. Скрытые возможности

Содержание 1.1) Идентификация по характеристикам речи 1.2) Идентификация по характеристикам речи 2.1) Что необходимо учитывать? 2.2) Речевые образы слов 3.1) Голосовая идентификация 3.2) Биометрический подход 4.1) Распознавание в качестве факторов 4.2) С точки зрения безопасности 5.1) Специфическое слуховое восприятие человека Вывод

1.1) Идентификация по характеристикам речи Голос – такая же неотъемлемая черта каждого человека, как и его лицо, отпечатки пальцев. Широкое распространение средств связи открывают большие возможности для применения данного идентификатора; кроме того, распознание по голосу весьма удобно для пользователей и требует от них минимум усилий.

1.2) Идентификация по характеристикам речи Идентификация человека по голосу – один из традиционных способов распознавания, интерес к этому методу связан и с прогнозами внедрения голосовых интерфейсов в операционные системы. Голосовая идентификация бесконтактна и существуют системы ограничения доступа к информации на основании частотного анализа речи.

2.1) Что необходимо учитывать? Голос относится к «поведенческим» идентификаторам, и было бы напрасным ожидать от использующих данные идентификаторы технологий высокой точности и надежности. Технологии и средства идентификации по голосу применяются в ряде областей, непосредственно связанных с обработкой обращений пользователей по телефону, что позволяет ускорить обслуживание абонентов и разгрузить операторов. В более значимых проектах идентификация по голосу играет вспомогательную роль по отношению к другим биометрическим технологиям.

3.1) Голосовая идентификация Голосовая идентификация бесконтактна и существуют системы ограничения доступа к информации на основании частотного анализа речи.

3.2) Биометрический подход Биометрический подход, связанный с идентификацией голоса, удобен в применении. Однако основным и определяющим недостатком этого подхода является низкая точность идентификации. Причинами внедрения этих систем являются повсеместное распространение телефонных сетей и практика встраивания микрофонов в компьютеры и периферийные устройства.

4.1) Распознавание в качестве факторов В качестве недостатков систем можно назвать факторы, влияющие на результаты распознавания: помехи в микрофонах, влияние окружающей обстановки на результаты распознавания ошибки при произнесении, различное эмоциональное состояние проверяемого в момент регистрации эталона и при каждой идентификации, использование разных устройств регистрации при записи эталонов, помехи в низкокачественных каналах передачи данных.

4.2) С точки зрения безопасности Как бороться против использования магнитофонных записей парольных фраз, перехваченных во время установления контакта законного пользователя с аутентификационным терминалом? Ответом на вопрос является генерация системой псевдослучайных паролей, которые повторяются вслед за ней пользователем, а также применение комбинированных методов проверки.

5.1) Специфическое слуховое восприятие человека Специфическое слуховое восприятие человека приводит к тому, что безупречное воспроизведение профессиональными имитаторами голосов возможно лишь тогда, когда подражаемый субъект характеризуется ярко выраженными особенностями произношения или тембра.

Благодарю за просмотр. Вывод Голосовой способ аутентификации является удобным для пользователя, но не всегда может обеспечить требуемый уровень безопасности. Поэтому необходимо сочетать данный способ с другими идентификационными признаками.

Устанавливая рекомендуемое программное обеспечение вы соглашаетесь
с лицензионным соглашением Яндекс.Браузера и настольного ПО Яндекса .

  • Богомолов Сергей АлександровичНаписать 1069 02.10.2018

Номер материала: ДБ-124343

Устанавливая рекомендуемое программное обеспечение вы соглашаетесь
с лицензионным соглашением Яндекс.Браузера и настольного ПО Яндекса .

    02.10.2018 531
    02.10.2018 460
    02.10.2018 131
    02.10.2018 93
    02.10.2018 77
    02.10.2018 377
    02.10.2018 262
    02.10.2018 195

Не нашли то что искали?

Вам будут интересны эти курсы:

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако редакция сайта готова оказать всяческую поддержку в решении любых вопросов связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.

Комментировать
573 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector