Использование технологий распознавания и синтеза речи для изучения английского языка на iPhone/iPad. Аспекты авторского права на методики. Мой опыт / Хабр

Использование технологий распознавания и синтеза речи для изучения английского языка на iPhone/iPad. Аспекты авторского права на методики. Мой опыт / Хабр Ipad

Arturia imini

($6.99)

Совместимость: iPad (iOS 5.1 и выше).

Arturia iMini, как следует из названия и интерфейса, является эмуляцией одного из наиболее известных аппаратных синтезаторов всех времён – Arturia Minimoog.

Как и ожидалось от чего-то с названием Arturia, это отличная эмуляция. Инструмент имеет правдивое и жирное звучание. Трудно представить, что такое возможно на iPad. Интерфейс просто прекрасен.

Приложение может работать как standalone-программа, или же его можно открыть через среду Retronyms Tabletop. Arturia iMini также совместима с Audiobus, что делает её универсальным синтезатором классического типа по отличной цене. Купить в App Store.

Arturia isem

($9.99)

Совместимость: iPad (iOS 5.1.1 и выше).

Следуя примеру iMini, Arturia iSEM стала iOS-эмуляцией французской компьютерной эмуляции Oberheim, которая называется SEM V.

Как и iMini, iSEM основана на фирменной технологии Arturia TAE. В результате получилось приложение, являющееся превосходной репликацией оригинального 2-осцилляторного моносинтезатора, дополненной несколькими современными фичами: LFO, субосциллятором и арпеджиатором.

Звуки, сделанные на Arturia iSEM, можно экспортировать на компьютерный аналог программы, что делает её отличным инструментом для создания патчей для пользователей SEM V. Купить в App Store.

Beepstreet sunrizer

https://www.youtube.com/watch?v=5yiX1I2O3lk

($6.99)

Совместимость: iPad (iOS 4.3 и выше).

В App Store можно найти множество виртуальных аналоговых синтезаторов, но это один из лучших.

Sunrizer для iPad и SunrizerXS для iPhone/iPod touch отличаются двумя осцилляторами. Одним из доступных сигналов является эмуляция волновой формы SuperSaw, которая впервые появилась на синтезаторе Roland JP-8000.

BeepStreet Sunrizer также имеет фильтры, различные опции модуляции, эффекты и арпеджиатор.

И главное, приложение отличается превосходным звучанием. Купить в App Store.

Cakewalk z3ta

($19.99)

Совместимость: iPad (iOS 7.0 и выше).

Настольная версия таблично-волнового синтезатора Cakewalk Z3TA появилась уже около десяти лет назад и до сих пор пользуется популярностью благодаря своей мощной секции осциллятора.

iOS-версия синтезатора фактически является репликацией Z3TA 2, который был выпущен ещё в 2021 году, хотя для iPad был переработан интерфейс для совместимости с сенсорным экраном. Приложение имеет следующие закладки: Synth, Modulation Matrix/Arpeggiator и Effects. Cakewalk Z3TA поставляется с 500 пресетами, имеется поддержка Inter App Audio, AudioBus и MIDI control.

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

Icegear cassini

($4.99)

Совместимость: iPad (iOS 4.3 и выше), доступна iPhone-версия.

iceGear Cassini звучит так же фантастично, как и первый инструмент для iOS от компании iceGear – Argon. При этом Cassini оказывается даже лучше своего предшественника, потому что может похвастаться полифонией и блестяще разработанным интерфейсом.

iceGear Cassini имеет хороший функционал, делающий его весьма гибким инструментом. Интуитивно понятный и забавный – он мало кого оставит равнодушным. Купить в App Store.

Korg ims-20

($29.99)

Совместимость: iPad (iOS 5.1 и выше).

iMS-20 – это успешная формула от разработчиков Korg, в которой воплощён классический аналоговый синтезатор на iOS-платформе. Правдиво переданный ретроинтерфейс в комбинации с возрождённым 16-шаговым секвенсором SQ-10, 6-секционной драм-машиной, микшером и встроенными эффектами – вот, что такое Korg iMS-20.

Конечно, как и в любой программной эмуляции, дизайн и все эти возможности ничего бы не значили без хорошего, качественного звучания. И здесь Korg тоже не подкачал. iMS-20 получает высшие баллы за свой богатый звук в аналоговом стиле. Купить в App Store.

Korg ipolysix

($29.99)

Совместимость: iPad (iOS 5.1 и выше).

С iPolysix разработчики из Korg проделали тот же трюк, который заставил нас влюбиться в iMS-20. Вновь компания Korg подарила нам правдоподобную инкарнацию одного из легендарных синтезаторов и дополнила приложение пошаговым секвенсором, драм-машиной, микшером и эффектами.

Так же, как в случае с Korg iMS-20, iPolysix имеет отличный звук в стиле классического полифонического аналогового синтезатора. Купить в App Store.

Moog animoog

($29.99)

Совместимость: iPad (iOS 5.0 и выше).

Несмотря на многочисленные споры, которые вызвал выпуск Moog Animoog в среде борцов за аналоговый звук, утверждающих, что подобное iOS-приложение оскорбительно для такого легендарного бренда, появление Moog в мире iPad-синтеза сопровождалось оглушительным успехом.

Animoog является таблично-волновым синтезатором, хотя он и наполнен сэмплами классических и современных синтезаторов от Moog. Имеется до девяти тембров, распределённых по сетке 8×16 X/Y. И звуки можно динамически менять по этим тембрам во время проигрывания ноты. Купить в App Store.

Propellerhead figure

($0.99)

Совместимость: iPhone (3GS и выше), iPod Touch (третье поколение и выше), iPad (iOS 5.0 и выше).

Как только Propellerhead Figure была представлена на Musikmesse 2021, мы мгновенно влюбились в её отличное Reason-овское звучание и исключительно хорошо проработанный интерфейс.

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

Но получить synth-движок от Reason и интуитивно понятный дизайн за такие смешные деньги… – судите сами. Купить в App Store.

Propellerhead thor для ipad

($14.99)

Совместимость: iPad (iOS 5.1 и выше).

Thor для iPad – это прямой iOS-порт флагманского синтезатора Reason, инструмент, продолжающий традиции, заложенные первым iOS-синтезатором Propellerhead Figure.

Как и его компьютерный собрат, Thor для iPad выглядит отлично, обладает фантастическим звучанием и является относительно мощным приложением. Его полумодульный дизайн обеспечивает лёгкую навигацию и юзабельность даже для новичков в мире синтеза.

Главная особенность Propellerhead Thor для iPad заключается в том, что патчи можно использовать совместно с его PC/Mac-собратом. Это делает Thor для iPad фантастическим инструментом для создания и настройки синтетических звуков на лету. Купить в App Store.

Synthesit — синтез речи для iphone и ipad

Приложение может быть просто бомбой! То как озвучивает не отличить от реального человека, но
1) срооочно надо убрать ограничение по тексту, сейчас больше чем пару предложений невозможно воспроизвести
2) нужно либо дать возможность загружать свою фоновую музыку, либо больше битов.

Если доработать приложение, то оно может заменить аудиокниги.

Virsyn addictive synth

($9.99)

Совместимость: iPad (iOS 3.2 и выше).

Addictive Synth стал очень популярным синтезатором для iPad за его интуитивно понятный и удобный в использовании интерфейс.

К счастью, внешний вид не единственная заслуга приложения. VirSyn Addictive Synth – это глубоко проработанный инструмент с фантастически звучащим 6-осцилляторным движком. Синтезатор отличается цифровыми тонами, спектральными пэдами и другими атмосферными шумами.

Virsyn cube synth

($19.99)

Совместимость: iPad (iOS 5.1 и выше).

VirSyn Cube для iPad представляет собой раннюю версию дэсктопного синтезатора от VirSyn.

Архитектура Cube Synth построена вокруг четырёх одновременно звучащих голосов с 512 обертонами на каждый голос. Движок Spectral Morphing позволяет управлять морфингом между этими четырьмя голосами при помощи траектории, вырисовываемой на XY-дисплее, а также настройки звука, огибающих X и Y.

В синтезатор также встроен проработанный, мощный арпеджиатор, пошаговый секвенсор и семь эффектов. VirSyn Cube Synth – это чрезвычайно мощный синтезатор. Однако не так сложно запутаться в его настройках, хотя есть 400 пресетов, являющихся удобными отправными точками для новичков. Купить в App Store.

Virsyn microtera

($9.99)

Совместимость: iPad (iOS 6.0 и выше).

VirSyn microTera – это синтезатор, способный производить широкий диапазон уникальных звуков. Фактически он является репликацией компьютерного синтезатора VirSyn Tera, появившегося уже несколько лет назад. Синтезатор предлагает построение волновых форм и некоторые секвенсорные возможности. VirSyn microTera адаптирован для iPad.

Кроме центральной особенности – программируемого пользователем Waveshaper, microTera имеет три осциллятора, четыре LFO, четыре огибающих и ряд эффектов. Также есть интересная функция Randomise, которая позволяет пользователям создавать патчи, бросая виртуальные кости. Купить в App Store.

Waldorf nave

($19.99)

Совместимость: iPad (iOS 6.0 и выше).

Nave – первое iOS-приложение от Waldorf – сочетает в себе таблично-волновой и аналоговый синтезы и является одним из наиболее мощных iPad-инструментов на сегодняшний день.

Waldorf Nave выходит за границы того, на что способны таблично-волновые синтезаторы, и при этом остаётся простым и понятным в использовании, благодаря превосходно разработанному интерфейсу. Купить в App Store.

Читайте также:  ‎AirBlue Sharing 10 en App Store

Wolfgang palm ppg wavegenerator

($19.99)

Совместимость: iPad (iOS 5.1 и выше).

Известный разработчик Wolfgang Palm совместно с PPG WaveGenerator создали один из наиболее проработанных инструментов профессионального уровня, когда-либо выпущенных для iOS-платформы.

WaveGenerator, вдохновлённый оригинальными синтезаторами PPG Wave из 80-х годов, является таблично-волновым инструментом, позволяющим музыкантам создавать совершенно уникальные звуки. Wolfgang Palm PPG WaveGenerator необходим каждому владельцу iPad, который любит поэкспериментировать со звуком. Купить в App Store.

Wolfgang palm ppg wavemapper

($19.99)

Совместимость: iPad (iOS 5.1 и выше).

Ещё один синтезатор от Wolfgang Palm так же превосходен, как рассмотренный выше. PPG WaveMapper – один из наиболее сложных и впечатляющих софтовых музыкальных инструментов в AppStore.

WaveMapper – это, по сути, таблично-волновой синтезатор, построенный вокруг интуитивно понятного дизайна Sound Map. Его главные особенности состоят в отличной работе комплексного синтеза звука, а также в бесконечном наборе функций, которые при этом просты в использовании.

Wolfgang Palm PPG WaveMapper – ещё один «must have» для iPad-музыкантов. Купить в App Store.

Yonac magellan

($14.99)

Совместимость: iPad (iOS 5.1 и выше).

Yonac Magellan является одним из наиболее упакованных всякими фичами синтезаторов, которые вы сможете найти на iOS-платформе. Два независимых движка с тремя осцилляторами каждый, множество фильтров и опций модуляции, список особенностей длиной в магелланово путешествие.

Yonac Magellan отличается удобным интерфейсом в стиле ретро, который идеально подходит для сенсорного экрана iPad. Купить в App Store.

Использование технологий распознавания и синтеза речи для изучения английского языка на iphone/ipad. аспекты авторского права на методики. мой опыт

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

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

Казалось бы все чудесно, но тут началось…

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

Первыми были британцы, правообладатели Callan Method, которому, как они сами утверждают, более 60 лет (насколько я знаю, по британским законам авторское право перестает действовать через 50 лет, ну да ладно). Они предъявили претензии к моим приложениям Direct English на предмет нарушения авторских прав. Я не стал вступать в дискуссию, а просто предложил им сотрудничество.

Чтобы уважаемым читателям было понятнее о чем идет речь, я немного отвлекусь, чтобы описать вкратце то, как появились эти приложения и что они собой представляют.

Классическая методика Callan Method — это так называемый прямой метод изучения языка. Нет перевода, все только на английском, поэтому учащийся может быть любой национальности. Ведет носитель языка. Всем учащимся раздается по небольшой (страниц 200) книге. Преподавание ведется сначала по одной книге, которая проходится с начала до конца несколько раз (обычно 5-7), затем по следующей и т. д. В начале урока учащиеся повторяют за преподавателем слова и читают выражения из книги. Затем в форме вопрос — ответ идет общение с преподавателем. Затем — небольшой диктант. И снова чтение, общение в режиме «короткие повествования преподавателя», затем в формате «вопрос — ответ».

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

Так вернемся, как говорится, к нашим британцам. Я предложил им использовать мое приложение совместно, резонно полагая, что при размещении ссылки на их сайте возможно будет получить неплохой прирост инсталлов. Выразил готовность обсудить изменения в приложении по их желанию, а также вопросы разделения прибыли. Они думали недели две, задавали разные вопросы, на что получали от меня в основном утвердительные ответы. Затем решение: нет! И требование удалить немедленно, подписать обязательство не передавать, не публиковать и т. п. Если нет, то суд, тюрьма, Сибирь.

Теперь задумался я. Нет, рассказы о том, как в Бангкоке кого-то там арестовали за нарушение их авторских прав меня не пугали, а вот перспектива оказаться забаненым в Apple developer пугала. И я решил снять их с продажи.

Месяца два приложения не были доступны, и все это время меня глодала мысль. Не то, чтобы деньги, эти приложения приносили мне немного, так как я не занимался их продвижением вовсе. Хотя, конечно и это деньги, но большей частью время — больше года почти ежедневного труда — и несомненная эффективность приложений, проверенная на себе. Я ничего не украл (тексты в свободном доступе), не использовал зарегистрированный товарный знак. Зачем так сразу сдался? И я снова выставил приложения в App Store.

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

Я ждал образец контракта, а пришло снова гневное письмо от тех же, от кого приходило в первый раз с тем же требованием немедленного удаления приложений из App Store. За ним приходит письмо от молодого человека, в котором он говорит, что это его коллеги очень сердитые и нужно бы снять с продажи приложения, чтобы нам продолжить обсуждение нашего сотрудничества. Снял с продажи, сообщил ему. Он отвечает, что мне необходимо написать его коллегам о себе: кто я, где живу и т. д. и т. п., объяснить им что-то, уже не помню. Короче не стал я им ничего писать, он мне тоже молчок. Прошел месяц, второй… Тишина. Я снова выложил мои приложения. Месяц прошел тихо.

Тишину нарушила некая Речел из Нью-Йорка, юрист, представляющая интересы правообладателя метода Пимслера, по которому я также сделал приложение. Требование то же: удалить немедленно, подписать обязательство не распространять, не передавать. Плюс к этому предоставить листинг полученных доходов от продажи этого приложения. Иначе как обычно: суд, тюрьма, Сибирь.

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

Английский по методу Пимслера — это известный аудиокурс, где диктор произносит слова и выражения и просит повторять их, делая паузы. В моем приложении я не использовал их аудиозапись, а воспроизводил текст с помощью стандартных голосов (TTS), причем текст частично отличается от аудиозаписи. В паузах я использовал оффлайновое распознавание речи, и баллы за правильно распознанное с трех попыток 1, за трижды неправильное -1. Получилось очень так изящненько, по крайней мере точно лучше чем аудиокурс. Вот здесь можно посмотреть демо видео.

Я отправил ей те же предложения, что, мол, открыт к диалогу, давайте обсудим и т. д. и т. п. Оттуда жестко так: в такой-то срок чтоб не было и все. Представители Apple пишут: решайте с ней, это ваша ответственность (она их тоже дергает), я отвечаю, мол, как с ней решать, если она вообще разговаривать не хочет? Ну и сегодня написал в Apple: приложение лучше, чем аудиокурс, могу, если нужно, что-то изменить в нем, а удалять не буду.

Теперь сижу, жду что будет. Я одно не пойму: я не использую их аудиозаписи, не использую зарегистрированный товарный знак Pimsleur. На что у них авторские права, на слова? Может у кого-нибудь был подобный опыт, что будет как думаете? Возможно я не прав и мне следует послушать их и удалить приложения?

Распознавание и синтез речи в любое приложение под ios за час

Вводная часть:
Читайте также:  Чехлы для планшетов UAG - каталог цен, где купить в интернет-магазинах: продажа, характеристики, описания, сравнение | E-Katalog

Сам инструментарий называется NDEV. Чтоб получить необходимый код (его мало) и документацию (её много), надо зарегиться на сайте в «программе сотрудничества». Сайт:

dragonmobile.nuancemobiledeveloper.com/public/index.php

Это весь «геморрой», если клиентов вашего приложения менее полумиллиона и они пользуются сервисами менее 20 раз в день. Сразу после регистрации вы получите членство «Silver», которое позволит вам бесплатно пользоваться данными сервисами.
Разработчикам предлагается пошаговая инструкция по внедрению в свое приложение на iOS сервисов распознавания и синтеза речи:

Инструментарий (SDK) содержит в себе компоненты и клиента, и сервера. Диаграмма иллюстрирует их взаимодействие на верхнем уровне:

image

Комплект Dragon Mobile SDK состоит из различных примеров кода и шаблонов проектов, документации, а также программной платформы (фреймворка), упрощающей интеграцию речевых сервисов в любое приложение.
Платформа Speech Kit framework позволяет легко и быстро добавлять в приложения сервисы распознавания и синтеза (TTS, Text-to-Speech) речи. Данная платформа также обеспечивает доступ к компонентам обработки речи, находящимся на сервере, через асинхронные «чистые» сетевые API, сводя к минимуму накладные расходы и потребляемые ресурсы.
Платформа Speech Kit является полнофункциональным высокоуровневым «фреймворком», который автоматически управляет всеми низкоуровневыми сервисами.

image
Архитектура Speech Kit

Основная часть

На прикладном уровне разработчику доступны два основных сервиса: распознавание и синтез речи из текста.
Платформа выполняет несколько согласованных процессов:

 Осуществляет полное управление аудио системой для записи и воспроизведения
 Сетевой компонент управляет подключениями к серверу и автоматически восстанавливает соединения с истекшим временем ожидания при каждом новом запросе
 Детектор окончания речи определяет, когда пользователь закончил говорить, и при необходимости автоматически останавливает запись
 Кодирующий компонент сжимает и распаковывает потоковую аудиозапись, снижая требования к полосе пропускания и уменьшая среднее время задержки.
Система серверов отвечает за большинство операций, входящих в цикл обработки речи. Процесс распознавания или синтеза речи выполняется целиком на сервере, обрабатывая или синтезируя аудио-поток. Кроме того, сервер осуществляет аутентификацию в соответствии с конфигурацией разработчика.
В данной конкретной статье мы сконцентрируем внимание на разработке для iOS. Фреймворк Speech Kit может использоваться точно также как любая стандартная программная платформа для iPhone, например Foundation или UIKit. Разница лишь в том, что Speech Kit – статический фреймворк, и целиком содержится в компиляции вашего приложения. Speech Kit непосредственно связан с некоторыми ключевыми операционными компонентами iPhone OS, которые необходимо включать в приложение как взаимозависимые, так, чтобы они были доступны во время работы приложения. Кроме Foundation вам необходимо добавить в Xcode-проект компоненты System Configuration и Audio Toolbox:
1. Начните с выбора программных платформ (Framework group) в рамках вашего проекта
2. Затем щелкните правой или командной кнопкой мыши «Платформы» (Frameworks) и в появившихся меню выберите: Добавить (Add) ‣Существующие Платформы (Existing frameworks)…
3. Наконец, выберите нужные фреймворки и нажмите кнопку Добавить (Add). Выбранные платформы отображаются в папке Фреймворки (Frameworks) (см. рис. выше).
Чтобы начать использование программной платформы SpeechKit, добавьте ее к своему новому или уже существующему проекту:
1. Откройте свой проект и выберите группу, в которой вы хотите чтобы находилась платформа Speech Kit, например: file:Frameworks.
2. В меню выберите Проект (Project) ‣ Добавить в проект( Add to Project)…
3. Далее найдите фреймворк «SpeechKit.framework», в который вы распаковали инструментарий Dragon Mobile SDK и выберите Добавить (Add).
4. Чтобы убедиться, что Speech Kit находится в вашем проекте и не ссылается на исходную локацию, выберите Копировать элементы (Copy items)… а затем Добавить (Add).
5. Как вы можете видеть, платформа Speech Kit добавлена в ваш проект, который вы можете расширить для доступа к публичным заголовкам (Public Headers).

Платформы, необходимые для Speech Kit

image

Фреймворк Speech Kit обеспечивает один заголовок верхнего уровня, который предоставляет доступ к полному интерфейсу программирования приложения (API), до классов и констант включительно. Вам необходимо импортировать заголовки Speech Kit во все исходные файлы, где собираетесь применять сервисы Speech Kit:

#import <SpeechKit/SpeechKit.h>

Теперь вы можете начать пользоваться сервисами распознавания и преобразования текста в речь (речевого синтеза).

Платформа Speech Kit является сетевым сервисом и нуждается в некоторых базовых настройках перед началом использования классов распознавания или синтеза речи.
Данная установка выполняет две основные операции:
 Во-первых, она определяет и авторизует ваше приложение.
 Во-вторых, — устанавливает соединение с речевым сервером, — это позволяет производить быстрые запросы на речевую обработку и, следовательно, повышает качество обслуживания пользователей.
Примечание
Указанное сетевое соединение требует авторизации учетных данных и настроек сервера, заданных разработчиком. Необходимые полномочия предоставляются с помощью портала Dragon Mobile SDK: dragonmobile.nuancemobiledeveloper.com.
Установка Kit Setup
Ключ приложения SpeechKitApplicationKey запрашивается программной платформой и должен быть установлен разработчиком. Ключ выполняет функцию пароля вашего приложения для серверов обработки речи и должен храниться в тайне для предотвращения неправомерного использования.
Ваши уникальные полномочия, включая ключ приложения (Application Key), предоставляющийся через портал разработчиков, предполагают внесение нескольких дополнительных строчек кода для установки данных прав. Таким образом, процесс сводится к копированию и вставке строк в исходном файле. Вам необходимо установить ваш ключ приложения до инициализации системы Speech Kit. Например, можно настроить ключ приложения следующим образом:

const unsigned char[] SpeechKitApplicationKey = {0x12, 0x34, …, 0x89};

Установочный метод, setupWithID:host:port, содержит 3 параметра:
 Идентификатор приложения
 Адрес сервера
 Порт
Параметр ID идентифицирует ваше приложение и используется в сочетании с вашим ключом приложения, обеспечивая авторизацию для доступа к речевым серверам.
Параметры хоста и порта задают речевой сервер, который может меняться от приложения к приложению. Таким образом, вам всегда следует использовать значения, заданные параметрами аутентификации.
Фреймворк настраивается на следующем примере:

[SpeechKit setupWithID:@«NMDPTRIAL_Acme20210604154233_aaea77bc5b900dc4005faae89f60a029214d450b»
host:@«10.0.0.100»
port:443];

Примечание

Метод setupWithID:host:port является методом класса и не генерирует объект (экземпляр). Этот метод предназначен для одноразового вызова за время работы приложения, он настраивает основное сетевое подключение. Это асинхронный метод, который выполняется в фоновом режиме, устанавливает соединение и выполняет авторизацию. Метод не сообщает об ошибке соединения/авторизации. Успех или провал выполнения данной установки становится известным с использованием классов SKRecognizer и SKVocalizer.
На данном этапе речевой сервер полностью сконфигурирован, и платформа начинает устанавливать соединение. Это соединение будет оставаться открытым в течение некоторого времени, выступая гарантией того, что последующие речевые запросы обрабатываются оперативно до тех пор, пока активно используются речевые сервисы. Если у соединения истекает время ожидания, оно прерывается, но будет восстановлено автоматически одновременно со следующим речевым запросом.
Приложение настроено и готово распознавать и синтезировать речь.

Распознавание речи

Технология распознавания позволяет пользователям диктовать вместо того, чтобы печатать там, где обычно требуется ввод текста. Распознаватель речи выдает список текстовых результатов. Он никак не привязан к какому-либо объекту пользовательского интерфейса (UI), поэтому отбор наиболее подходящего результата и выборка альтернативных результатов остается на усмотрение пользовательского интерфейса каждого приложения.

image
Процесс распознавания речи

Инициирование процесса распознавания

1. Перед использованием сервиса распознавания речи, убедитесь, что исходная платформа Speech Kit настроена вами с помощью метода setupWithID:host:port.
2. Затем создайте и инициализируйте объект SKRecognizer:
3. recognizer = [[SKRecognizer alloc] initWithType:SKSearchRecognizerType
4. detection:SKShortEndOfSpeechDetection
5. language:@«en_US»
6. delegate:self];
7. Метод initWithType:detection:language:delegate инициализирует распознаватель и запускает процесс распознавания речи.
 Типовой параметр — NSString *, это одна из типовых констант распознавания, определяемых платформой Speech Kit и доступной через заголовок SKRecognizer.h. Nuance может предоставить вам другие значения для ваших уникальных потребностей распознавания, в этом случае вам понадобится добавить расширение NSString.
 Параметр обнаружения задает модель «определение окончания речи» и должен соответствовать одному из типов SKEndOfSpeechDetection.
 Языковой параметр определяет язык речи в виде строки в формате кода языка ISO 639, а затем нижнего подчеркивания “_”, после чего следует код страны в формате ISO 3166-1.
Примечание
Например английский язык, на котором говорят в США, имеет обозначение en_US. Обновленный список поддерживаемых языков для распознавания доступен на FAQ: dragonmobile.nuancemobiledeveloper.com/faq.php.
8. Делегат получает результат распознавания или сообщения об ошибке, как описано ниже.
Получение результатов распознавания
Для получения результатов распознавания, обратитесь к методу делегации recognizer:didFinishWithResults:
— (void)recognizer:(SKRecognizer *)recognizer didFinishWithResults:(SKRecognition *)results {
[recognizer autorelease];
// выполнить какие-либо действия по результатам
}

Метод делегации будет применяться только при успешном завершении процесса, список результатов будет содержать ноль или более результатов. Первый результат всегда может быть найден с помощью метода firstResult. Даже в отсутствие ошибки, может присутствовать совет (предложение) от речевого сервера, присутствующее в объекте результатов распознавания. Такой совет (предложение) должен быть представлен пользователю.

Обработка ошибок

Чтобы получать информацию о любых ошибках распознавания, используйте метод делегации recognizer:didFinishWithError:suggestion:. В случае ошибки будет вызван только этот метод; напротив, в случае успеха данный метод вызываться не будет. В дополнение к ошибке, как упоминалось в предыдущем разделе, в результате могут присутствовать или не присутствовать советы.
— (void)recognizer:(SKRecognizer *)recognizer didFinishWithError:(NSError *)error suggestion:(NSString *)suggestion {
[recognizer autorelease];
// информирование пользователя об ошибке и совет
}

Читайте также:  Полный кошмар: USB-C и Thunderbolt 3 / Хабр

Управление стадиями записи

Чтобы при желании получать информацию о том, когда распознаватель начинает или заканчивает запись аудио, воспользуйтесь методами делегации recognizerDidBeginRecording: и recognizerDidFinishRecording:. Так, может возникать задержка между инициализацией распознавания и фактическим началом записи, и сообщение recognizerDidBeginRecording: может сигнализировать пользователю, что система готова слушать.
— (void)recognizerDidBeginRecording:(SKRecognizer *)recognizer {
// Обновить UI чтобы указать, что система ведет запись
}

Сообщение recognizerDidFinishRecording: посылается до того, как речевой сервер заканчивает прием и обработку звукового файла, и, следовательно, до того, как становится доступен результат.
— (void)recognizerDidFinishRecording:(SKRecognizer *)recognizer {
// Обновить UI чтобы указать, что запись прекратилась, и речь еще обрабатывается
}

Данное сообщение посылается вне зависимости от наличия модели обнаружения конца записи. Сообщение посылается одинаково и по вызову метода stopRecording, и по сигналу обнаружения окончания записи.
Установка «звуковых иконок» (сигналов)
Кроме того, для воспроизведения звуковых сигналов до и после записи, а также после отмены сессии записи, могут использоваться «звуковые иконки». Вам необходимо создать объект SKEarcon и установить для него метод setEarcon:forType: платформы Speech Kit. Приведенный ниже пример демонстрирует, как устанавливаются «звуковые иконки» в приложении-примере

— (void)setEarcons {
// Воспроизводить «звуковые иконки»
SKEarcon* earconStart = [SKEarcon earconWithName:@«earcon_listening.wav»];
SKEarcon* earconStop = [SKEarcon earconWithName:@«earcon_done_listening.wav»];
SKEarcon* earconCancel = [SKEarcon earconWithName:@«earcon_cancel.wav»];

[SpeechKit setEarcon:earconStart forType:SKStartRecordingEarconType];
[SpeechKit setEarcon:earconStop forType:SKStopRecordingEarconType];
[SpeechKit setEarcon:earconCancel forType:SKCancelRecordingEarconType];
}

Когда вызывается блок кода уровнем выше,(после того, как вы настроили основную программную платформу Speech Kit с помощью метода setupWithID:host:port), перед началом процесса записи проигрывается аудиофайл earcon_listening.wav, и звучит аудиофайл earcon_done_listening.wav, когда запись завершена. В случае отказа от сессии записи для пользователя звучит аудиофайл earcon_cancel.wav». Метод«earconWithName: работает только для аудиофайлов, которые поддерживаются устройством.
Отображение уровня звука

В некоторых случаях, особенно при продолжительной диктовке, удобно снабжать пользователя визуальным отображением мощности звука его речи. Интерфейс звукозаписи поддерживает данную возможность при применении атрибута audioLevel, возвращающего относительный уровень мощности записанного звука в децибелах. Диапазон этого значения характеризуется плавающей точкой и находится в промежутке от 0.0 и -90.0 dB где 0.0 является самым высоким уровнем мощности, а -90.0 – нижней границей мощности звука. Этот атрибут должен быть доступен во время записи, в частности, в момент между получением сообщений recognizerDidBeginRecording: и recognizerDidFinishRecording:. В общем случае вам понадобится использовать метод таймера, например такой как performSelector:withObject:afterDelay: для регулярного отображения уровня мощности.

Преобразование текста в речь

Класс SKVocalizer предоставляет разработчикам сетевой интерфейс речевого синтеза.

image
Процесс речевого синтеза

Инициализация процесса речевого синтеза

1. Перед началом использования сервиса синтеза речи убедитесь, что основная программная платформа настроена Speech Kit с помощью метода setupWithID:host:port.
2. Затем создайте и инициализируйте объект SKVocalizer для преобразования текста в речь:
3. vocalizer = [[SKVocalizer alloc] initWithLanguage:@«en_US»
4. delegate:self];
5.
1. Метод initWithLanguage:delegate: инициализирует сервис речевой синтез с языком по умолчанию.
 Языковой параметр — NSString * который определяет язык в виде кода языка формата ISO 639, нижнего подчеркивания “_” и следующего за ними кода страны в формате ISO 3166-1. Например, английский язык, которым пользуются в США, имеет формат en_US. Каждый поддерживаемый язык имеет один или более уникальный голос, мужского или женского пола.
Примечание
Обновленный список поддерживаемых языков для речевого синтеза доступен на сайте: dragonmobile.nuancemobiledeveloper.com/faq.php. Список поддерживаемых языков будет обновляться при появлении поддержки нового языка(ов). Новые языки не обязательно будут требовать обновления существующего Dragon Mobile SDK.
 Делегированный параметр определяет объект для получения от речевого синтезатора статусов и сообщений об ошибке.
2. Метод initWithLanguage:delegate: использует голос по умолчанию, выбранный Nuance. Чтобы выбрать другой голос, используйте метод initWithVoice:delegate: вместо предыдущего.
 Голосовой параметр — NSString *, он определяет звуковую модель. Например, голос для великобританского английского по умолчанию – Samantha (Саманта).
Примечание
Обновленный список поддерживаемых голосов, сопоставленный с поддерживаемыми языками, размещен на сайте:
dragonmobile.nuancemobiledeveloper.com/faq.php.
5. Для начала процесса преобразования текста в речь вам необходимо использовать метод speakString: или speakMarkupString:. Эти методы отправляют запрашиваемую строку на речевой сервер и инициализируют потоковую обработку и воспроизведение аудио на устройстве.
6. [vocalizer speakString:@«Hello world.»]

Примечание

Метод speakMarkupString используется точно таким же образом, как метод speakString с той лишь разницей, что класс NSString * выполняется разметочным языком синтеза речи, предназначенным для описания синтезированной речи. Последние обсуждения разметочных языков синтеза речи выходит за рамки данного документа, однако вы можете ознакомиться с более подробной информацией по данной теме, предоставленной W3C, на www.w3.org/TR/speech-synthesis.
Речевой синтез является сетевым сервисом и, следовательно, упомянутые выше методы являются асинхронными, — в общем случае сообщение об ошибке не выводится моментально. Любые ошибки представляются в виде сообщений делегату.

Управление обратным откликом системы синтеза речи

Синтезированная речь не будет воспроизведена моментально. Скорее всего будет иметь место небольшая по времени задержка, во время которой на речевой сервис отправляется и перенаправляется обратно запрос. Опциональный делегационный метод vocalizer:willBeginSpeakingString: применяется для координации пользовательского интерфейса и имеет своей целью указать момент начала воспроизведения звука.
— (void)vocalizer:(SKVocalizer *)vocalizer willBeginSpeakingString:(NSString *)text {
// Обновить пользовательский интерфейс чтобы указать момент начала воспроизведения речи
}

Класс NSString * в сообщении выполняет роль ссылки на оригинальную строку, выполненную одним из методов: speakString или speakMarkupString, и может быть использован в ходе последовательного воспроизведения трека, когда сделаны соответствующие запросы на преобразование текста в речь.
По окончании воспроизведения речи посылается сообщение vocalizer:didFinishSpeakingString:withError. Это сообщение всегда отправляется как в случае успешного завершения процесса воспроизведения, так и в случае ошибки. В случае успешного завершения ошибка «зануляется».
— (void)vocalizer:(SKVocalizer *)vocalizer didFinishSpeakingString:(NSString *)text withError:(NSError *)error {
if (error) {
// Вывести для пользователя диалоговое окно ошибки
} else {
// Обновить пользовательский интерфейс, указать на завершение воспроизведения
}
}

После этих манипуляций вам остается только отладить соответствующий сервис и пользоваться.

Синтезатор речи в ios7

В iOS7 встроили синтезатор речи, теперь заставить свое приложение говорить вопрос пары строчек кода.

За синтез речи отвечает класс AVSpeechSynthesizer Достаточно передать ему текст обернутый в класс AVSpeechUtterance и текст будет прочитан смартфоном.

Голос зависит от локали, в том числе поддерживается русский. Речь звучит четко и приятно.

var speechSynthesizer = new AVSpeechSynthesizer ();
var speechUtterance =
  new AVSpeechUtterance ("Shall we play a game?");
speechSynthesizer.SpeakUtterance (speechUtterance);

Использование технологий распознавания и синтеза речи для изучения английского языка на iPhone/iPad. Аспекты авторского права на методики. Мой опыт / Хабрголос по умолчанию с английской локалью
Это ссылка! Кликайте с Ctrl или Cmd, на хабре нельзя встроить звук. В нашем блоге разместил пост с виджетами Sound Cloud.

Речь настраивается с помощью параметров класса AVSpeechUtterance:

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

var speechSynthesizer = new AVSpeechSynthesizer ();
var speechUtterance =
	new AVSpeechUtterance ("Shall we play a game?") {
		Rate = AVSpeechUtterance.MaximumSpeechRate / (float)3.6
	};
speechSynthesizer.SpeakUtterance (speechUtterance);

Использование технологий распознавания и синтеза речи для изучения английского языка на iPhone/iPad. Аспекты авторского права на методики. Мой опыт / Хабрголос по умолчанию, макс скорость/3.6

Синтезатор речи в iOS7 поддерживает только женский голос в 35 локалях, среди них — русская.

['ar-SA', 'cs-CZ', 'da-DK', 'de-DE', 'el-GR', 'en-AU', 'en-GB', 'en-IE', 'en-US', 'en-ZA', 'es-ES', 'es-MX', 'fi-FI', 'fr-CA', 'fr-FR', 'hi-IN', 'hu-HU', 'id-ID', 'it-IT', 'ja-JP', 'ko-KR', 'nl-BE', 'nl-NL', 'no-NO', 'pl-PL', 'pt-BR', 'pt-PT', 'ro-RO', 'ru-RU', 'sk-SK', 'sv-SE', 'th-TH', 'tr-TR', 'zh-CN', 'zh-HK', 'zh-TW']
var speechSynthesizer = new AVSpeechSynthesizer ();
var speechUtterance =
	new AVSpeechUtterance ("Сыграем в игру?") {
		Rate = AVSpeechUtterance.MaximumSpeechRate / (float)4,
		Voice = AVSpeechSynthesisVoice.FromLanguage ("ru-RU")
	};
speechSynthesizer.SpeakUtterance (speechUtterance);

Использование технологий распознавания и синтеза речи для изучения английского языка на iPhone/iPad. Аспекты авторского права на методики. Мой опыт / Хабррусский, четверть макс скорости

Русский голос звучит прекрасно, попробуем проиграть длинный текст.
Использование технологий распознавания и синтеза речи для изучения английского языка на iPhone/iPad. Аспекты авторского права на методики. Мой опыт / ХабрЛермонтов «Парус», русский, четверть макс скорости

Есть огрехи, но на мой взгляд прекрасно. Подходит для боевого использования.

Варианты приложений с синтезом речи:

  • Приложения для слепых, например, навигация в помещениях совместно с iBeacon.
  • Аудио-гиды по музею/городу, синтезированная речь не так приятна как прочитанная людьми, но текст будет понятен.
  • Приложения для авто, скутера и велосипеда. Например, можно зачитывать последние твиты. Удобно когда едешь на велосипеде на работу.
  • Туристические приложения. Например, «спасибо», «пожалуйста», «здравствуйте» на популярных языках.

В Android синтез речи появился в 2009 году (1.6 ), звучит отвратительно.


Подписывайтесь на наш

хабра-блог

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

Топ-17 синтезаторов речи | озвучка текста онлайн, на телефоне и пк

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

Оцените статью
iPad Мобайл
Добавить комментарий