Jump to content
Pilot718

Озвучивание событий через XML [FS9]

Recommended Posts

Всем доброго времени суток! У меня такой вопрос: существуют ли в симе системы речевой индикации для самолетов? Может кто-нибудь пробовал сделать? Было бы приятно услышать женский голос, например "Внимание, впереди земля", как в этом видео http://www.avsim.su/...tml?fileid=9173

Edited by seric76

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Есть прибор к которому можно привязать любой звук, но только звук будет звучать при нажатии на кнопку.

А можно поподробнее?!

Нужен как раз такой прибор, чтобы воспроизводил звук тормоза при нажатии на кнопку, для вертолета Ми-8мт

Share this post


Link to post
Share on other sites

в часности для Ту-154 я делал, прописываешь в файле .ДАТ нужный файл, бросаешь в папку СОУНД (звуковой файл) и все. Файл .ГАУ и ,ДАТ в папку ГАУГЕС

154.zip

Share this post


Link to post
Share on other sites

Основной вопрос для создания речевого информатора - это возможность прописывать звуки на определённые показания приборов. Это можно реализовать?

Share this post


Link to post
Share on other sites
Основной вопрос для создания речевого информатора - это возможность прописывать звуки на определённые показания приборов. Это можно реализовать?

 

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

 

Степан

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
в часности для Ту-154 я делал, прописываешь в файле .ДАТ нужный файл, бросаешь в папку СОУНД (звуковой файл) и все. Файл .ГАУ и ,ДАТ в папку ГАУГЕС

 

А как сделать так, чтобы при нажатии кнопки 1 воспроизводился звук?

Share this post


Link to post
Share on other sites
в часности для Ту-154 я делал, прописываешь в файле .ДАТ нужный файл, бросаешь в папку СОУНД (звуковой файл) и все. Файл .ГАУ и ,ДАТ в папку ГАУГЕС

 

А как сделать так, чтобы при нажатии кнопки 1 воспроизводился звук?

 

А что, не работает??? Поставь FSSound.dll

 

Я вот целую панельку сделал по докладам и процедурам работы экипажа для Ту-154б-2.

post-1673-1181120522_thumb.jpg

Edited by meh5

Share this post


Link to post
Share on other sites

Гед её можно качнуть?

Share this post


Link to post
Share on other sites

А технологию создания такого прибора можно огласить. Тогда и речевой информатор можно сделать без особых проблем?

Share this post


Link to post
Share on other sites

У меня дома... :sarcastic: да надо как-то здесь выложить.

Share this post


Link to post
Share on other sites

А как с разъяснением вопроса изготовления такого прибора?

Share this post


Link to post
Share on other sites
Согласен, Степан. Только вот надо уметь всё это совместить. У меня не получается. На какие показания приборов какие сигналы нужны я знаю, есть сами звуки, а вот как сделать, чтобы это всё работало - не знаю. Был бы универсальный прибор для введения звуков на показания приборов - было бы хорошо и добавило бы реализма.

FS BUS Router!- Вот ответ.

Там есть функция ССС- Cockpit Construction Circuit. Внутри можно на любое показание прибора, нажатие кнопки,свершившееся или не свершившееся событие, подключить звуковой файл. (выбирайте закладку voice) Количество файлов не ограничено. Есть одно но - одновременно проигрывается только один файл. Очень интересная фишка. Сам буду использовать. Руки пока не дошли. :unsure:

Прога бесплатная. У Вас она наверняка есть. Фсюпик необходим.

Share this post


Link to post
Share on other sites
Согласен, Степан. Только вот надо уметь всё это совместить. У меня не получается. На какие показания приборов какие сигналы нужны я знаю, есть сами звуки, а вот как сделать, чтобы это всё работало - не знаю. Был бы универсальный прибор для введения звуков на показания приборов - было бы хорошо и добавило бы реализма.

FS BUS Router!- Вот ответ.

Там есть функция ССС- Cockpit Construction Circuit. Внутри можно на любое показание прибора, нажатие кнопки,свершившееся или не свершившееся событие, подключить звуковой файл. (выбирайте закладку voice) Количество файлов не ограничено. Есть одно но - одновременно проигрывается только один файл. Очень интересная фишка. Сам буду использовать. Руки пока не дошли. :unsure:

Прога бесплатная. У Вас она наверняка есть. Фсюпик необходим.

Share this post


Link to post
Share on other sites
А как с разъяснением вопроса изготовления такого прибора?

 

Если через FSSound.dll то это к програмистам. Я готовой библиотекой от Девяткина пользуюсь.

 

Степан

Share this post


Link to post
Share on other sites

Функция ССС в Роутере работает нестабильно и часто глючит. Уже пробовали с ней работать.

Share this post


Link to post
Share on other sites

Так получаеться, что нет возможности в создании речевого информатора кроме как обращения к программисту, хорошо знающему сим?

Share this post


Link to post
Share on other sites

Да сами звуки у меня есть с речевого информатора Су-24, Ми-24 и Су-27. Нужно теперь привязать звуки к показаниям приборов.

Share this post


Link to post
Share on other sites

И у меня есть прибор, который на установку определенной переменной XML проигрывает определенный, привязанный к этой переменной, звуковой файл. Могу выложить на тестирование. Количество проигрываемых файлов 128. Самому нужно только задать соответствие в конфигурационном файле. Возможно проигрывание циклических звуков, таких как звук гироскопов, можно тумблера привязать и проч. Можно что-то вычислить в XML приборе, а потом по условию установить ту или иную звуковую переменную - соотв. звук проиграется. Работает через DirectSound, никаких FSSound.dll не надо, ФСЮПИКов тоже. В ближайшее время намереваюсь добавить условие проигрывание в зависимости от вида в симе, ну например, если смотришь снаружи, то звук гироскопов не нужен, и т.д.

Edited by Bor

Share this post


Link to post
Share on other sites
И у меня есть прибор, который на установку определенной переменной XML проигрывает определенный, привязанный к этой переменной, звуковой файл. Могу выложить на тестирование. Количество проигрываемых файлов 128. Самому нужно только задать соответствие в конфигурационном файле. Возможно проигрывание циклических звуков, таких как звук гироскопов, можно тумблера привязать и проч. Можно что-то вычислить в XML приборе, а потом по условию установить ту или иную звуковую переменную - соотв. звук проиграется. Работает через DirectX, никаких FSSound.dll не надо, ФСЮПИКов тоже. В ближайшее время намереваюсь добавить условие проигрывание в зависимости от вида в симе, ну например, если смотришь снаружи, то звук гироскопов не нужен, и т.д.

 

хм, очень даже не плохо, хотелось бы попробовать.

Share this post


Link to post
Share on other sites

Теперь применение:

 

Размещается как обычная гауга.

В файле Panel.cfg где нибудь в секции [Window00] прописывается строка, например такая:

gauge77=xss!process,0,0,1,1, Aircraft\SCS_An-12\xss\xss.cfg

 

где:

  • xss - сама гауга;
  • process - прибор в ней реализующий логику сервера;
  • Aircraft\SCS_An-12\xss\xss.cfg - путь к директории со звуками и настроечному файлу.

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

 

В настроечном файле:

[Options]

[Sounds]

// Галетник
ROTARY_SWITCH_SOUND
{
SoundFile   = "Click.wav";
Volume	  = -1000;
Reset	   = true;
};

// Тумблер
TOGGLE_SWITCH_SOUND
{
soundFile   = "Click2.wav";
Volume	  = -50;
Reset	   = true;
}

// Преобразователи
INVERTORS_SOUND
{
SoundFile="test_system2.wav";
Volume = -1000;
Reset	   = false;
}

// Гироскопы
GYROS_SOUND
{
SoundFile = "carflt_gyro.wav";
Volume	 = 0;
Reset	  = false; 
}	

// звук крышки панелей ТГ-16 и запуска двигателей
APU_COVER_SOUND
{
SoundFile = "small_cr.wav";
Volume = -2000;
Reset=true;
}

TG16_ROTOR_SOUND
{
SoundFile = "tg16_mot.wav";
Volume	 = -300;
Reset=false;
}

BAT_ON_SOUND
{
SoundFile = "BAT_ON.WAV";
Volume = 0;
Reset = true;
channel=0;
}

U20V_SOUND
{
SoundFile = "U20VOLT.WAV";
Volume = 0;
Reset = true;
channel=0;
}

U21V_SOUND
{
SoundFile = "U21VOLT.WAV";
Volume = 0;
Reset = true;
channel=0;
}

 

 

 

Секция [Options] пока не используется, в секции [sounds] находятся описатели звуков. Каждый описатель начинается с тега звука, который определяет XML переменную в контексте сима. Затем, в фигурных скобках, перечисляются атрибуты:

  • SoundFile - определяет строку с именем WAV файла содержащего звук;
  • Volume - громкость в диапазоне от 0 до -(МИНУС!) 10000;
  • Reset - автосброс XML переменной (об этом ниже);
  • channel - номер канала (очереди) звука (тоже ниже).

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

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

 

channel - канал, некторые звуки необходимо проигрывать последовательно, например, штурман логически не может в одно и то же время произносить фразы (даже одну и ту же и уж тем более разные), для решения этой проблемы используем каналы (точнее очереди), все звуки сидящие на одном канале будут проигрываться по очереди, т.е. можно включить несколько переменных сразу по одному каналу, но проиграются они один за одним, в той последовательностии, в какой указаны в настроечном файле. В настроечном файле есть такие звуки BAT_ON_SOUND и U20V_SOUND и так далее, эти звуки произности бортинженер: -Самолет под ток включен, напряжение - (один звук), 20 вольт - (другой звук). Ну разумеется подобрать паузы нужно получше, это уже режиссирование озвучки.

 

Характерна следующая особенность проигрывания циклических звуков. В симе существуют дефолтные звуки гироскопов, инверторов - они представляют собой WAV файл со специальными меткми зацикливания, так называемые Sustaining Loop (их видно и можно обработать в Sound Forge), находящимися на некотором расстоянии от начала и конца звука, причем, звуковой участок между метками собран таким образом, что зацикливание происходит "гладко", без щелчков, что дает возможность зациклить его бесконечно, в то же время начало звука представляет собой выход на режим, а конец - затухание звука, напрммер - выключение гироскопов. Зацикливание звука происходит автоматически гаугой, отдельным потоком ( вот она! реализованная кастомно многопоточность в симе!). Если звук выключили сразу после включения, т.е. проигранный участок начального сегмента не дошел до первой метки зацикливания, то, при выключении звука, остаток будет проигрыватся не от финальной метки зацикливания, а от конца звукового файла, отступив пропорционально проигранному началу. Это позволяет придать естественность звучанию, если мы только включили и тут же выключил звук, тогда не происходит неприятных скачков громкости, это работает и в обратном порядке, то есть выключили - звук стал спадать и тут же вновь включлили, звук пойдет не с начала, не с нуля, а практически с установившегося по тональности участка звукового файла.

 

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

 

И теперь о работе с XML - ниже представлен пример кода для работы с тумблерами:

<Mouse>
- <Area Right="48">
 <Cursor Type="DownArrow" /> 
 <Click>(L:DC_SW_POS, enum) 0 > if{ (L:DC_SW_POS, enum) -- (>L:DC_SW_POS, enum) 1 (>L:ROTARY_SWITCH_SOUND,bool) }</Click> 
 </Area>
- <Area Left="49">
 <Cursor Type="UpArrow" /> 
 <Click>(L:DC_SW_POS, enum) 9 < if{ (L:DC_SW_POS, enum) ++ (>L:DC_SW_POS, enum) 1 (>L:ROTARY_SWITCH_SOUND,bool) }</Click> 
 </Area>
 </Mouse>

 

Здесь при любом изменении положения переключателя переменная ROTARY_SWITCH_SOUND устанавливается в истину (1). Заметили? В описании секции [sounds] - это галетник. Переменная так и должна быть записана с префиксом L: и признаком bool без пробелов!

 

Еще пример:

<Mouse>
 <Cursor Type="Hand" /> 
 <Click>(L:APU_ON_BUS_SW,bool) ! (>L:APU_ON_BUS_SW,bool) 1 (>L:TOGGLE_SWITCH_SOUND,bool)</Click> 
 </Mouse>

 

Возможно более гибкое использование прибора из любого сишного, нужно только устанавливать либо через FS API либо с помощью библиотеки lial'а NamedVar эти переменные, так делается, например, в разрабатываемом Ан-12.

 

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

 

В заключении, хочу выразить благодарность Алексею Литвинову aka lial и Николаю Шарманжинову aka except за помощь в создании прибора и некоторых библиотек (NamedVar, и проч).

 

ЗЫ: Ограничения, звуки нежатый WAV, каналов 32, звуков 256. При переключении видов, звуки не выключаются, следующая версия будет поддерживать переключение видов. Возможно будут проигрываться и жатые звуки.

Edited by Bor

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...