Moode Audio Player for Raspberry Pi

Hi Atlantageek, yes, I can access to the Moode operative system with the laptop, here you are with a screenshot. But what now? I tried and connect again to http://moode.local but i got the message you can see below. Best, D.
1695995630994.png


1695995797046.png
 
Now type 'ip addr' I think or 'ifconfig' . (sorry I dont have a pi here today. ip addr is the modern way but ifconfig was used in the past.)
You'll get a few blocks of data that looks like this.
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=6463<RXCSUM,TXCSUM,TSO4,TSO6,CHANNEL_IO,PARTIAL_CSUM,ZEROINVERT_CSUM>
ether a4:cf:99:6a:ca:30
inet6 fe80::1cb7:3fde:40d2:4795%en0 prefixlen 64 secured scopeid 0xb
inet 192.168.114.26 netmask 0xfffffc00 broadcast 192.168.115.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect
status: active
Note there is an inet 192.168.114.26... This is your ip address.
Try going to http://xx.xx.xx.xx with your browser.
 
Hi,

After creating a new user account in windows 10 (I had to delete the old one as I had issues) I have lost access to moode - neither google chrome nor edge work.

When I try to connect to moode.local I get "this site can't be reached" message. Running the troubleshooting gives the following: "your dns server might be unavailable". The computer is connected to the same wifi of the raspberry pi of course. Everything is still working fine from my android smartphone, where I use Chrome as well.

I configured the raspberry pi 3 some time ago, I may have forgotten something since... any lead please?

Thanks,

D
If Name resolution is questionable get the the pi by IP address, if u don’t know it the IP address is likely in your router dhcp lease list as ‘moode’….unfortunately most browsers make it difficult to use IP directly without doing dns and/or search engines.
 
Hello Tim Curtis,
First I would like to thank you for facilitating such a great software and maintaining it under a FOSS model. I am successfully running Moode for several years (I have tried also different other distributions, however fell back to Moode each time). I am using currently a RPI4 with Ian Canada FIFOPI Q7 and TransmitterPI Pro (there fore an LVDS/i2s) into a Rockna Wavedream DAC. This brings me to the subject of my post: DT overlays (for external DACs).
I am not a software engineer and I do not have a complete understanding of how DT overlays must be developed, however I wonder what information is needed to develop DT overlays for LVDS/i2s connections to external DACs in comparison with the DAC hats. I used primarily Audiophonics ES9028, Denafrips Pontus R2R and Generic-2 i2s overlays. They are not optimal for Rockna and I get different results with them. However the differences are, let us say, minimal (PCM or DSD channels inverted, phase inversion either for DSD or PCM, channel inversion/phase inversion for different higher frequencies - probably related to the fact that the overlay is configured for 16/24/32 bit and the DAC otherwise). A factor is of course the LVDS pinout differences (hardware), but for now let us put this aside.
Is it feasible to develop Generic i2s/LVDS overlays covering let us say all possible parameter combination? In my view this would enable users to match against their DAC i2s implementation without much hassle. I apologize if my empiric view is much too simplistic.
Many thanks,
Bogdan

PS: For the ones that use Rockna and Ian Canada Transmitter Pro the DT overlay to go for (my 2 cents) would be for now Generic-2 i2s and this in a quite unusual construct (Rockna i2s standard on Rockna side - against PS Audio on Ian Canada board). This enables no channel or phase inversion for PCM. DSD channels are inverted - I use for now DSD to PCM conversion on Roon side to mitigate. Also when enabling any type of EQ in Roon there is no impact on the behavior.
With all other DT overlays I had the following issues: PCM/DSD L/R channel inversion, sometimes only for higher frequencies (sometimes within same freq domain -eg 48Khz PCM channels not inverted, 96KHz inverted) . In many cases I have found that there was no inversion in bit perfect playback mode from Roon, however applying any kind of EQ (be it only headroom or volume leveling) resulted in L/R channels reverted.
 
Last edited:
Device driver development is more of a software engineering discipline and I haven't done that kind of work for a while but maybe someone else with that kind of expertise will take an interest.

What I get from your post is that you are asking whether an I2S driver could be developed that would support the various proprietary I2S over HDMI pinouts/signaling that have been implemented by various manufacturers, correct?

In addition to developing the driver itself the dev would need to do the work necessary to get it accepted into the Linux kernel and commit to supporting it as the kernel gets updated.
 
What I get from your post is that you are asking whether an I2S driver could be developed that would support the various proprietary I2S over HDMI pinouts/signaling that have been implemented by various manufacturers, correct?

In a nutshell, yes, as I see minor differences (IMHO) between different already available drivers or LVDS hw pinout or sw signaling. Only minor adjustments would make these work for a multitude of external DACs without even touching the LVDS pinout.

In addition to developing the driver itself the dev would need to do the work necessary to get it accepted into the Linux kernel and commit to supporting it as the kernel gets updated.
Do you know who supports then the Generic DT Overlays? eg Generic i2s or Generic-2 i2s? Are these drivers documented? (or the relationship to hw channel mapping, phase mapping)
 
@BogdanS: The I2S controller in RPi4B has some HW features which can be configured by the existing I2S driver, and most of these settings can be specified in the DTS. For details look at PCM chapter 7 of https://datasheets.raspberrypi.com/bcm2711/bcm2711-peripherals.pdf

AFAIK the controller cannot have its pins redefined. You could build a hat for generic HDMI-connector I2S output, controlled via GPIOs/I2C, and write a driver for that with DTS support. Then a DTS overlay could flip pins in the I2S HDMI connector.
 
  • Like
Reactions: BogdanS
In a nutshell, yes, as I see minor differences (IMHO) between different already available drivers or LVDS hw pinout or sw signaling. Only minor adjustments would make these work for a multitude of external DACs without even touching the LVDS pinout.


Do you know who supports then the Generic DT Overlays? eg Generic i2s or Generic-2 i2s? Are these drivers documented? (or the relationship to hw channel mapping, phase mapping)
Search the Raspberry Linux kernel for the source files for example here's a search result for file i2s-dac overlay which corresponds to the "Generic-2 I2S (i2s-dac)" selection in Moode Audio Config. This overlay file specifies the pcm1794a CODEC (driver) to process the audio data. https://github.com/raspberrypi/linux/blob/rpi-6.1.y/arch/arm/boot/dts/overlays/i2s-dac-overlay.dts

You can do another search for the pcm1794a CODEC file which may contain the code that controls the items you mentioned.
 
  • Like
Reactions: BogdanS
Hi all,

I am trying to set up Moode on my RPi but getting nowhere. I have tried a couple of routes to no avail so looking for any advice you might have.
I am running an RPi 4 with iQAudio DAC Pro hat and have tried flashing the latest version of Moode via 2 different microSD cards (8GB and 16GB) both of which have been flashed and succesfully run other players (PicorePlayer, Volumio, and Rooopie). The issues I have are:

  • standard flash; the Moode AP SSID doesnt show up on any device so cannot connect
  • I then updated moodecfg.ini file with my SSID and password but it doesn't seem to connect as no new IP address accesses the network
  • Connection via ethernet cable direct to mac is succesfull and I can access via IP address and moode.local. Following this route, all the entries in the settings (such as access point password, host/player name, browser title etc) are empty. The warning "An Access Point password needs to be entered" comes up if I switch between configuration menu tabs at this point.

As soon as I change and save any settings (such as adding an access point password, my network SSID details, adding host name) everything freezes. I can access moode via IP address after this but cannot access any of the configuration menus.

I have gone through the above steps numerous times while trying other steps in between such as reflashing the usb, rebooting the pi (manually via power cable when the system has frozen) etc. I cannot connect to the pi via terminal. Because of this I can't get a full startup log, but can get moode to print out one after entering host name, browser name, file share option. It is pasted below.

I feel like the issue could be with the RPi wifi, but it works when using other players flashed on to the same sd card. My software knowledge is limited so I could well be overlooking something very obvious or missing a critical step. I have seen mention of power supply on other issues, I am using the standard power supply that came with the Pi4. If anyone has any ideas I would be very appreciative!!

Thanks,
Johnny

20230905 144242 worker: --
20230905 144242 worker: -- Start moOde 8 series
20230905 144242 worker: --
20230905 144242 worker: Successfully daemonized
20230905 144242 worker: Waiting for Linux startup...
20231005 100512 command/index.php: Connection to MPD failed
20231005 100743 worker: ERROR: Linux startup failed to complete after waiting 180 seconds
 
That's all that was needed. I hadn't understood and appreciated that you edit the id and passwords in the RPi imager pre-flash, though it is very clearly stated in the guide. Thanks alot for your help Tim, and apologies for such a RTFM question. Excited to get it up and running now!