2 For 1 Topic - Paste Enhancement Request And Microphone Solution Approach
- @david
1:
I love the new big text area for pasting text to my TinyPilot. That said, I sometimes paste secrets. I would like it if there was an option to mask the data being pasted similar to a password type input field. I don't believe a standard text area supports this, but it seems there are solutions that solve for it.
2:
I've had issues getting audio to work reliably over the browser. In addition, TinyPilot does not currently support passing microphone output to the target. So I went looking for a solution. I found a great one. It is a set of products from Audinate called Dante. It allows real-time, low-latency audio transmission over IP. The main space they are involved in is the music production space as well as commercial auditoriums, churches, and other large spaces where you need to route and control multiple audio devices over a network.
My use case is a lot simpler. It allows me to stream sound output from my target to my source's speakers and microphone input from my source to my target's applications (think Teams, Zoom, etc.) There are a few ways to implement this with Dante. You can go an all-software approach as long as you have full access to both source and target. Or you can add a hardware device that looks like a USB sound card to the OS on any device you don't have rights to install software.
There are some other advantages to using the hardware, but you definitely can get by with a software solution only. This is not a free solution, but for $100 you can get the required software for both machines. Or $200 if you want to use hardware on one machine and software on the other. Well worth it to me. It works flawlessly.
I chose a hardware and software approach since my work laptop (target) locks down network access when connected to a VPN, so the software approach on that machine wouldn't work. Basically, it's a USB dongle that appears to the OS as a sound card. It shows up in your sound devices as a pair of speakers and a microphone. The speakers "transmit" sound to other Dante sources on the network. The microphone "receives" sound from other Dante sources on the network. Here is the device: https://assets.audinate.com/wp-content/uploads/2021/02/Dante-AVIO-USB-Marketing-Datasheet-20210119-en.pdf.
On my personal desktop (source) I have installed software called Dante Via. It is, effectively, a virtual sound card. It installs a pair of speakers and a microphone in my sound devices. And then it provides a user interface where you can route sound from local devices to remote devices and from remote devices to local devices. In my use case I route sound from my physical microphone on my desktop to the dongle connected to my laptop and sound from the dongle on my laptop is routed to the physical speakers connected to my desktop. Here is a link to Dante Via: https://www.audinate.com/products/software/dante-via.
They also have a more advanced software product called Dante Virtual Soundcard which allows for advanced sound routing situations. This can be used in lieu of Dante Via, but I found it too complex for my needs.
I have no financial relationship with this company. I am just sharing my positive experience. I feel it has added a lot of polish to my TinyPilot solution for working remotely using a personal desktop connected to a work laptop that I have housed in a rack away from my desk. Next up for me is to try the video solution that they have, but I think that might require a special camera and doesn't work with just any webcam.
- David @david2024-02-07 12:31:59.529Z
Hi @bjs169, thanks so much for your suggestion!
I like your idea for masked text in TinyPilot's paste text area. No one has suggested that yet as far as I know. I've created a new GitHub issue for this. It’s not part of our short-term roadmap yet, but we’re always working to improve TinyPilot’s software and hardware. We prioritize features based on user demand, so we’ll definitely consider your feedback in our planning.
Thanks for sharing all that info about Dante! It's cool that you've been able find a way to achieve two-way audio. I hadn't heard about those products before, either. I'm sure your information and experience will be useful for other TinyPilot users that are looking for a two-way audio solution.
Feel free to reach out again if you have any questions or suggestions!
Thanks for opening the issue. Appreciate it. Also, FYI, not sure on the licensing costs but they do offer an SDK that allows integrators to include Dante support in their hardware products. Might be something to explore for TinyPilot as a product. I did some Googling as well and it seems there are some partial open source clean room implementations of their protocol. Thanks again and continue to love my TinyPilot.
- David @david2024-02-07 19:22:26.636Z
You're welcome!
Thanks! I've made an internal note about the Dante SDK, so that may be something we look into as part of our internal research for bidirectional audio.
Thanks again!
- AIn reply tobjs169⬆:a7673 @a7673
@bjs169 Appreciate you very much for sharing this info.
I am interested in testing this out. I would like to understand your setup a little better for me to try out. Appreciate your response on the below.-
Are you Using Dante AVIO USB A or USB C adaptor? Have you tried the Dante AVIO Bluetooth Adaptor and does it support mic from source computer to Target computer connected to TinyPilot(TP)? Which one do you recommend of these over Dante AVIO USB A or USB C and/or Dante AVIO Bluetooth Adaptor?
-
Did you encounter any latency when using mic with Zoom/Teams etc?
-
Which software to use with Dante AVIO device? Is it Dante Controller Software or the Dante Via Software? Is it better over the other?
-
Conscious about the spend here, apart from purchasing Dante AVIO Device, do we also need to purchase their licenses for use?
-
How do you manage your Dante AVIO Device remotely after connecting to the Target computer which is connected to TP for any troubleshooting or restart etc? I want to be able to use my source machines mic as input the target for Zoom/Teams and also be able to connect to Dante AVIO device for Remote management over the internet.
-
Also, please correct me if I am wrong here. We are connecting the Dante AVIO device to the Target Computer (which is connect to TP) but not the TP itself. Right?
Thanks in Advance.
- I am using the Dante AVIO USB-C adaptor. I have not tried the Bluetooth adaptor.
- No latency issues at all. The Dante Controller software is able to report on latency and the values are always under 5ms.
- The Dante Controller software is free and is required to set up your devices and your "Dante Network." The Dante Via software serves a separate purpose. It, effectively, turns your PC into a virtual Dante device.
- Yes, Dante Via requires a license. Honestly, my suggestion after using the setup for a couple months is to skip Dante Via and Dante Virtual SoundCard (VSC) and just buy two Dante physical USB devices. I know you said that cost is something you want to be cautious of, but while I found the Via software to be workable I ended up not using it even though I purchased a license. This could be because the rest of my sound setup (totally unrelated to TinyPilot) is complicated and maybe that threw Dante Via off, but once I switched to two physical devices I have 100% rock-solid never fails performance. The issue for me is that Dante Via wants to be the primary input and output sound device on your PC, and then all sound (including remote sound from any Dante AVIO devices) routes through Via. This wouldn't work for the rest of my setup. And, while I "got it" to work, it was running in a non-standard way. I do believe they have free trial, so you can always buy an AVIO device, download the free trial, see if you find it workable, and then buy the license only if you do.
- The Dante AVIO device is managed through the Dante Controller software. I don't think you can manage it directly. From the Dante Controller software, you can configure the AVIO device, update firmware, reboot it, etc. So the workflow would be to first connect to a machine with Dante Controller on it (again, this software is free), and then configure the AVIO from Dante Controller.
- Correct, you connect the Dante AVIO to the target computer. It will appear as speaker output and microphone input in the list of Windows audio devices on the target computer.
Let me know if you need any further info.
-
- AIn reply tobjs169⬆:a7673 @a7673
@bjs169 Thank you for your response. I have just ordered Dante AVIO USB-C Device.
So, to manage the Dante AVIO USB-C devices outside of the home network, are you still using Dante Controller Software on the Client(personal) machine? Would all of those Dante AVIO devices show up in the software over the internet(non-home network)?
I actually don't have the "outside of the home network" use case. But, yes, if I were to want to do that I would 1) connect to home network via VPN, 2) RDP to my client / personal desktop, and 3) run Dante Controller to manage my Dante devices.
That said, at least in my use case, it was sort of a one-time setup and I do not regularly have a need to use Dante Controller or otherwise configure my Dante devices. I am curious as to what types of configuration do you anticipate needing to do on a regular basis?
I think once you get the device, get Controller installed, and get Via installed it will all be a lot clearer in your head in terms of how it works and how you might manage it.
- Aa7673 @a7673
I got the device over the weekend. I have tried and tired, since this device doesnt work on WAN but only through LAN. By any chance, do you think this setup would work?
I sincerely appreciate your responses until now.
@bjs169 please let me know your thoughts on my setup.I apologize. I didn't realize this is what you are trying to do. My stuff is all local.
Here are a couple things to check:
- The AVIO requires Ethernet PoE. I don't see that specifically called out on your diagram? Does your router provide PoE? If not, are you injecting PoE into the AVIO?
- Are the Mac computer and Windows computer on the same LAN when connected via VPN? I believe Dante media is routable if you are using Unicast streams, but I am not sure all the discovery stuff will work without the additional cost of Dante Domain Manager. If the Mac computer and Windows computer are on the same subnet then you should be fine from a connectivity standpoint, but I do wonder about latency in your use case.
Let me know what you find out.
- H@hoobadegah
I'm not the guy you were talking to, but I will have a similar setup and will report on it when I return back home in a month.
The use case is never having to bring client laptops overseas, and just controlling everything remotely and doing Teams Meetings without anyone being the wiser.
For background, I already have two Raspberry PIs running in Parallel (for failover, much cheaper than a plane ticket!) with wireguard server installed to maintain VPN connectivity while overseas.
I use a travel router with a Wireguard Client installed to avoid having to install software on client devices to be on the VPN.
The added benefit is that all my banking and media apps function without any issues.
Taking your advice and just buying physical USB C dongles and avoiding the Via software altogether.
I, too, have the requirement that ZERO software can be installed on locked-down client laptops
Basically, it'll be just like I'm on the local LAN, and I don't imagine latency will be much of a problem, since the TinyPilot has acceptable latency while over 3,000 km away.
Anyway, I will keep everyone informed that is watching this thread!
- In reply toa7673⬆:H@hoobadegah
You would need to VPN into your private network. Dante Network is meant to be used on a single LAN, not over the internet.
The route I went is installing wireguard server on a Raspberry Pi, and wireguard client on my laptop.
Works just like as if I am local to the network.
- HIn reply tobjs169⬆:@hoobadegah
On a separate note, what was the video solution you found for transmitting webcam video from your source PC to the target one?
I think I was talking about trying out the video solution from Dante, but I could never actually find actual implementations for a small use case. Seems like it is more aspirational than available.
- H@hoobadegah
Ahh ok, I searched their site, but didn't see any solution for video.
I am currently looking at three options that don't require installation of software on the target machines:
-
IP cameras that can be shared as a virtual input source by computers on the same subnet. It may be possible to convert the built-in webcam on my laptop to a virtual webcam, but am open to separate webcams as a solution.
-
Using a USB-over-ethernet (Network-Attached USB Hub) adapter. A company called Digi makes a few Network-Attached USB Hubs with different numbers of ports.
-
It appears WIndows has support ONVIF Profile S since 2019. Essentially, you can connect any compatible camera to the network, and treat it as a source (input camera) for any application, including Teams and Zoom. More info here:
https://learn.microsoft.com/en-us/windows-hardware/drivers/stream/network-cameras
Will see if any of these bear fruit. Number 3 seems the most promising (and cheapest).
-
- In reply tobjs169⬆:H@hoobadegah
I have a working solution.
Using DeskCamera, I can convert my webcam to an ONVIF virtual camera, make it broadcastable to tne network, and the use it as a camera on the target system.
No software needed to be installed, with the exception of DeskCamera on the source PC.
I am using Wireguard, so everything is on the same subnet.