Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   MSTS - Звуки (http://www.trainsim.ru/forum/forumdisplay.php?f=30)
-   -   Создание и редактирование SMS файла! (http://www.trainsim.ru/forum/showthread.php?t=375)

сандро 24.10.2012 22:08

Почему же без влияния с влиянием.

Вот через рэндом прописал

SIMISA@@@@@@@@@@JINX0x1t______

Tr_SMS (
ScalabiltyGroup ( 5
Activation (
ExternalCam ()
Distance (1000)
)
Deactivation (
CabCam ()
PassengerCam ()
Distance (1000)
)
Volume(0.7)
Streams ( 1
Skip ( *** STUK-KOLES *** )
Stream (
Priority ( 6 )
Triggers ( 9
Random_Trigger ( Delay_Min_Max ( 6 24 ) Volume_Min_Max ( 1.0 1.0 ) PlayOneShot
PlayOneShot ( 2 File ( "stuk-0-15.wav" -1 )
File ( "" -1 )
File ( "" -1 )
File ( "" -1 )
SelectionMethod (SequentialSelection) ) )
Initial_Trigger ( DisableTrigger( 1 ) )
Variable_Trigger ( Speed_Inc_Past 0.0 EnableTrigger ( 1 ))
Variable_Trigger ( Speed_Dec_Past 0.0 DisableTrigger ( 1 ))
Variable_Trigger ( Speed_Inc_Past 4.166 EnableTrigger ( 1 ))
Variable_Trigger ( Speed_Dec_Past 4.166 DisableTrigger ( 1 ))
)
FrequencyCurve(
SpeedControlled
CurvePoints ( 4
-4.166 23200
-0.0 15742
0.0 15742
4.166 23200
)
Granularity ( 0.2 )
)
VolumeCurve(
SpeedControlled
CurvePoints ( 6
-4.166 1.0
-1.388 0.5
-0.0 0.0
0.0 0.0
1.388 0.5
4.166 1.0
)
Granularity ( 0.11 )
)
)

)
)
)
)


Тоже самое - звук не пропадает после 4.166 м/с

NoiSe 25.10.2012 00:09

ошибка в блоке Variable_Trigger так и не исправлена

сандро 25.10.2012 06:54

Уже исправил - тоже самое. Выше 15 км/ч все стучит.

NoiSe 25.10.2012 09:22

Trigger ( 1 ) исправь на Trigger ( 0 )
нумерация в адресации начинается с 0

сандро 25.10.2012 17:07

Вот пример из бармалеевского смс-файла ВЛ-10
Stream(
Priority ( 3 )
Triggers( 8
Discrete_Trigger ( 14 PlayOneShot ( 1 File ( "tsrsound-x-airb_auto11.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
Discrete_Trigger ( 14 DisableTrigger ( 1 ) )
Discrete_Trigger ( 14 DisableTrigger ( 1 ) )
Discrete_Trigger ( 14 DisableTrigger ( 8 ) )
Discrete_Trigger ( 17 ReleaseLoopRelease () )
Discrete_Trigger ( 54 ReleaseLoopRelease () )
Discrete_Trigger ( 17 EnableTrigger ( 8 ) )
Discrete_Trigger ( 17 EnableTrigger ( 1 ) )
)
FrequencyCurve(
SpeedControlled
CurvePoints ( 2
0.000 22050
100.0 22050
)
Granularity ( 50 )
)
)

Что есть enable и disable (и что стоит в скобках) первые 3 триггера (1,2,3) не задокументированы в мануале.

NoiSe 25.10.2012 22:35

Discrete_Trigger ( 14 DisableTrigger ( 1 ) )
по событию 14 отключить триггер с порядковым номером 1
тут много кто писал , что нумерация триггеров начинается с нуля
не знаю почему так написано у Бармалея

0 Discrete_Trigger ( 14 PlayOneShot ( 1
File ( "tsrsound-x-airb_auto11.wav" -1 )
SelectionMethod ( SequentialSelection ) ) )
1 Discrete_Trigger ( 14 DisableTrigger ( 0 ) )
2 Discrete_Trigger ( 14 DisableTrigger ( 0 ) )
3 Discrete_Trigger ( 14 DisableTrigger ( 7 ) )

как то так должно быть

к стати два подряд одинаковых триггера это из-за глюков MSTS c пропусками триггеров,
чтобы наверняка сработал.

сандро 25.10.2012 22:43

I ) Т.е если мы в потоке где-то пропишем, EnableTrigger (1) а потом спустя несколько строк DisableTrigger (1) то это отключит что-то? Если по замыслу сперва вкл, а потом выкл? Что сперва идет enable или didable?

II) Добился так и наконец глушения выше предела - надо было громкость 0 поставить. Но теперь новая напасть, потоки не хотят проигрываться вместе (по одному пожалуйста, а вот вместе - фигушки) - проигрывается только первый, затем тишина и при снижении скорости - снова первый.

[url]http://rusfolder.com/33300380[/url]

NoiSe 25.10.2012 23:13

[QUOTE=сандро;366173]I ) Т.е если мы в потоке где-то пропишем, EnableTrigger (1) а потом спустя несколько строк DisableTrigger (1) то это отключит что-то? Если по замыслу сперва вкл, а потом выкл? Что сперва идет enable или didable?[/QUOTE]
все триггеры имеют значение по умолчанию Enabled
то есть включены
если триггеру сказать из любой части потока DisableTrigger (с номером 1)
то он отрубится и на внешние события срабатывать перестанет
другое дело если триггер проигрывает Wav файл
если PlayOneShot то он должен доиграть до конца и заглохнуть
но не всегда возможно ждать пока он доиграет и можно заглушить поток
установкой громкости потока на 0,
Такой вариант с Лупом не прокатит нужно обязательно отключить проигрывание ReleaseLoopRelease () или ReleaseLoopReleaseWithJump() далее или сначала как угодно звук на 0
но это порождает проблему не забыть перед активацией триггера( EnableTrigger( с номером 1)) вернуть звук в норму SetStreamVolume ( громкость )

[QUOTE=сандро;366173]
II) Добился так и наконец глушения выше предела - надо было громкость 0 поставить. Но теперь новая напасть, потоки не хотят проигрываться вместе (по одному пожалуйста, а вот вместе - фигушки) - проигрывается только первый, затем тишина и при снижении скорости - снова первый.

[url]http://rusfolder.com/33300380[/url][/QUOTE]


[size="1"][color="Silver"]Добавлено через 14 минут[/color][/size]
чет я не понял что за Random_Trigger?
Volume_Min_Max ( 1.5 1.5 )
Volume не может быть больше 1
короче ошибок там тьма
сначала один надо отладить а уж потом множить

сандро 25.10.2012 23:33

Так потоки по отдельности работают ведь!
Random это радейка в кабине так работает - есть набор звуков и случайным образом они выбираются. У меня звук один в каждом потоке, но вот пауза выбирается случайным образом от n до n секунд для этого я и использовал random

NoiSe 26.10.2012 00:17

не помню такой конструкции в SMS

[size="1"][color="Silver"]Добавлено через 17 минут[/color][/size]
Dist_Travelled_Trigger ( Delay_Min_Max ( 12 6 ) Volume_Min_Max ( 1.0 1.0 ) PlayOneShot ( 1 File ( "stuk-0-15.wav" -1 )
SelectionMethod ( SequentialSelection ) )
)
Variable_Trigger ( Speed_Inc_Past 0.1 EnableTrigger ( 0 ))
Variable_Trigger ( Speed_Inc_Past 4.16 DisableTrigger ( 0 ))
Variable_Trigger ( Speed_Dec_Past 4.16 EnableTrigger ( 0 ))
Variable_Trigger ( Speed_Dec_Past 0.1 DisableTrigger ( 0 ))

вот готовая конструкция

Initial_Trigger ставить только в потоках ниже, в первом в нем нет ни какого смысла

для других потоков так
Initial_Trigger ( DisableTrigger( 1 )
Dist_Travelled_Trigger ( Delay_Min_Max ( 12 6 ) Volume_Min_Max ( 1.0 1.0 ) PlayOneShot ( 1 File ( "stuk-0-15.wav" -1 )
SelectionMethod ( SequentialSelection ) )
)
Variable_Trigger ( Speed_Inc_Past 0.1 EnableTrigger ( 1 ))
Variable_Trigger ( Speed_Inc_Past 4.16 DisableTrigger ( 1 ))
Variable_Trigger ( Speed_Dec_Past 4.16 EnableTrigger ( 1 ))
Variable_Trigger ( Speed_Dec_Past 0.1 DisableTrigger ( 1 ))


к стати радио для кабины не так работает
вот какая там конструкция
PlayOneShot ( 3
File ( "r1.wav" -1 )
File ( "r2.wav" -1 )
File ( "r3.wav" -1 )
SelectionMethod ( RandomSelection )
)

сандро 26.10.2012 07:34

Вот фрагмент из звуков ТЭП70

Stream (
Priority ( 6 )
Volume ( 1.0 )
Triggers ( 1

Random_Trigger (
Delay_Min_Max ( 600 601 )
Volume_Min_Max ( 0.35 0.35 )
PlayOneShot ( 1
File ( "tsrSound-pk525.wav" -1 )
SelectionMethod ( RandomSelection )
)
)
)
VolumeCurve(
SpeedControlled
CurvePoints ( 3
-30 0.35
0.000 0.35
30 0.35
)
Granularity ( 0.01 )

)

)

NoiSe 27.10.2012 19:30

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

не думаю что получится что-то путнее с этим триггером
потому как рандом есть рандом......

нормальный стук колёс возможен только в RTrainSim...

сандро 27.10.2012 21:35

Короче говоря я решил все проблемы, они были в гранулирити, пока я не загнал это слово в яндекс............

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

p.s Главное ведь сделать звуки, RTrainSim использует локи МСТС

NoiSe 29.10.2012 18:56

[QUOTE=сандро;366454]Короче говоря я решил все проблемы, они были в гранулирити, пока я не загнал это слово в яндекс............

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

p.s Главное ведь сделать звуки, использует локи МСТС[/QUOTE]
не вижу сложностей
при старте триггер МВ дизаблится
енаблится при подьеме токоприеника
луп запукается при включенни MB
релезится при опускании токоприемника и отключении МВ


механизмы RTrainSim другие более расширенные....

сандро 29.10.2012 19:02

Мне надо чтобы не громкость была 0, а файл доигрывался до конца. А то получится, тп опустили и звук пропал - так нельзя!

Приведи пожалуйста образец кода если не тяжело.

p.s В RTrainsim я думаю сами переделаете код.............

NoiSe 30.10.2012 12:56

Мы, видимо, друг друга не понимаем.
Удачи в изучении SMS

сандро 30.10.2012 13:23

Я же сказал как надо мне, чтобы не было как на моих первых звуках чс-6, опустил ТП и МВ стало не слышно - громкость 0. Ты образец кода приведи и все станет ясно.

Seafarer 17.02.2013 17:44

Ребята, а какие есть варианты заставить random trigger играть с большей паузой?
Можно добавлять в аудиофайлы тишину, вставлять пустые файлы ( с тишиной полностью )...А через систему? Видел где-то функции Delay - можно ли тут воспользоваться ею?

сандро 17.02.2013 18:36

Где тут?

Seafarer 17.02.2013 18:38

[QUOTE=сандро;392155]Где тут?[/QUOTE]

Stream(
Skip ( **** Ventilator **** )
Priority ( 6 )
Volume ( 0.8 )
Triggers( 1
Initial_Trigger ( StartLoop ( 1 File ( "../../tsrLoco_CHME3-Alias/Sound/x_fan.wav" -1 ) SelectionMethod ( RandomSelection ) ) )
)
)

сандро 17.02.2013 18:46

И чего ты хочешь тут сделать? Какой результат должен быть?

Seafarer 17.02.2013 18:50

[QUOTE=сандро;392158]И чего ты хочешь тут сделать? Какой результат должен быть?[/QUOTE]

Я пытаюсь заставить вентилятор ЧМЭ3 работать автономно...А не по клавише V ( и кто такое придумал? ).

сандро 17.02.2013 19:44

Ну так в чем проблема то? Можно интервалы срабатывания прописать, можно от и до по времени..........

Seafarer 17.02.2013 19:57

[QUOTE=сандро;392169]Ну так в чем проблема то? Можно интервалы срабатывания прописать, можно от и до по времени..........[/QUOTE]

Не подскажешь как?
Я в мануал по смс заглядывал, а там такого нет:confused:

[size="1"][color="Silver"]Добавлено через 11 минут[/color][/size]
[QUOTE=Seafarer;392170]Не подскажешь как?
[/QUOTE]

Было бы для многих полезно;)

сандро 17.02.2013 22:09

Ты еще раз мне по полочкам разложи, какая должна быть работа вентилятора? Он должен как реле - работать по времени, или же его работа вообще не поддается никакому закону, или он должен всегда работать?

Seafarer 17.02.2013 22:39

[QUOTE=сандро;392187]Ты еще раз мне по полочкам разложи...[/QUOTE]

На настоящих машинах работа вентилятора ( как основного контура, так и вторичного ) контролируется реле температуры ( термопарой ), по-этому вентилятор зависит от состояния воды и настроек реле...наблюдая за работой дизеля, в реали, можно услышать как включаются вентиляторы и открываются жалюзи - автоматически...Под нагрузкой и без нее периодичность включения естественно разная.
Т.е. вентиляторы должны на модели МСТС работать сами по себе, с разными паузами между включениями ( пауза - нагрев воды, работа - ее охлаждение ). В идеале можно было бы привязаться к скорости тепловоза для обратно-пропорционального управления паузами между проигрыванием...Скажем, на стоящем тепловозе - через каждые 5 минут, от 20 кмч - 4,5 минуты, от 40 кмч - 3,5 мин, от 60 - 2,5 мин, и на 95 - 1,5-2 мин...Поигравшись, можно сделать шедевр...:drinks:

сандро 17.02.2013 22:58

Понял. Вот попробуй до 20 км/ч на 5 минут

Stream (
Priority ( 6 )
Triggers ( 4
Random_Trigger ( Delay_Min_Max ( 300 300 ) Volume_Min_Max ( 1.0 1.0 )
StartLoopRelease ( 1 File ( "ventilator.wav" -1 ) SelectionMethod ( SequentialSelection ) ) )
FrequencyCurve(
SpeedControlled
CurvePoints ( 3
5.5 22050
0.0 22050
5.5 22050
)
Granularity ( 200 )
)
VolumeCurve(
SpeedControlled
CurvePoints ( 3
-5.5 1.0
-0.0 1.0
5.5 1.0
)
Granularity ( 0.001 )
)
)



Если не будет глохнуть тогда тебе придется длину сэмпла делать 5 минут.

Seafarer 18.02.2013 00:15

[QUOTE=сандро;392197]Понял. Вот попробуй до 20 км/ч на 5 минут
[/QUOTE]

Отчет:
Через 4:53 запустился вентилятор и погнал проигрывать по кругу раз за разом...По идее - должен 1 раз проиграть и снова замолкнуть на 5 минут...Громкость можно снизить до 0.6 - 0.7, а то и ниже...И, я так понимаю, где speedcontrolled должно быть -5.5 и 5.5?

сандро 18.02.2013 00:25

Громкость можно, но лучше всего это в фордже делать, а не в скобках.

Значит тогда вместо startlooprelease ставишь PlayOneShot, а длина сэмпла равна времени его работы, в саунд фордже шкала есть в секундах. А паузы оставь как я сказал.

[size="1"][color="Silver"]Добавлено через 1 минуту[/color][/size]
Только чем длинее сэмпл тем больше памяти требуется и тем ниже fps

Seafarer 18.02.2013 01:34

[QUOTE=Seafarer;392203]Отчет:
Через 4:53 запустился вентилятор и погнал проигрывать по кругу раз за разом...По идее - должен 1 раз проиграть и снова замолкнуть на 5 минут...Громкость можно снизить до 0.6 - 0.7, а то и ниже...И, я так понимаю, где speedcontrolled должно быть -5.5 и 5.5?[/QUOTE]

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

[size="1"][color="Silver"]Добавлено через 26 минут[/color][/size]
Поставил PlayOneShot и звук проигрывается 1 раз, потом пауза, снова проигрывается, пауза:
1- 4:34
2- 9:27
3- 14:10

Только я, как говорил, при третьем проигрыше ехал уже 40 кмч, но звук все-равно запустился...

[size="1"][color="Silver"]Добавлено через 33 минуты[/color][/size]
Я, так полагаю, появление звука после набора скорости свыше 20 кмч связано с функцией Volume_Min_Max [COLOR="Red"]1.0 1.0[/COLOR] в скрипте?
Пробовал играться с приоритетами - ставил 5 и 3, ничего не помогает.

сандро 18.02.2013 02:15

Нет смотри

FrequencyCurve(
SpeedControlled
CurvePoints ( 3
5.5 22050
0.0 22050
5.5 22050
)
Granularity ( 200 )



5.5 м/с это скорость, 22050 кГц частота сэмпла (можно и 44100 сделать, в саунд фордже, просто от этой частоты мы меняем "обороты" выше или ниже)






)
VolumeCurve(
SpeedControlled
CurvePoints ( 3
-5.5 1.0 Здесь отражена громкость т.е. при 0 м/с 1 и от 0 до 5.5м/с тоже единица, но после 5.5м/с нет никаких запретов, значит тоже 1 до бесконечности.
-0.0 1.0
5.5 1.0
)
Granularity ( 0.001 )
)
)

Чтобы после 20 км/ч (т.е. 20/3.6=5.5) этот звук исчез, надо поставить 0.

Примерно так:

)
VolumeCurve(
SpeedControlled
CurvePoints ( 7
-100.0 0.0
-5.6 0.0
-5.5 1.0
0.0 1.0
5.5 1.0
5.6 0.0
100.0 0.0

)
Granularity ( 0.001 )
)
)

Как мы видим на скоростях от 5.6 м/с до 100 м/с громкость будет равна 0, т.е сэмпл звучать не будет.

Соответственно с 5.6 аналогичным образом создаем другой поток (stream) который будет работать допустим с 20 км/ч до 40 км/ч

Seafarer 18.02.2013 02:20

Я понял...А что с глушением других семплов, тифона и т.д?
О частоте интересно - у тебя 22050, а семпл у меня 11025 и проигрывается нормально...

сандро 18.02.2013 02:21

[QUOTE=Seafarer;392209]
[size="1"][color="Silver"]Добавлено через 33 минуты[/color][/size]
Я, так полагаю, появление звука после набора скорости свыше 20 кмч связано с функцией Volume_Min_Max [COLOR="Red"]1.0 1.0[/COLOR] в скрипте?
Пробовал играться с приоритетами - ставил 5 и 3, ничего не помогает.[/QUOTE]

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

Для примера возьмем стук колес и у нас не 1 файл который проигрывается, а допустим 3. В скобках стоит значения ( 0.3 1.0). Это значит что следующий файл выбранный случайно из 3 возможных, будет воспроизведен с громкостью от 0.3 до 1.0 Т.е. 0.3,0.31,0.32, n........до 1.0

При чем тут тифон?

Seafarer 18.02.2013 02:52

[QUOTE=сандро;392219]

При чем тут тифон?[/QUOTE]

Я когда вставил твой код в смс изначально - перестали играть все звуки локомотива кроме дизеля...Вот я и спрашиваю, а как с этим бороться?

сандро 18.02.2013 07:28

Ну ты посмотри нигде ли ты скобку не пропустил

КЕ 18.02.2013 15:46

Notepad2 - проверяет парность скобок, выделяются красным. И вообще удобно для программирования.

Seafarer 23.02.2013 00:13

[QUOTE=сандро;392230]Ну ты посмотри нигде ли ты скобку не пропустил[/QUOTE]

Скобку нигде не пропустил, а решением явился перенос твоей части кода в конец списка Стримов...Я удивился, почему есть только звук дизеля, а других нет, переставил в самый конец списка и все заработало...Если бы еще кто объяснил - почему так?

сандро 23.02.2013 09:22

Ну говорю же видимо скобку пропустил или так воткнул код, что осталось слово stream (
ни относящееся к коду

Ник 01.04.2013 19:20

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

сандро 01.04.2013 20:44

Не слышно где?


Текущее время: 00:36. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim