bang-olufsen / create

Software for the HifiBerry/BeoCreate Re-Create project for upcycling vintage loudspeakers
https://www.hifiberry.com/beocreate
MIT License
173 stars 43 forks source link

Beocreate Universal program corrupted and will not reinstall #133

Open xpatbrit opened 3 years ago

xpatbrit commented 3 years ago

First power on of new board On first boot OS is 20201213-pi4 no DSP program is loaded, warning message said program was corrupted on the board Tried to reinstall it using reinstall button did not reinstall now reports unknown program loaded in wifi - select country does not offer any list to select from - entering initials of country does not work (usa)

xpatbrit commented 3 years ago

Is anyone going to try to address this?

tuomashamalainen commented 3 years ago

Hi Duke and apologies for not responding sooner. The GUI is my brainchild and currently there isn't anyone else to deal with support requests concerning it. Regrettably I have been preoccupied with other things.

Best, Tuomas from Bang & Olufsen

xpatbrit commented 3 years ago

Tuomas,

Finally being able to spend some quality time with this unit today myself, I discovered that addressing the setup steps via http was more satisfying and conclusive than doing those steps directly to the pi 4 via kvm. I have connected via ip, and via Bluetooth am able to make a simple pair of speakers (Sony bookshelf) play quite nicely.

Ultimately, I have purpose-built a sub cabinet containing a pair of woofers that I would like to take the 40-150hz load from the Sonys with - using sigma studio dsp. I have launched sigma studio, but cannot seem to retrieve the dsp program that is currently running on the board (I selected the generic 'other' option in the web gui). Presently, all four channels playing full range do not satisfy my design intent. Once I can see/monitor the running program, I am confident I will be able to accomplish the relatively simple setup I have in mind. If you can offer any guidance, in the form of words or links, I would appreciate it. I am trying to work through the forums and learn as much as I can. It is easy to follow false leads though! Interesting stuff, all of it... .

I am very excited to have made these first steps.

Thank you for responding,

duke

tuomashamalainen commented 3 years ago

Hi Duke,

thanks for following up. It's good to hear that you got forward with it. Running the setup via a web browser on another machine instead of on the Raspberry Pi itself via a connected display (which it sounds like you were doing) is the recommended way currently. The ability to display the UI through the Pi is a rough add-on and work in progress, the browser does not appear to fully play ball with all of the functions in the UI.

For your DSP explorations, here's a brief introduction. This barely scratches the surface, especially the latter part, but gives you a bit of an idea.

DSP programs and speaker presets

First thing to note is that we separate the concept of DSP programs and speaker presets. For most users, and all the speaker presets that you see listed in the menu, Beocreate Universal is always the program that runs on the DSP. Then we dynamically apply the settings from different speaker presets to it at runtime. The "Other Speaker" preset is a simple stereo flow with all filters flat, and as such a great starting point for doing anything custom.

Several tools are built in

I designed Beocreate Universal to support the different sound adjustments currently available in the UI. In the Sound menu, when advanced settings have been turned on, you have a bunch of powerful adjustments right at your fingertips, which I think could already satisfy your needs here.

These tools are the easiest and recommended way to make adjustments, and I would be happy to assist you further with them should you need help. You can also manually create a sound preset file and import this through the UI, but there's no functional advantage to this approach over making the same settings graphically.

If you're not satisfied, read on.

Working with SigmaStudio

As you already knew, you do still have the option to go with the SigmaStudio route to create entirely custom setups, but this is a fair bit more work to get "right", as we're about to find out. There is not, as far as I'm aware, a way to retrieve the current program from the DSP in SigmaStudio, but you can download and open the project file for Beocreate Universal from the top level of our repository to get started.

When you have your program designed in SigmaStudio, running it with Link Compile Download is easy enough and it will work. However, our software relies on knowing the memory addresses of the features that are available in the DSP program through the UI – most importantly volume control – so that they can be controlled. When you compile a new program with new DSP blocks, these addresses may change and thus the features will be unavailable through the UI (and volume control may not behave as expected).

To generate programs that work with the UI features, they need to be installed from XML files created with SigmaStudio and supplemented with relevant metadata, a process described here. To help generate the metadata, you can use the Metadata Reader that's available on the web server of your speaker – go to [speaker-address]/misc/dspparamreader in your web browser and you can drop the relevant file to the browser window. It is very important to get and add the checksum of your new program to the metadata, to allow the system to identify it when it runs on the DSP.

Once your XML is complete, you can upload it to the file system on the speaker and use the dsptoolkit command to install it (this is currently not available through the UI), after which you should reboot the speaker to allow everything else to adjust to it.

Hope this helps a bit, and in case you've got questions, ask away.

Best, Tuomas from Bang & Olufsen

xpatbrit commented 3 years ago

Tuomas,

Many thanks for your works on this product and for taking the time to break it down for a layman. My dsp experience is limited to commercial products like QSC Cores, BSS, that sort of thing. I have limited time to complete this particular project, but eventually I want to explore the transfer function and make it all it can be in my room.

I will for now apply filters available in the gui, and worry about phase and coherence after my due date is passed, on my own time. That I can address delay and provide basic band pass filters in the gui, thank you for that! So much fun and satisfaction for curious people, a great development for us all.

Regards,

daw

On Sun, Jan 31, 2021 at 1:52 PM Tuomas Hämäläinen notifications@github.com wrote:

Hi Duke,

thanks for following up. It's good to hear that you got forward with it. Running the setup via a web browser on another machine instead of on the Raspberry Pi itself via a connected display (which it sounds like you were doing) is the recommended way currently. The ability to display the UI through the Pi is a rough add-on and work in progress, the browser does not appear to fully play ball with all of the functions in the UI.

For your DSP explorations, here's a brief introduction. This barely scratches the surface, especially the latter part, but gives you a bit of an idea. DSP programs and speaker presets

First thing to note is that we separate the concept of DSP programs and speaker presets. For most users, and all the speaker presets that you see listed in the menu, Beocreate Universal is always the program that runs on the DSP. Then we dynamically apply the settings from different speaker presets to it at runtime. The "Other Speaker" preset is a simple stereo flow with all filters flat, and as such a great starting point for doing anything custom. Several tools are built in

I designed Beocreate Universal to support the different sound adjustments currently available in the UI. In the Sound menu, when advanced settings have been turned on, you have a bunch of powerful adjustments right at your fingertips, which I think could already satisfy your needs here.

  • Through Parametric Equaliser -> Speaker Equaliser, you can apply high-pass and low-pass filters to each of the four amplifier channels to create the crossover for your speakers, along with any other tweaking of the response that you might want to do through IIR/biquad filters.
  • Through Channels -> Advanced, you can set speaker roles, adjust delays, levels and invert polarity if needed.

These tools are the easiest and recommended way to make adjustments, and I would be happy to assist you further with them should you need help. You can also manually create a sound preset file https://github.com/bang-olufsen/create/blob/master/Documentation/SoundPresets.md and import this through the UI, but there's no functional advantage to this approach over making the same settings graphically.

If you're not satisfied, read on. Working with SigmaStudio

As you already knew, you do still have the option to go with the SigmaStudio route to create entirely custom setups, but this is a fair bit more work to get "right", as we're about to find out. There is not, as far as I'm aware, a way to retrieve the current program from the DSP in SigmaStudio, but you can download and open the project file for Beocreate Universal from the top level of our repository to get started.

When you have your program designed in SigmaStudio, running it with Link Compile Download is easy enough and it will work. However, our software relies on knowing the memory addresses of the features that are available through the GUI – most importantly volume control – so that they can be controlled. When you compile a new program with new DSP blocks, these addresses may change and thus the features will be unavailable through the UI (and volume control may not behave as expected).

To generate programs that work with the UI features, they need to be installed from XML files created with SigmaStudio and supplemented with relevant metadata, a process described here https://github.com/hifiberry/hifiberry-dsp/blob/master/doc/dspprofiles.md. To help generate the metadata, you can use the Metadata Reader that's available on the web server of your speaker – go to /misc/dspparamreader in your web browser and you can drop the relevant file to the browser window. It is very important to get and add the checksum of your new program to the metadata, to allow the system to identify it when it runs on the DSP.

Once your XML is complete, you can upload it to the file system on the speaker and use the dsptoolkit command to install it (this is currently not available through the UI), after which you should reboot the speaker to allow everything else to adjust to it.

Hope this helps a bit, and in case you've got questions, ask away.

Best, Tuomas from Bang & Olufsen

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bang-olufsen/create/issues/133#issuecomment-770457229, or unsubscribe https://github.com/notifications/unsubscribe-auth/APV2WYDQZQ5LCFFXVJWAKU3S4XGH7ANCNFSM4WSGB5WA .

-- Duke Walker dwalker.memphis@gmail.com

xpatbrit commented 3 years ago

Tuomas,

This product quickly allowed me realize shortcomings in my initial woofer selection. Apply filters, apply energy, achieve goals or maybe not... . Finer exercises can still be performed, but primary analysis and preliminary adjustments can be made swiftly without much setup work. This will no doubt find more ways to be of significant use around this hobby of mine, besides the obvious use as a killer jamming platform!

daw

On Sun, Jan 31, 2021 at 2:58 PM Duke Walker dwalker.memphis@gmail.com wrote:

Tuomas,

Many thanks for your works on this product and for taking the time to break it down for a layman. My dsp experience is limited to commercial products like QSC Cores, BSS, that sort of thing. I have limited time to complete this particular project, but eventually I want to explore the transfer function and make it all it can be in my room.

I will for now apply filters available in the gui, and worry about phase and coherence after my due date is passed, on my own time. That I can address delay and provide basic band pass filters in the gui, thank you for that! So much fun and satisfaction for curious people, a great development for us all.

Regards,

daw

On Sun, Jan 31, 2021 at 1:52 PM Tuomas Hämäläinen < notifications@github.com> wrote:

Hi Duke,

thanks for following up. It's good to hear that you got forward with it. Running the setup via a web browser on another machine instead of on the Raspberry Pi itself via a connected display (which it sounds like you were doing) is the recommended way currently. The ability to display the UI through the Pi is a rough add-on and work in progress, the browser does not appear to fully play ball with all of the functions in the UI.

For your DSP explorations, here's a brief introduction. This barely scratches the surface, especially the latter part, but gives you a bit of an idea. DSP programs and speaker presets

First thing to note is that we separate the concept of DSP programs and speaker presets. For most users, and all the speaker presets that you see listed in the menu, Beocreate Universal is always the program that runs on the DSP. Then we dynamically apply the settings from different speaker presets to it at runtime. The "Other Speaker" preset is a simple stereo flow with all filters flat, and as such a great starting point for doing anything custom. Several tools are built in

I designed Beocreate Universal to support the different sound adjustments currently available in the UI. In the Sound menu, when advanced settings have been turned on, you have a bunch of powerful adjustments right at your fingertips, which I think could already satisfy your needs here.

  • Through Parametric Equaliser -> Speaker Equaliser, you can apply high-pass and low-pass filters to each of the four amplifier channels to create the crossover for your speakers, along with any other tweaking of the response that you might want to do through IIR/biquad filters.
  • Through Channels -> Advanced, you can set speaker roles, adjust delays, levels and invert polarity if needed.

These tools are the easiest and recommended way to make adjustments, and I would be happy to assist you further with them should you need help. You can also manually create a sound preset file https://github.com/bang-olufsen/create/blob/master/Documentation/SoundPresets.md and import this through the UI, but there's no functional advantage to this approach over making the same settings graphically.

If you're not satisfied, read on. Working with SigmaStudio

As you already knew, you do still have the option to go with the SigmaStudio route to create entirely custom setups, but this is a fair bit more work to get "right", as we're about to find out. There is not, as far as I'm aware, a way to retrieve the current program from the DSP in SigmaStudio, but you can download and open the project file for Beocreate Universal from the top level of our repository to get started.

When you have your program designed in SigmaStudio, running it with Link Compile Download is easy enough and it will work. However, our software relies on knowing the memory addresses of the features that are available through the GUI – most importantly volume control – so that they can be controlled. When you compile a new program with new DSP blocks, these addresses may change and thus the features will be unavailable through the UI (and volume control may not behave as expected).

To generate programs that work with the UI features, they need to be installed from XML files created with SigmaStudio and supplemented with relevant metadata, a process described here https://github.com/hifiberry/hifiberry-dsp/blob/master/doc/dspprofiles.md. To help generate the metadata, you can use the Metadata Reader that's available on the web server of your speaker – go to /misc/dspparamreader in your web browser and you can drop the relevant file to the browser window. It is very important to get and add the checksum of your new program to the metadata, to allow the system to identify it when it runs on the DSP.

Once your XML is complete, you can upload it to the file system on the speaker and use the dsptoolkit command to install it (this is currently not available through the UI), after which you should reboot the speaker to allow everything else to adjust to it.

Hope this helps a bit, and in case you've got questions, ask away.

Best, Tuomas from Bang & Olufsen

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/bang-olufsen/create/issues/133#issuecomment-770457229, or unsubscribe https://github.com/notifications/unsubscribe-auth/APV2WYDQZQ5LCFFXVJWAKU3S4XGH7ANCNFSM4WSGB5WA .

-- Duke Walker dwalker.memphis@gmail.com

-- Duke Walker dwalker.memphis@gmail.com