Code: Select all
local soundeffectsutil = require "soundeffectsutil"
function data()
return {
tracks = {
{ name = "vehicle/es44ac/6fullminutesofgevo12idle.wav", refDist = 25.0 },
{ name = "vehicle/es44ac/gevo_733_edit.wav", refDist = 25.0 },
{ name = "vehicle/es44ac/gevo12_notchsomething.wav", refDist = 25.0 },
{ name = "vehicle/es44ac/gevo12_notch8.wav", refDist = 25.0 },
{ name = "vehicle/es44ac/x_AC60screamlow.wav", refDist = 25.0 },
{ name = "vehicle/es44ac/PWR_TractionACHi.wav", refDist = 25.0 },
{ name = "vehicle/es44ac/ebell.wav", refDist = 25.0 },
{ name = "vehicle/train/wheels_ringing1.wav", refDist = 25.0 },
{ name = "vehicle/train_diesel/_brakes.wav", refDist = 25.0 }
},
events = {
clacks = {
names = {
"vehicle/clack/modern/part_1.wav",
"vehicle/clack/modern/part_2.wav",
"vehicle/clack/modern/part_3.wav",
"vehicle/clack/modern/part_4.wav",
"vehicle/clack/modern/part_5.wav",
"vehicle/clack/modern/part_6.wav",
"vehicle/clack/modern/part_7.wav",
"vehicle/clack/modern/part_8.wav",
"vehicle/clack/modern/part_9.wav",
"vehicle/clack/modern/part_10.wav"
},
refDist = 15.0
},
horn = { names = { "vehicle/es44ac/k5hl(Nathan_K5HL_Family_Horn_Completion)2.wav" }, refDist = 50.0 },
closeDoors = {
names = {
"vehicle/es44ac/k5hl(Nathan_K5HL_Family_Horn_Completion)2.wav",
"vehicle/es44ac/k5hl(Nathan_K5HL_Family_Horn_Completion)2b.wav"
},
refDist = 50.0
},
},
updateFn = function (input)
local axleRefWeight = 10.0
return {
tracks = {
{
gain = soundeffectsutil.sampleCurve({ { .0, 1.0 }, { .1, 0.8 }, { .25, .0 }, { 1.0, 0.0 } }, input.power01),
pitch = soundeffectsutil.sampleCurve({ { .0, 1.0 }, { .25, 1.3 }, { 1.0, 1.3 } }, input.power01)
},
{
gain = soundeffectsutil.sampleCurve({ { .0, .0 }, { .25, 1.0 }, { .5, 0.0 }, { 1.0, 0.0 } }, input.power01),
pitch = soundeffectsutil.sampleCurve({ { .0, .85 }, { .25, 1.0 }, { .5, 1.19 }, { 1.0, 1.19 } }, input.power01)
},
{
gain = soundeffectsutil.sampleCurve({ { .0, .0 }, { .2, 0.0 }, { .5, 1.0 }, { .65, 1.0 }, { .9, 0.0 }, { 1.0, 0.0 } }, input.power01),
pitch = soundeffectsutil.sampleCurve({ { .0, .8 }, { .25, 0.8 }, { .8, 1.07 }, { 1.0, 1.07 } }, input.power01)
},
{
gain = soundeffectsutil.sampleCurve({ { .0, .0 }, { .6, 0.0 }, { 0.85, 1.0 }, { 1.0, 1.0 } }, input.power01),
pitch = soundeffectsutil.sampleCurve({ { .0, .9 }, { .6, 0.93 }, { 1.0, 1.0 } }, input.power01)
},
{
gain = soundeffectsutil.sampleCurve({ { .0, .0 }, { .09, .6 }, { .21, .6 }, { .36, .4 }, { .45, .0 }, { 1.0, .0 } }, input.speed01),
pitch = soundeffectsutil.sampleCurve({ { .0, 0.82 }, { .25, 1.0 }, { .45, 1.25 }, { 1.0, 1.25 } }, input.speed01)
},
{
gain = soundeffectsutil.sampleCurve({ { .0, .0 }, { .26, 0.0 }, { .5, .4 }, { .45, .4 }, { .75, 0.4 }, { 1.0, 0.4 } }, input.speed01),
pitch = soundeffectsutil.sampleCurve({ { .0, 0.54 }, { .29, 0.54 }, { 0.45, 0.76 }, { 1.0, 1.0 } }, input.speed01)
},
{
gain = soundeffectsutil.sampleCurve({ { 0.0, 0.0 }, { 0.001, 1.0 }, { 0.26, 1.0 }, { 0.2666, 0.0 }, { 1.0, 0.0 } }, input.speed01),
pitch = 1.0
},
soundeffectsutil.squeal(input.speed, input.sideForce, input.maxSideForce),
soundeffectsutil.brake(input.speed, input.brakeDecel, 0.5)
},
events = {
clacks = soundeffectsutil.clacks(input.speed, input.weight, input.numAxles, axleRefWeight, input.gameSpeedUp),
horn = { gain = 1.0, pitch = 1.0 },
closeDoors = { gain = 1.0, pitch = 1.0 }
}
}
end
}
end
It would be best for those who live in Netherlands to record sounds of the R-Net metro systems and upload them here so they could be implemented into the rolling stocks with this style of functionality.