RiscOS USB Audio
Brett Rogers (9204) 7 posts |
Hi All, I’ve got RiscOS Open running on my Pi400 and I’ve got it plugged into my monitor via HDMI but my monitor doesn’t have any speakers so I’ve got a USB Audio device plugged into it. I was wondering if there was any way i.e editing the config.txt file to get the USB audio working or forcing USB audio. Usually I’d go to Raspi-config and change it to USB Audio as default but I’m not sure how to get to there when loading RiscOS up. I’ve looked at many other threads but wasn’t sure if there has been any more movement on it. Kindest Regards, Brett |
Raik (463) 2061 posts |
Hi Brett, |
Jean-Michel BRUCK (3009) 359 posts |
Your monitor may have a headphone output ?, I use mine this way with an external amp. Colin created an application that allows you to play audio files to a USB device (DAC) A very interesting site for RISC OS audio: |
Andrew Rawnsley (492) 1445 posts |
Colin’s isochronous drivers (which allow for USB audio) only work on USB2 ports on Pi. On a Pi4 that means the USB-C port and things connected to it rather than the rear ports, all four of which are XHCI-connected not EHCI (USB2). I fear the Pi400 ports are all on the XHCI controller too, but I may be wrong on that (I don’t have a 400 set up right now). |
jim lesurf (2082) 1438 posts |
Colin’s progs are a good way to check if your choice of hardware will play/capture via USB Audio. If they show it will, it may also be useful to try the prog I wrote that both outputs audio and re-captures it. That can check for any problems like noise, distortion, etc, to see if it works as it should. In particular, can show if your choice of USB DAC or ADC is delivering good quality conversions. |
Brett Rogers (9204) 7 posts |
Hi All, My Monitor doesn’t have an audio out it’s purely a display monitor. No sound on it at all. Just for clarification the USB device is plugged into the USB on the pi400. Thanks, Brett |
Andrew Rawnsley (492) 1445 posts |
Honestly, your best bet if you want to use a monitor without speakers with a pi is to use an HDMI audio extractor which can be bought on amazon for less than 20 ukp. They’ll take the HDMI feed, and split out the audio into analogue or spdif (depending on what you need), and work with both RISC OS and linux. On RISC OS, even if you managed to get the USB device to work, it would only be utilised by specific player software (WAV, FLAC, MP3) – general OS sound and games would not make use of it. |
jim lesurf (2082) 1438 posts |
The snag with going via HDMI is that that may modify the actual stream of audio sample values. Depends on what monitor/devices you have, etc. Probably won’t matter if you just want ‘games’ beeps and bangs, etc. But if you want to play high quality audio it might affect results. You’d need to decide/test/check specs if you want to ensure what comes out of the setup. What USB device do you have, and what kind of audio do you want to hear? |
Brett Rogers (9204) 7 posts |
Hi All, I got this hdmi audio extractor (https://amzn.eu/d/03UsJu89) and it works with raspberry pi OS. I can play music and stuff and I can hear it through my external speaker. But when I run RisOS Open or RiscOS direct I get no audio at all. Not even from running maestro. I have checked the audio settings in !Boot→Sound and tried the various system beeps however, no sound. What could be the problem? Thanks, Brett |
Andrew Rawnsley (492) 1445 posts |
That’s exactly the kind of device I’d use for it. The device has a switch for 2 / 5.1 / Passthrough modes. I would imagine you’d want it set to 2 channel mode, but do the other modes give different results? You’ll need to power on/off between tests, as the Pi will only detect audio capabilities at power-on. I’m not sure we can give you much more information because HDMI audio tends to just work on Pis. It might be worth you posting your config.txt file (from !Boot.Loader) so that we can see if there are any settings which might be causing problems for you. |
Brett Rogers (9204) 7 posts |
Hi All, Thanks for the reply. I’ve just added the following lines to the config.txt file: hdmi_group=2 Now sound works consistently on every bootup. Thanks again, Brett |
Andrew Rawnsley (492) 1445 posts |
It shouldn’t be necessary to add anything to the config.txt – just the base one should be fine. Quick thought – there are two HDMI ports on Pi devices, but RISC OS will only do sound on the primary one. Might be worth checking which HDMI port you’re using. |
John WILLIAMS (8368) 493 posts |
I find that I already have these lines in my standard file (which works fine), but also have these commented-out lines for when I do want to switch to the 3.5mm socket output: #AUDIO # This line =1 pretends all audio formats are unsupported by the display. # This means ALSA will default to analogue, sound out via headphone socket. #hdmi_ignore_edid_audio=1 # # This one forces HDMI output #hdmi_force_edid_audio=1 Just to have it all in one place. |
Sveinung Wittington Tengelsen (9758) 237 posts |
Any chance of converting the Linux audio-over-USB system for RISC OS? Using Fedora w. Cinnamon desktop, I get pretty good detail resolution playing music over the rather old HEGEL HD2 USB box. Ideally it should be configurable from within RISC OS, where to send audio |
jim lesurf (2082) 1438 posts |
Interesting for me to see this thread. I’ve been though decades where whenever I raised these issues I tended to be told the equivalents of “I keep telling people. There’s no call for it!” *-} HDMI output can be OK. But you are then at the mercy of the monitor/TV maker. This can mean the sound gets altered on the way out in a way you aren’t told about and isn’t always easy to check. Most commonly in my experience is all output gets converted to 48k rate – even when playing an audio file from a CD that’s 44.1k. And this is one of the conversions that is hardest to do well… so may not be! |
Jean-Michel BRUCK (3009) 359 posts |
In television broadcasting we use AES EBU (rates to 48k) in production equipment. Maybe this is the reason? From Andrew Rawnsley:
This looks interesting. N.Ex.t has no analog audio output, only via HDMI, or USBdevices. |
RISCOSBits (3000) 143 posts |
Similarly, our FAST ITX-sized FreeNVMe and SATA machines only use HDMI or USB audio. There’s no facility on the carrier for analog audio. However, quite a few of our more compact FreeNVMe systems do offer analog audio. The VENOM has it explicitly available, whereas the eNVY.Me has an internal jack that would be relatively easy to pull through. With FAST systems, where audio is required that is not USB or HDMI-based, we tend to supply a HDMI audio extractor. |
jim lesurf (2082) 1438 posts |
In itself, it’s perfectly reasonable for a TV maker to assume 48k sample rate. (IIRC TVs often do this at 20bit per sample for plain stereo.) However when used by someone as a monitor they may want to play 44k1 .. or high rates like 96k/24bit (or higher). OK, > 48k is rare for most people watching TV. But serious AV/HiFi users will want a system that can output 48k and above without it being messed with. Extracting from HDMI may not always give you that. |