Scaling Ball/Sphere when using PlaybackLoudness scales it down to "0.001, 0.001, 0.001"

Yes, I am aware of that, which is why I added networkOwnership as stated in the script. Please read this comment I posted here.

I wanted the visualizer to be visible for everyone in Void Script Builder, so I used NetworkOwnership however it only works on unachored parts. Also, what do you mean by “But if you don’t make the first line local part then it will be created in the workspace”? It’s already the first line.

Had to set the playback speed to 0.25…I can’t even hear the pauses between the beats that fast. I don’t even recognize the last character.

OP; I recommend trying to use a normal part with a sphere mesh or a meshpart instead. That is unless you want the sphere to collide with anything.

maybe turn it into a local script

Then other players wouldn’t see it. I don’t think you’re getting my point here. I absolutely know that playbackloudness doesn’t work on the server and rather local, which is why I added NetworkOwnership so all players in the server can see it too.

I heard other people trying this too, but I wasn’t sure if you could change the colour and material with a mesh shape. I’ll try it after the server outage is fixed.

PlaybackLoudness will always read 0 on the server. 0.001 is the minimum size for any part therefore it sets to that instead of 0.

Are you 100% sure that is the case. I made something similar and I didn’t need a local script to get the playback loudness. Also, I believe that this works for normal parts except the sphere

OP: You can change MeshParts with Surface appearance. I am pretty sure ypu can change the Material too.

Honestly, I wanted to confirm myself before sending but… roblox is doing not alive rn.

1 Like

Not repeating twice you may need a local script since sounds are localized by local scripts.

Did it involve remotes, networkOwnership, etc? I saw a couple of people who made their own in Void Script Builder.

also, roblox is back up.

This time, the size shows as “0.002, 0.002, 0.002”. Possibly the “volume” would’ve changed it. The sphere doesn’t move still. I’ll change it to a mesh type.

Also, this line here changed the size a bit. When I change it to 1 instead of .1, the size changed but nothing happened other than that.

volume = sound.PlaybackLoudness + .1

What that line is supposed to do is if PlaybackLoudness = 0 then it makes volume = .1 instead of 0.
That makes it so that when you use
part.Size = Vector3.new(sound.PlaybackLoudness/5, sound.PlaybackLoudness/5, sound.PlaybackLoudness/5);
it doesn’t allow sound.PlaybackLoudness/5 or 0/5 so it will stop your math issue of dividing 0 by 5 from happening because .1/5 = .02
The line isn’t supposed to change your size by much.

I understand, however, why isn’t the ball not resizing still? I did what you advised me to do, and it’s still staying like that. I’ll send you my script.

local part = Instance.new("Part",game.Workspace)
local mesh = Instance.new("SpecialMesh",part)
local by = Instance.new("BodyVelocity",part)
local sound = Instance.new("Sound",part)

part.Size = Vector3.new(1,1,1)
part.Position = Vector3.new(0, 10, 0)
part.Color = Color3.fromRGB(255, 255, 255)
part.Material = Enum.Material.Neon
part.Anchored = false
part.CanCollide = false
mesh.MeshType = Enum.MeshType.Sphere
part:SetNetworkOwner(nil)

by.MaxForce = Vector3.new(999999999999,999999999999,999999999999)
by.Velocity = Vector3.new(0,0,0)

sound.Name = "Audio"
sound.SoundId = "rbxassetid://280225750"
sound.Looped = true
sound:Play()

volume = sound.PlaybackLoudness + .1

while task.wait() do
	part.Size = Vector3.new(volume/5, volume/5, volume/5);
	
end

I’m pretty sure it’s because you only set volume once before the loop.
Try putting volume = sound.PlaybackLoudness + .1 inside the loop.

Network ownership doesn’t replicate the size of the part

You can just fire a remote with the playback loudness and let the server change the size

How exactly would I do that? A link to a devforum is fine.

Still stuck like that :confused:

lets try focus on the ball sizing first then we can deal with the server stuff later.

I have no clue how Void Script Builder’s script running works, but I’m assuming it runs it in the server side. If you want this to work, you’d have to make it run from the client/LocalScript

The thing is, the server sees the PlaybackLoudness as 0, while the client sees an actual number.

Why? Because if the server could see it, it might be out of sync with all the other’s clients audio, some may be delayed and whatnot. All of the clients’ audio have the possibility of being out of sync, depending on their ping or a small one second delay or their audio is still loading.
So this is why it should be a LocalScript/client sided

It’s probably impossible to achieve this in Void Script Builder, unless the game supports LocalScripts.

I tested it on a local script and it still appears to not resize too