Лингафонный кабинет на базе компьютерного класса

УДК 004.9

Э. И. Ясюкович, канд. техн. наук, доц., А. А. Фетищев ЛИНГАФОННЫЙ КАБИНЕТ НА БАЗЕ КОМПЬЮТЕРНОГО КЛАССА

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

Введение

На сегодняшний день существует большое количество программных средств, задачей которых является обеспечение голосового общения пользователей в локальной компьютерной сети. Приведем результаты анализа двух аналогов таких программных средств и отметим их основные достоинства и недостатки [1, 2].

Программа Net Speakerphone является клоном программ для общения в локальной сети. Основное предназначение, как видно из названия, - это сетевой телефон, т. е. возможность общения с пользователями локальной компьютерной сети не только текстом, но и голосом, причем с несколькими одновременно. Программа содержит функции автоматической регулировки звука и систему шумоподавления, поддерживает группы пользователей и фильтрацию адресов, однако не предусматривает наличие сервера. Позволяет отправлять тексты посредством системной команды net send на рабочие станции, на которых программа не запущена. Имеет возможность удаленного отключения монитора, управления микшером звуковой карты, завершения сессии, перезагрузки компьютера и т. д. Поддерживает все команды удаленного управления с помощью специальной внешней утилиты.

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

граммы представлен на рис. 1.

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

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

Вторая программа NetVoice представляет собой средство общения пользователей по локальной сети 1п1хапе1. Основные возможности программы: не требует специального выделенного сервера; не нуждается в библиотеке Б^ейХ; обеспечивает полнодуплексный режим общения пользователей; позволяет вести разговор, работая с другими приложениями. Программа позволяет также разговаривать с выбранным пользователем; использовать автоответчик; устраивать конференции, т. е. общаться в многопользовательской беседе; транслировать звук на всю локальную сеть; отправлять выбранному пользователю текстовые сообщения.

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

несколькими звуковыми картами. Вид главной формы пользовательского интерфейса программы представлен на рис. 2.

Достоинство программ NetVoice состоит в предоставлении всех возможностей сетевого общения пользователей, а

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

Рис. 1. Вид главной формы интерфейса программы Net Speakerphone

Рис. 2. Вид главной форма пользовательского интерфейса программы NetVoice

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

сети являются равноправными. В учебном же процессе сервер необходим для осуществления централизованного управления.

Средства реализации лингафонного кабинета на основе компьютерного класса

Широко распространенным средством сетевого взаимодействия является технология Socket, которая представляет наиболее популярный и общепринятый стандарт межпроцессорного взаимодействия. Технология Socket разработана как для Unix-подобных операционных систем, так и для Windows. Существует два типа сокетов: ориентированный на соединение, основанное на протоколе TCP (Transmission Control protocol), и потокоориентированный, использующий протокол UDP (User Datagram Protocol) датаграмм пользователя, также транспортного уровня. Протокол TCP осуществляет доставку дейтаграмм, называемых сегментами, в виде байтовых потоков. TCP применяется в тех случаях, когда требуется гарантированная доставка сообщений. Он использует контрольные суммы пакетов для проверки их целостности, контролирует последовательность передаваемых данных и избавляет программиста от многих рутинных задач. В качестве примеров прикладных протоколов, использующих TCP, можно назвать протокол FTP (File Transport Protocol) - протокол передачи файлов, HTTP (Hyper Text Transport Protocol) - протокол передачи гипертекста, SMTP (Simple Mail Transport Protocol) - почтовый протокол и другие. Достоинствами этой технологии являются совместимость практически со всеми операционными системами, удобный

программный интерфейс WinSocket API (Application Programmer’s Interface), который обладает высокой производительностью и позволяет абстрагироваться от физической топологии сети.

При разработке программного обеспечения одним из важнейших вопросов является выбор языка программирования. Для создания программного комплекса может использоваться целый ряд интегрированных средств разработки: Microsoft

Visual C++; Microsoft Visual Basic; C++ Builder; Borland Delphi [3].

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

Разработка приложений предполагает использование алгоритмической или объектно-ориентированной декомпозиции. В настоящее время объектно-ориентированная технология стала основной при разработке программного обеспечения. В связи с этим немаловажным критерием является поддержка данной технологии. Сравнительная характеристика языков программирования по поддержке механизмов объектно-ориентированной методологии приведена в табл. 1.

Как видно из табл. 1, наиболее полную реализацию объектноориентированной технологии предоставляет язык С++. Кроме того, экспортирование и преобразование объектной модели, спроектированной, например, с использованием case-пакета Enterprise Architect, в код поддерживается лишь средой разработки Microsoft Visual C++.

Немаловажным моментом является также и выбор операционной системы с точки зрения ее распространенности и доступности. В нашей стране лидируют операционные системы фирмы Microsoft. Хотя более ранние версии MS Windows 9.x уступали в надежности своим аналогам, таким как OS/2, UNIX-подобные системы, и не имели в своем составе встроенных средств защиты информации. Последние версии MS Windows 2000, XP, NT считаются одними из самых надежных и отказоустойчивых операционных систем.

Табл. 1. Сравнительная характеристика языков программирования

Концепция Элемент концепции Object Pascal С++ Basic

Абстракция Переменные экземпляра Да Да Да

Методы экземпляра Да Да Да

Переменные класса Нет Да Да

Методы класса Нет Да Да

Инкапсуляция Переменный Открытый Открытый, защищенный, закрытый Открытый, закрытый

Методы Открытый Открытый, защищенный, закрытый Открытый, закрытый

Иерархия Наследование Одиночный Множественный Нет

Шаблоны Нет Да Нет

Типизация Полиморфизм Одиночный Одиночный Одиночный

Сильная типизация Да Да Нет

Параллельность Многозадачность Нет Непрямая Нет

Важным критерием программного средства является продуманность и удобство его интерфейса, который в значительной части облегчает обучение и работу с ним. В соответствии с этим критерием наиболее удачными являются операционные системы с дружественным пользователю интерфейсом МБ Windows, ОБ/2, и№Х-системы. Однако в связи с этим возникают высокие требования к аппаратной части.

Характеристика разработанного программного и информационного обеспечений

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

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

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

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

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

Для наиболее эффективного функционирования компьютерного класса в режиме лингафонного кабинета было создано специальное информационное обес-

печение (ИО), содержащее текстовые файлы и аудиофайлы, а также файлы системных сообщений. ИО задачи содержит два компонента: внешнее ИО с входными и выходными данными и внутреннее информационное обеспечение (рис. 3).

Информационное

обеспечение

Внешнее информационное Внутреннее информационное

обеспечение обеспечение

Выходные данные

Текст или методические указания

Звуковой информационный поток

Log-файлы

Входные данные

Речь участника диалога

Тесты и методические указания

Фонограммы для аудирования

Информация о студенческих группах

Конфигурационные

файлы

Рис. 3. Структурная схема информационного обеспечения

Внешнее ИО представляет собой следующие данные: файл с методическими указаниями, тестами и т. д.; файл с фонограммой; текстовые сообщения; звуковой поток; системные сообщения в так называемых log-файлах.

К внутреннему ИО относятся файл с информацией о группах учащихся, а также конфигурационные файлы программного обеспечения.

Файлы с методическими указаниями, тестами и фонограммой создаются преподавателем. При этом файлы методических указаний - это обычные текстовые файлы в формате редактора Word. Тип файла с

фонограммой должен иметь формат .wav [4]. Информация в этом формате представляется в виде блоков, каждый из которых имеет три раздела: идентификатор блока - четыре символа, размер поля данных - четыре байта и непосредственно сами данные. Размер данных не может превышать 4 Гбайт, иначе данные следует разбить на несколько блоков. Внутри поля данных могут находиться вложенные блоки. Таким образом, внутри одного wav-файла может в принципе находиться несколько потоков аудиоданных. Любой файл в формате RIFF (Resource Interchange File For-

mat) имеет один старший блок с идентификатором RIFF. Все остальные блоки являются вложенными. Блок RIFF имеет одно дополнительное поле, в котором указан тип хранимых данных.

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

Формат звукового потока должен быть следующим: форма аналого-

цифрового преобразования - PCM (Pulsecode modulation); частота дискретизации -8000 Гц; число бит на одну выборку - 8.

Системные сообщения в log-файлах имеют структуру: фрагмент текста, содержащий название выполненной операции; статус ее завершения; время завершения.

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

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

В разработанной программе используются два конфигурационных файла: файл конфигурирования звукового потока directsound.cfg, содержащий числовые значения его основных параметров. Формат этого файла следующий: количество бит в одной выборке - 8; частота дискре-

тизации 800 Гц; количество каналов в звуковой карте - 1; размер звукового буфера - 10 с.

Файл конфигурирования протокола передачи звукового потока по сети (SPTP_protocol.cfg) содержит тип протокола транспортного уровня (TCP или UDP), количество одновременных соединений и время ожидания ответа от сервера. Параметры этого файла следующие: тип протокола - TCP; количество соединений - 10; время ожидания ответа - 5 с.

Серверное и клиентское приложения были разработаны в среде программного обеспечения Microsoft Visual Studio, что потребовало использования семейства операционных систем Microsoft Windows, версии выше 2000 [5].

При построении программного интерфейса управления звуковыми пакетами использовались функции библиотеки DirectX, являющейся высокоэффективным межплатформенным API, созданными для реализации 3D звука.

! Учитывая, что в качестве операционной

системы выбрана OS Windows, а интегрированной средой разработки - Micro-I soft Visual Studio Net 2003, в качестве

программного интерфейса захвата/воспроизведения звука был выбран DirectSound - компонент библиотеки DirectX, представляющий собой API для прямого доступа к звуковым устройст-I вам компьютера [5, 6].

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

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

Рис. 4. Диаграмма состояний серверного приложения

Серверное приложение предназначено для координации и централизованного управления спроектированной системой. Именно в среде серверного приложения работает преподаватель. Поэтому серверное приложение является наиболее сложным и важным компонентом системы. При его проектировании были выделены следующие основные подсистемы: пользовательского интерфейса; захвата / воспроизведения звука; вспомогательные подсистемы; подсистема сетевого интерфейса.

Клиентское приложение является пассивным элементом системы. Его функциональность определяется теми возможностями, которые ему предоставил сервер. Однако оно, так же как и серверное приложение, имеет те же четыре подсистемы.

Подсистема пользовательского интерфейса представляет собой набор различных элементов управления, функциональность которых адаптирована для решения поставленной задачи и содержит следующие экранные формы: «Диалог» - отображает текущий список участников диалога; «Аудирование» - отображает текущий список участников на локальной машине и форму, где отображается название фонограммы; «Передача файлов» - отображает текущий список хостов и форму для выбора файла для передачи; «Текстовый диалог» -отображает текущий список хостов и форму для отправки и получения текстовых сообщений; «Настройки» - отображает форму изменения настроек программы (настройка качества и громкости звука, настройка протокола передачи звукового потока, максимальное количество хостов); «Окно выбора файла» - отображает диалоговую панель с областью, отображающей дерево каталогов.

Пользовательский интерфейс содержит следующие кнопки: «Аудирование» - обеспечивает переход к рабочему окну «Аудирование»; «Текстовый диалог» - обеспечивает переход к рабочему окну приема/передачи текстовых сообщений; «Передача файла» - обеспечивает

переход к рабочему окну передачи файлов; «Настройка программы» - обеспечивает переход к рабочему окну настройки программы; «Диалог» - обеспечивает переход к рабочему окну «Диалог»; «Задать фонограмму» - вызывает окно выбора файла фонограммы; «Загрузить файл» - возвращает пользователя к окну, из которого был осуществлен переход к окну выбора файла, и передает ему имя выбранного файла.

В процессе реализации алгоритма задачи были разработаны следующие вспомогательные подсистемы: подсистема сессии - класс, позволяющий хранить и обеспечивать работу с данными, характерными для текущего сеанса (текущий список клиентов); подсистема настроек - класс, позволяющий хранить и обеспечивать работу с текущими настройками системы; подсистема сетевого интерфейса представляет собой объекты классов CLIENT и SERVER.

Задача использует также разработанные классы: класс SERVER - реализует многопоточный сетевой сервер, который способен работать в качестве TCP или UDP - сервера (поддерживает протоколы IPv4 и IPv6 сетевого уровня сетевой модели ISO OSI); класс CLIENT - реализует одно- или многопоточный сетевой клиент, способный работать в качестве TCP или UDP-клиента (поддерживает протоколы IPv4 и IPv6 сетевого уровня сетевой модели ISO OSI).

Взаимодействие преподавателя со студентами во время занятия

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

ет возможность прослушивать их и передавать им комментарии и разрешения передать сообщение с результатами выполнения. Студент также может инициировать диалог с преподавателем по сети в текстовом или аудиорежимах.

Заключение

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

В заключение отметим, что использование разработанного программного

обеспечения позволит значительно повысить эффективность обучения иностранных языков в учебных заведениях.

СПИСОК ЛИТЕРАТУРЫ

1. Кульгин, М. В. Компьютерные сети. Практика построения / М. В. Кульгин. - 2-е изд. -СПб. : Питер, 2003. - 462 с. : ил.

2. Мейсон, МакКаски. Звук в играх: технологии программирования : пер. с англ. / Мак-Каски Мейсон. - М. : КУДИЦ-ОБРАЗ, 2004. -368 с.

3. Касаткин, А. И. Профессиональное программирование на языке Си : от Turbo C к Borland C++ : справ. пособие / А. И. Касаткин, А. Н. Вальвачев ; под общ. ред. А. И. Касаткина. -Минск : Выш. шк., 1992. - 240 с. : ил.

4. Стивенс, У. UNIX : разработка сетевых приложений / У. Стивенс. - СПб. : Питер,2004. -1086 с. : ил.

5. Рихтер, Дж. Windows для профессионалов: создание эффективных Win32 приложений с учетом специфики 64-разрядной версии Windows : пер. с англ. / Дж. Рихтер. - 4-е изд. -СПб. : Питер; М. : Русская Редакция, 2001. -752 с. : ил.

Белорусско-Российский университет Материал поступил 25.03.2007

E. I. Yasyukovich, A. A. Fetischev Lingual-training cabinet on the base of the computer class Belarusian-Russian University

The results of the analysis of software of vocal contact in local computer nets are presented. The description of designed software oriented on sound package transmission on network computer channels of data transmission from the teacher’s workstation to the student’s workstation has been given. The data ware of the problem and user interface providing with audio package transmission management have been designed.