Comments (2)
Actually, the ALSA "card" numbers are not predictable. If you add another audio device, or remove one, and then reboot, previously existing audio devices can have different "card" numbers. It is possible to assign a name, based on characteristics such as vendor, product, and serial number. For multiple identical devices, names can be assigned by physical USB port. See https://github.com/wb2osz/direwolf-doc/blob/main/Radio-Interface-Guide.pdf section 7.6.
As you pointed out, using a number on Windows is not the best approach because the numbers change. You can use a substring of the audio device name. For example, if you add a single USB audio adapter, simply use "ADEVICE USB". This is mentioned in the User Guide, in the section named "Audio Device Selection - Windows." Radio-Interface-Guide.pdf section 2.2 also mentions this. If you have multiple identical USB audio devices, Windows gives them unique names.
Suggestions are always welcome for improving the documentation. There is a lot. sometimes it's not easy to find the right section.
from direwolf.
@wb2osz FYI, I created this utility https://github.com/iontodirel/find_devices, itโs only for Linux, but it reliably finds ALSA names based on names, description, serial numbers or hardware paths, when you have more than one sound card. It can also find reliably one of many Digirigs and their individual sound card / serial ports.
@wb2osz would you be open and support contributions to improve the Windows device referencing story? It seems like in Windows, a reliable way to do it is by device id, which is guaranteed to be unique https://learn.microsoft.com/en-us/windows/win32/coreaudio/endpoint-id-strings, but search by name or description or both would also be a good idea, this article documents the other properties and contains a small example: https://learn.microsoft.com/en-us/windows/win32/coreaudio/device-properties.
The problem with using numbers as Direwolf is doing today, is that there isnโt a way to reproduce that behavior and get similar ids either with scripting or programmatically with an API, effectively meaning you have to manually do this every time or only support one sound device.
from direwolf.
Related Issues (20)
- digipath: WIDE1-1,WIDE2-1 issue HOT 5
- Linux glibc 2.38 implements strlcat/strlcpy HOT 7
- dev branch does not want to work without config file HOT 2
- 100% cpu usage with I2C audio hats HOT 18
- TOC error in v1.7 User Guide HOT 1
- Missing reference to document outside main repository
- Defaulting to no color for output HOT 1
- Unable to establish connections use AGW HOT 8
- Document missing requirement for CM108 on Linux
- Incorrect files inside of version 1.7 October 2023 Windows Zip file HOT 1
- Record and report the heard station level above the noise floor
- Is the 9600bps walkabout9600b.wav recording available anywhere? HOT 1
- Error writing to /sys/class/gpio/export, GPIO failure HOT 17
- Successful-APRS-IGate-Operation.pdf not available HOT 3
- AX.25/IL2P Switch HOT 5
- [Enhancement] IL2P CRC Extension. HOT 4
- [Enhancement] Raw HDLC stream driver HOT 1
- INVALID CHANNEL is cryptic HOT 2
- ACHANNELS 1 hides a channel of the next device HOT 3
- Enhancement: Don't complain about background noise HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from direwolf.