10 ms·
Over the past three weeks I've tried a few different conferencing solutions, including jitsi. I'll give it another try with this update. My use case is I take
by tasty_freeze 7y ago
Over the past three weeks I've tried a few different conferencing solutions, including jitsi. I'll give it another try with this update.
My use case is I take weekly music lessons, and now they are virtual. The problem is the DSP done on audio was designed for speech. If my teacher is explaining something then plays an example on his bass, it usually sounds terrible, maybe even inaudible.
I send him pre-recorded mp3s of cover songs; ideally he could listen to it and I could comment in real time about places where things could be improved. Instead, if he is playing any music on his system, I hear nothing -- no music, no talk. It seems like the software thinks "Hey, this participant is listening to non-conference audio, so I'll just mute him (at least on skype). I'd love there to be a half duplex audio button so none of the DSP shenanigans are needed, and a high quality audio stream would be sent.
- jpdus 7y agoOn Zoom you can activate raw, non-preprocessed sound. (I never tried it and don't know whether it works well for music)
- xiii1408 7y agoAwesome! I've been wondering how to do this, since I normally take calls in a quiet room with headphones, so there's no need for noise canceling. It would be nice if you could enable this on a per-call basis, though.
- cpeterso 7y agoHere is how to enable this Zoom feature ("Preserve Original Sound"): https://support.zoom.us/hc/en-us/articles/115003279466-Preserve-Original-Sound https://support.zoom.us/hc/en-us/articles/115003279466-Prese...
- TheDesolate0 7y agoBear (rar!) in mind this will only work if you have the uplink bandwidth to do so.
- loeg 7y ago"High"-bitrate lossy CBR compression is probably acceptable enough — at least compared with a voice codec! mp3 at max (320) is only 320 kB/s, doesn't have the security issues that variable-bitrate compression does, and preserves audio "ok" (it does delete the high frequencies above 20-22 kHz). No patent issues anymore, either. Ogg-Vorbis may be an even better option for all kinds of reasons, but mp3 is more universally recognized.
- clarry 7y agoMP3 and Vorbis have bad latency. There's not much reason not to use Opus, which has better quality/bitrate and lower latency.
- loeg 7y agoThat is a perfectly acceptable solution as well!
- pedrocr 7y agoSupposedly Opus supersedes all other codecs at all bit rates: https://en.wikipedia.org/wiki/Opus_(audio_format)#/media/File:Opus_quality_comparison_colorblind_compatible.svg https://en.wikipedia.org/wiki/Opus_(audio_format)#/media/Fil... It should be a matter of giving it enough bandwidth and let it make good decisions based on that.
- padenot 7y agoThis audio processing is trivially deactivable by the websites themselves. Instead of doing: > navigator.mediaDevices.getUserMedia({audio: true}).then(...) to get a stream of the input device, one can do: > navigator.mediaDevices.getUserMedia({audio: { autoGainControl: false, noiseSuppression: false, echoCancellation: false }}).then(...) similarly, an _existing_ input audio stream can have its settings changed while it's running like so: > stream.applyConstraints({ autoGainControl: true, noiseSuppression: true, echoCancellation: true }) this for examples re-enables the processing that we put on voice by default. This probably works everywhere, we've written a blog post about this that explain a few more things: https://blog.mozilla.org/webrtc/fiddle-of-the-week-audio-constraints/ https://blog.mozilla.org/webrtc/fiddle-of-the-week-audio-con.... If the website doesn't want to offer a control to switch this on/off, I'm confident this can be done by a browser extension in no time (which would have the benefit to work for all websites).
- tasty_freeze 7y agopadenot, although I am a programmer of sorts, I don't do web development, so I'm at a loss. Say I go to the jitsi website (https://meet.jit.si/ https://meet.jit.si/), type in my four word passcode, and get a conference connection with my teacher. When you say, "instead of doing..." doesn't apply to me, because I don't do anything. It sounds like what you are describing is what the developer of that web page needs to do, but me, as a user, doesn't see any of that.
- padenot 7y agoYes this is what I meant when I said "by the websites themselves".
- saghul 7y agoWe don't have a way to turn these on from the UI, but here is how you can disable all audio processing: https://meet.jit.si/YourRoonNameHere#config.disableAP=true https://meet.jit.si/YourRoonNameHere#config.disableAP=true
- telesilla 7y agoFirstly, thanks for your work on what is really a great project. Can we set stereo=1 in the SDP and also the bandwidth constraint? That would make it ideal for this use case. For music quality webRTC you need 3 things: disable audio processing, stereo=1 in the SDP and a way to limit bandwidth usage so it doesn't saturate the available bandwidth and create errors. Disabling video is also really the best thing to do when recording for this reason (bandwidth saturation), and also Chromium will give you much superior experience. Safari and Firefox isn't quite there yet: Safari can't let you choose your output device and lacks some other useful features, and Firefox doesn't yet seem to allow stereo Opus, maybe that's changed since I tested. Microsoft Edge is now Chromium so you're good to go.
- padenot 7y agoFirefox has supported stereo opus for a very long time (four years at least?). We know it works, it's used by medical professionals for their job and they wrote a message a few month thanking us for this feature, that doesn't seem to work on other browser (according to them, but I see tickets open on chromium). Of course all the chain has to be stereo, that goes without saying: input signal is stereo, negotiation has been done in stereo, having enough bandwidth is important (otherwise opus goes mono), and then playback has to be on stereo hardware (but that's the easy part).
- tasty_freeze 7y agoThanks for the quick reply. I'll be trying it out tonight.
- deleted 7y ago[deleted]
- vitro 7y ago
- montroser 7y agoAudio processing is a risky move -- so hard to get right. We've been using https://team.video https://team.video at work, and one thing I absolutely love about it is how they handle audio / muting. When you're speaking, you don't have to wonder if others can hear you because your microphone pulses in green visually as you speak. If your audio isn't working it shows in yellow with no pulsing, and you and everyone else can see your audio is not flowing. Also, if someone else forgot to mute and their kid is making a ruckus, you can just mute them. You don't have to wait for a moment to interject and ask them verbally, you can just go ahead and do it. Or, when you see someone else in their video feed trying to speak up, but they forgot to unmute, you just unmute them. No everyone saying, "you're muted" over each other. It takes a second to get used to the idea that everyone has all the power, but in practice it just makes everything go way smoother.
- kosinus 7y agoUnmuting others sounds like a scary feature. You don't want someone to unmute you without your knowledge.
- montroser 7y agoIt's only scary in the same way that it's scary how anyone walking down the street could kick you in the pants when you're walking down the street. They could but they won't because we live in a society. Which is great because that means we don't have to walk around in steel suits to avoid getting kicked in the pants. I choose to trust the people I work with every day. And then as a bonus, I don't have to hear people yelling "you're muted!" at one another. We just get on with it.
- namibj 7y agoThe difference there is that kicking people on the street lands you in jail (likely not the first time, but if you do it repeatedly...), and remote unmuting would likely require wiretap laws in unconvenctional ways to even get a judgment of whether it's illegal or not (not even considering what it brings with it). Also, you're implying that one would only use this technology to communicate with people you work with every day. What about a meeting with outsiders/contractors/customers? You might not actually have those yourself, but someone usually has to do those.
- miki123211 7y agoUse TeamTalk[1]. If you need high audio quality, TT beats everything else you can find, maybe except very expensive software for radio stations. I've successfully used it to stream music and it works. It's Teamspeak and Discord like, so you need to connect to a server, either public or self-hosted, join or create a channel, and then you will be able to talk to everyone on that channel. This is perfect for permanent communities where people just hang out, but works for one-offs too. It works on Windows, Linux, Mac, iOS and Android, no web access. The server is also available for Raspberry Pi. Half of it is open-source, but the core SDK needs a license if you're developing with it. The program itself is free, even for commercial use. It uses Opus and lets you adjust the quality and processing, so you can get a lot out of it. We've been using it in our community for about 10 years now, including for radio broadcasting, and we haven't managed to find anything better since. I know of one local radio station and recording studio who successfully use it for remote work now. To get the best experience, disable all audio processing in the preferences, on the sound system pane, so duplex mode, automatic gain control and noise reduction should be off. If you're on Windows, use Windows Audio Session as the backend for lowest latency. Then, connect to a server, I use the German one for public stuff, as I'm close to it geographically and you don't need to register for it, but use whichever you want. After connecting, create a channel with application set to music, bitrate set to 150000 and channels set to stereo. Those are, at least, the parameters I use, and they work great. You can adjust the rest as you see fit. There are some video and screensharing capabilities as far as I know, but I haven't used them. Audio is definitely the primary focus. If you need any assistance, my username here at gmail dot com is the way to go. [1] bearware.dk for desktop, App Store and Google Play for iOS and Android. ps. I'm not affiliated with the company in any way, it's just a tool I use daily and would recommend to anyone who knows his way around the computer. It definitely doesn't pass the grandma test, though.
- cvwright 7y agoHere's something that a colleague passed along to a group of CS profs. It's written by a music professor and geared toward using Zoom for music, but several of us Zoom newbies found it to be helpful more generally. He mentions the issue of disabling the speech-centric audio postprocessing. http://musictechexplained.com/ http://musictechexplained.com/ Disclaimer: The author apparently makes his money selling eBooks, so you may want to skip through the several pages of promotional material at the beginning of his PDF to get to the good stuff.
- kabes 7y agoI work for a company that builds virtual classrooms based on webrtc. Our customers are mostly business schools, but we have some music schools. For them we activate a different profile that disables all audio processing and selects the music profile of opus (opus are in fact 2 different codecs, one aimed at speech, one aimed at music). It would likely be very easy to do something like this in jitsi meet as well, since webrtc has everything onboard. The tricky part is that you also need to disable echo cancellation. So everyone must be wearing headsets and so on.
- jayunit 7y agoThis sounds really cool! What’s the company? (I also work on WebRTC-based classrooms, at Minerva - we haven’t looked outside of voice in the audio sphere though.)
- _spduchamp 7y agoHave you tried NINJAM?
- tasty_freeze 7y agoYes, but it is entirely unsuitable for real-time conversations. The only thing it works for is modal jams or something like 12 bar blues that loop the same fixed chord structure over and over.
- oever 7y agoJamulus is excellent for playing music together. It has low latency and high audio quality. You can host your own server or use a public one. http://llcon.sourceforge.net/ http://llcon.sourceforge.net/
- sitkack 7y agoFor this use case, you need selective fidelity and shared control over a sampler, with each sample having low resolution video, high quality audio and an arbitrary number of tags or notations (with a time range).