Comments (16)
I was facing the exact issue. After finding out about v12 (I'm not using HifiBerryOs so that took a while) I checked the diff between v11 and v12 xmls and noticed the asmrc input has changed from 2 to 3.
I then looked for this parameter in SigmaStudio and found it in the RegisterControls > ROUTING_MATRIX tab. ASRC7, which is supposed to handle SPDIF input, had its source set to "From DSP core outputs". After changing this to "From SPDIF receiver" toslink input worked perfectly!
This is what it should look like.
I still wish HiFiBerry would upload the v12 project here, though.
from hifiberry-dsp.
There were no major changes in v12. The v12 project was never saved. Therefore, I can't upload it.
from hifiberry-dsp.
@RPhilbo I just ordered toslink cables, have none free at the moment to connect hifiberry. As soon as they arrive (i'd expect next week), i'll be able to check your profile. Is there an XML profile, built from your project, which I could check, or do you prefer me to go with the sigmastudio build process and add metadata?
from hifiberry-dsp.
@marek-obuchowicz of course i can provide the xml file, maybe i also do a PR to put it into the xml folder.
from hifiberry-dsp.
@jarvick257 thanks for your response, that's actually a great way to reverse-engineer changes. Is there anything else that differs between those two profiles, or just this ASRC routing change?
from hifiberry-dsp.
Yes there were a couple more changes but most of those look pretty cryptic in the xml so not really sure what they are.
from hifiberry-dsp.
I asked because after changing ASRC input, I'm still getting issues with signal detection and mixing. I can workaround them in SigmaStudio by editing profile and adding a mixer instead of input detection logic (which seems to be broken). @hifiberry is there any chance to get any feedback from you? :)
from hifiberry-dsp.
If you create push your own project via SigmaStudio you need to add the correct metadata to it. Make sure all the SPDIF registers are set correctly in your metadata. Read the registers and check iff all contain the correct values.
Don't expect with ANY SigmaStudio project that you just push it to the DSP and it'll work. Without the correct metadata nothing will happen.
from hifiberry-dsp.
sure, metadata is in place as described on your page. TosLink signal is detected correctly ("sources" website shows if / if not there is an incoming signal, it works ok) but still there's nothing on output after changing just the ASRC source - somehow v11 logic seems to be broken in terms of signal detection or mixing.
any chance for uploading sigmastudio project v12 to this repo? Seems that the issue we're discussing here has already been solved by you :)
from hifiberry-dsp.
But there were changes that fixed problems, so it would help people to start with a sigmastudio project file v12 instead of v11, even the change is minor.
As marek said, the problem is already solved by you, so it would be helpful to not research it again and again :-)
from hifiberry-dsp.
@hifiberry maybe the fixed project file could be uploaded with another version name (like v12-1)? By doing that, we are not going to introduce any possible incompatiblity between already released v12 (where source project is missing), in case that there were indeed more changes to v12. That could unblock a few users, like those participating in this thread. If it helps, let me know, I can create a PR when there's some spare time.
from hifiberry-dsp.
In the community (forum) of Hifiberry this is also questioned from different people.
As far as i understand this following links answer of support team from today, the difference in v11 and v12 is not in the projectfile, it is only in the metadata. So this would be a more detailed explanation for the non existing v12 project file :-)
https://support.hifiberry.com/hc/en-us/community/posts/360014328577
from hifiberry-dsp.
As far as i understand this following links answer of support team from today, the difference in v11 and v12 is not in the projectfile,
Ok, thats not true.
I started with the SigmaStudio File v11 and had the above already mentioned problems with TOSLINK input. Spotify for example was no problem, but TOSLINK input was not detected nor played.
When i used the Hifiberry OS official v12 (and reboot) it worked.
Then i took the SigmaStudio project v11 and just changed the already above mentioned ASRC7 input from SPDIF, then compile, metadata and so on (and reboot) it works now with TOSLINK.
from hifiberry-dsp.
After my posting above i also had some issues with signal detection on TOSLINK. TOSLINK was playing, but the detection was not working, perhaps like @marek-obuchowicz also observed.
My attention went then to the "SPDIF on" switch in the "input detection" schematic. It was off, but i think it needs to be on. After that, it worked.
So i opened my first pull request ever with these changes:
-
changed ASRC7 source to "From S/PDIF receiver"
-
Schematic "Input Selection" Switch "SPDIF On" was off in v11, so i switched it to "on"
@marek-obuchowicz can you confirm this v12-1 works for you, just with open and deploy?
For an possible v13 i also have found more settings i changed, testings are ongoing:
-
Visual rearrangement for better readability and understanding
- rearranged some blocks and data lines
- rearranged order of schematic sheets, to be in order like appearance in the main sheet.
-
Disabled not needed functions (less power consumption and heat dissipation)
- "Power_Clocking":
-
Serial Input 3 disabled
-
Serial Input 1 disabled
-
PDM1 Input disabled
-
PDM0 Input disabled
-
ADC0 disabled
-
- "Power_Clocking":
-
SPDIF_RX "Output strength on lock loss" changed to weak, because seems "safer" to me.
From the ADAU1451 Datasheet:
S/PDIF receiver behavior in the event that lock is lost. Applies to the output of the recovered frame clock from the S/PDIF receiver.
Strong; output is continued as well as is possible when the receiver notices a loss of lock condition, which may result in some data corruption.
Weak; output is interrupted as soon as receiver notices a loss of lock condition. -
Error or different point of view regarding channel assignment (at least the analog output). Some people already asked in the hifiberry community if left/right is reversed on the dac+dsp card. The answer was mostly there is no left/right carved in stone and that this could be changed, if wanted, in the dsp programm.
1. In my opinion, changing the dsp program is nothing for every user.
2.1 On my board, delivered in september 2021, the RCA connectors are white and red. Normally, red is right channel then, but it is the left channel with stock dsp program. (On the dac+dsp product page you can see two white RCA connectors, maybe a solution to avoid confusion.)
2.2 On digital audio transmission like I2S or TDM the first channel is often the left channel. Whith my own digital amplifier fed by this dac+dsp board, left/right is also switched, therefore it would be nice to have it the right way.
2.3 While looking into the official dsp programm v11: Left/right channel pair is arranged as left on top and right on bottom, one could say the order is increasing from top to bottom. In the schematic "channel select" the order is the other way round, increasing from bottom to top. Back in the main schematic, the bottom channel "A" goes to output 1 instead of output 0. In my opinion this is the place where the left/right swap emerges. This also happens then to the channel pair "C+D" so i switched the assignment of the digital outs and ASRCs regarding two pairs of left/right. These changes made, the analog and digital output acts in a correct order of left/right. -
GPIO13/MP13 used in schematic "Hardware mute"
- not investigated yet, but config of MP13 seems to be input instead of output?
-
Also a little odd: i did the routine with programming, metadata etc. a douzen times, but the checksum just changed one time, instead for every little detail changed.
from hifiberry-dsp.
@RPhilbo Thanks for this. About the changes you plan for a future version:
Error or different point of view regarding channel assignment
It's not needed to change the DSP program for this, it can be directly changed in the HiFiBerryOS GUI.
Also a little odd: i did the routine with programming, metadata etc. a douzen times, but the checksum just changed one time, instead for every little detail changed.
Checksum is only calculated on the program, NOT the register set. Therefore, changing some register settings won't change the checksum.
from hifiberry-dsp.
@marek-obuchowicz yesterday i finally found some time to push the xml file, and the PR38 was also already accepted. So I'm curious if it works for you. :-)
Its under hifiberry-dsp/sample_files/xml/
from hifiberry-dsp.
Related Issues (20)
- Left and right channels are reversed HOT 1
- dspdac-noautomute.xml profile produces an offset voltage of 1V HOT 2
- install-dsptoolkit is missing requests dependency
- Required on every boot HOT 10
- Some indicators in SigmaStudio not working. HOT 4
- Github CI actions failing HOT 2
- alsasync.py with pyalsaaudio 0.8+ HOT 1
- Parameter control not working HOT 2
- Cannot find DSPVolume when hifiberry is not the default alsa device (eg when running pulseaudio) HOT 4
- genclocks.py will not release PCM resource until receives USR1 HOT 1
- UnboundLocalError: local variable 'db' referenced before assignment HOT 1
- dsptoolkit get-samplerate returns default 48000 on dac2 hd + DSP HOT 1
- Display>Use Connected Display is broken by update to 20220228 HOT 1
- dsptoolkit get-meta is broken: UnboundLocalError HOT 1
- beocreate v2.1 muted without "Selfboot" jumper HOT 2
- No releases in years? HOT 2
- mergeparameters AttributeError: 'dict' object has no attribute 'move_to_end' HOT 5
- Buggy install-dsptoolkit script HOT 3
- Wrong PROGRAM_END_SIGNATURE? HOT 3
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 hifiberry-dsp.