Developer Update - 2 February 2023

@NessieNep the over engineered VR Piano has supported a connected MIDI controller for some time, though I’m also happy to see this implemented better, if only because someone making use of MIDI files can greatly reduce world size in lieu of uploading larger wav, mp3, etc. for inworld music.

As a former composer of C64 and Amiga music, the chip tunes and .mod (soundtracker), .med (octamed), .dmcs and .smus formats would be cool.

Most of these formats have since been released to the public domain, though not sure how many world builders would be familiar or have tools today to create them…

If you message me directly I’d love to hear your tunes.

I’d also love to see native Shoutcast and RTMP support, if possible, which would be awesome for live musicians, DJs and other live (flat or 180/360) video such as concerts or sporting events in VR.

Well chillout VR pulls it off very well, so does Neos. And considering VRChat has a system in place for a 3D depth UI, I don’t see how it would hurt to integrate it with other UI elements.

That’s actually… really cool! It makes sense that’s how they work. Thank you for sharing!

Don’t worry, we’ll continue the walls of text even if we keep making videos. I, too, prefer reading over video. :smiley:

1 Like

Nice!!! :smiley: i cannot wait to try all these new features!!! (except the Quest finger tracking since my Quest doesn’t detect my fingers so i’ll be still using my controllers and remain on being a PCVR user)

VRChat did not introduce the toggle for Linear and Logarithmic in the audio update. So the audio will likely still be way too loud and not have a lot of granular adjustment.

This is a new feedback request to more specifically ask for a solution to the issue. Please, please implement a toggle. The old Linear scale worked great for me and I much prefer it.

We don’t really need to have a toggle for literally everything stuff like this just clutters the Menu and makes it even more confusing for new people. Especially when considering how confusing the Menu already is.

1 Like

In regards to RTMP What is wrong with the RTSP that VRCDN and TopazChat uses?

I have thrown a shoutcast url into a video player and it worked for PC. Didn’t work on Quest, so if you make a Canny asking for proper shoutcast support I’ll be sure to updoot it.

If the client does not support the Shoutcast protocol, then the Shoutcast server sends the stream without the metadata, allowing it to be heard and viewed in clients such as Windows Media Player.
Shoutcast - Wikipedia

Oh That explains why it worked on PC

If the VRChat client itself supported RTMP (natively, within the SDK), it would make it easier for world builders to stream live video feeds.

Yes most media prefabs like TopazChat, ProTV, and iwaSync3 support the protocol (some perhaps better/easier than others, YMMV)

However for Shoutcast, even though you can input a stream URL into a player, over time you will lose sync since the underlying protocol isn’t there.

This is just the nature of the stream. We’re faced with different geographic users who all have different ping, bandwidth, local buffering, etc., So a synonymous experience can’t be guaranteed.

You can manually resync every so often to catch up or reinitialize the feed, but for a live concert, DJ session or sporting event it will most definitely break the immersion or interrupt the flow of a FBT dancer fully into their routine.

The workaround (as mentioned in TopazChat documentation) is to pipe it through OBS or another 3rd party server, to make it work and stay stable. That’s done on the musicians/DJs end.

When you’re bringing in a live feed from say Twitch or YouTube live, that provider is helping by doing the heavy lifting in the background.

I’m not a coder so don’t know the software surrounding it, or what would be needed in the VRChat client or SDK to make happen, but this tech seems plausible.

Other social/VR platforms have Shoutcast/Icecast, as well I can plug a Shoutcast URL into Chrome or VLC on my Android device, so I know the platform (Quest) is capable of achieving this.

I think you’re right about submitting this as an official feature request, just thinking of all the DJs and live performers out there who might benefit from it.

(As an aside, sorry for adding more to this dev update thread which is rightfully about to close).

It could be a config.json setting or another option in the big menu. It doesn’t have to clutter the quick menu. This is a non-issue.

Also, the menu being confusing is an issue with how they laid it out. The UI elements are good, they just choose to, for some reason, put things in strange places or orders.

They could do what VSCode does: Make the settings searchable.

Edit: I could understand not including certain features or toggles because doing so would cause extra unnecessary dev time, maintenance, possibility for bugs, and possibly technical debt. But there has been no communication against it, besides Tupper liking your comment. If they could provide an actual reason against it, then sure. But being radio silent on the issue while dropping hints is not good.

I do not see how having a client-side setting to toggle a feature that already did exist would be such a monumental thing prone to any technical debt or bugs, really.

All of the things you have listed in your Edit are reasons against it. It’s not really necessary, especially after the update from yesterday, which gave back some of the finer adjustments in the lower volume levels. The only reason for this to be an option right now is because you (and probably others) were used to how it worked before, which was not correct considering how volume sliders should work. My advice in this case would be to “just get used to it”, cause anything else would be really unnecessary. (Also, goddammit we don’t need to put even more stuff in config files)

I said those are possible things against it. VRChat hasn’t specifically responded if those would be actual reasons against it.

I don’t care if it works “better” now. I liked how it used to work and it worked better for my setup. This new version does not work better for me. If it was a random feature, sure, but this is audio. It’s a core feature.

This is just your opinion. I hope you realize: I am asking for the OPTION to choose, even if Log is default, and I do not see how having a choice between Log and Linear would be a difficult feature to implement that would have future tech debt. I am not taking away your precious logarithmic sliders.

MPV and VLC are programs that specifically exist to play video and audio. Both of them do not have such aggressive slider curves and, just like the old Linear curve, I would often run them at 60-80% volume. Yet Spotify and YouTube both use this Log2 method and my sliders are often 15-20% on them.

Who cares? How would this negatively affect you if you are not going to touch these settings? Ideally, the config file should just exist already and that’s what should be used for the game’s settings. Many programs have settings files through ini files or json, where they even have settings that are not exposed to the user interface.

I do not care and it does not matter how things “should” work. When it comes to user interfaces and user customization, there is no “correct” way things should really work.

If I was using something that needs to interface with other things in a standard way, yes. But audio is almost completely user preference. You can not say “not correct”.

Doing so would cause extra unnecessary dev time, maintenance, the possibility for bugs, and technical debt.

3 Likes

Alright, that’s all I needed to hear. Thanks.

I just don’t appreciate the plethora of users that were providing random and arbitrary reasons for a feature to not exist when the feature existing would not affect them at all.

As you are likely aware from the second-last update, there is a new issue where the banner of the group someone is representing is not visible. Do you have an ETA for this issue?

Are you sure you just don’t have the Nameplate Opacity set to 0%? Cause if you do so the banner wont be visible.
Edit: Yes it was changed to behave like this recently and yes it’s intentional.

2 Likes

The documentation I’ve seen for topazchat covers using an RTMP source, like an audio only stream program available or OBS, those stream to a server that hands out via rtsp, and VRChat is given the link for rtsp. I haven’t been able to find anything that explains why having players (VRChat users) connect to a server for RTMP protocol would be better.

I did see on one documentation the suggestion to press global sync in moments of silence. If the audio buffers aren’t emptied at the right rates due to client lag then some advancement in tech on VRChat side is required.

One thing I’m curious about is if system clocks could help out, like check system clock every second, if the client isn’t playing fast enough due to lag, play the next second a bit faster. But then if the client doesn’t play anything for more than a second…

Actually now that I think about it, correct thing there is to probably just catch up there, I don’t know if the underlying avpro can be told to just catch up to sync properly. So maybe that is the item to bother people for.

It’s really annoying when a potato user plays a video and it skips backwards continually in the name of synchronisation

While it might be intentional, we’ve changed our minds. An upcoming update will change it so the banner matches the user icon opacity.

2 Likes

Ah nice, that addresses the issue then. Will there be changes to the cutout of the banner as well? Since at 0% it’s a bit weird for it to still have the cutout for the nameplate background.

Maybe later, but not for now.

1 Like

This topic was automatically closed after 7 days. New replies are no longer allowed.