Hello, I am trying to edit the volume that is being received by a audio-listener.
When listening to other peoples voices they appear quite and I have a fader set to the max volume of 3.
Anyone know how I can increase the volume further?
Hello, I am trying to edit the volume that is being received by a audio-listener.
When listening to other peoples voices they appear quite and I have a fader set to the max volume of 3.
Anyone know how I can increase the volume further?
The only way I know of at the moment would be to route it through multiple AudioFaders
before it reaches the end destination, as that will stack the volume increase.
As an example, if you have it as AudioDeviceInput
→ AudioFader
→ AudioEmitter
at the moment, it could become AudioDeviceInput
→ AudioFader
– AudioFader2
→ AudioEmitter
.
Or (I haven’t tested this one yet), but the AudioFaders
might be able to be added in the chain after the AudioListener
→ AudioFader1
→ AudioFader2
→ AudioDeviceOutput
if you’re trying to make a type of change where players can customize all of the incoming audio they’re hearing from other players.
It’s not the most elegant solution but it could be a viable option in the meantime. If you think the max volume for the AudioFader
should be increased, consider making a feature request for it or suggesting it in the Audio API announcement thread since it’s in beta at the moment so features are still subject to change.
I personally have not encountered issues with the voice chat audio being too quiet with the new Audio API, so I would recommend:
Making sure that both the in-game volume and the volume mixer for the Roblox client (via the sound settings for your OS) is not set too low.
Making sure that the microphone input volume is not too low, too (if any of the people you were testing that with are willing to check that; whether through the microphone itself or via built-in OS sound settings).
Hello, Thanks for the info - I’ve just tried it and it doesn’t seem to make a difference - If you have disc comms then I communicate easier?
Anyone else got any ideas?
Hello This is to fill the comment :))
How did you set it up? I just tested it with and without AudioFaders
, routing the last pin within the chain to:
AudioDeviceOutput
so I could hear how loud I soundedAudioAnalyzer
so I could keep track of the RMSLevel
(mostly after the fact because it goes by in the Output so fast)And each time I added another AudioFader
to the chain, I could noticeably hear my voice getting louder, and the AudioAnalyzer
ended up displaying larger numbers, including incredibly high RMSLevels
of 2+ at some points.
Here’s an example you can test out in a solo playtest to see if it makes a difference:
(Note: Because the standard voice chat UI does not appear in solo playtests, make sure to manually go into the Players service and enable the “Active” property for your player’s AudioDeviceInput via the client-side. Otherwise, you can enable Team Create and run a “Team Test” and the voice chat UI that you would typically see in a live server should appear):
ServerScriptService
)local Players = game:GetService("Players")
---
local numberOfAudioFadersToCreate = 0 -- Replace the number with how many AudioFaders you want to use
---
local function connectWires(source, destination)
local wire = Instance.new("Wire")
wire.SourceInstance = source
wire.TargetInstance = destination
wire.Parent = destination
end
local function onPlayerAdded(player)
local audioDeviceInput = Instance.new("AudioDeviceInput")
audioDeviceInput.Name = "AudioDeviceInput_VolumeTesting!"
audioDeviceInput.Player = player
audioDeviceInput.Parent = player
local audioDeviceOutput = Instance.new("AudioDeviceOutput")
audioDeviceOutput.Name = "AudioDeviceOutput_VolumeTesting!"
audioDeviceOutput.Player = player
audioDeviceOutput.Parent = player
-- Note: The RmsLevel of the AudioAnalyzer will need to be read from a client-sided script
local audioAnalyzer = Instance.new("AudioAnalyzer")
audioAnalyzer.Name = "AudioAnalyzer_VolumeTesting!"
audioAnalyzer.Parent = player
local function createAudioFaders(numberToCreate)
if numberToCreate == 0 then
warn("Not creating any AudioFaders")
connectWires(audioDeviceInput, audioAnalyzer)
connectWires(audioDeviceInput, audioDeviceOutput)
return
end
local lastAudioFader
for currentCount = 1, numberToCreate do
local audioFader = Instance.new("AudioFader")
audioFader.Name = "AudioFader"..currentCount.."_VolumeTesting!"
audioFader.Volume = 3
local previousAudioFader = audioDeviceInput:FindFirstChild("AudioFader"..(currentCount - 1).."_VolumeTesting!", true) -- Edit: Updated to include recursive search
if previousAudioFader then
connectWires(previousAudioFader, audioFader)
audioFader.Parent = previousAudioFader
else
connectWires(audioDeviceInput, audioFader)
audioFader.Parent = audioDeviceInput
end
lastAudioFader = audioFader
print(currentCount)
end
connectWires(lastAudioFader, audioAnalyzer)
connectWires(lastAudioFader, audioDeviceOutput)
warn("Done")
end
createAudioFaders(numberOfAudioFadersToCreate)
end
Players.PlayerAdded:Connect(onPlayerAdded)
for _, player in Players:GetPlayers() do
task.spawn(onPlayerAdded, player)
end
StarterPlayerScripts
)local Players = game:GetService("Players")
local player = Players.LocalPlayer
local audioAnalyzer = player:WaitForChild("AudioAnalyzer_VolumeTesting!")
print("Starting audio analysis")
task.wait(5)
while true do
task.wait()
print(audioAnalyzer.RmsLevel)
end