Real Time Modification of G in Equalize mode

Writing software that inputs and/or outputs audio and performs DSP algorithms such as filters, new codecs or audio effects.
Post Reply
User avatar
Malex
User
Posts: 14
Joined: Tue 2016-02-09 15:32
Contact:

Real Time Modification of G in Equalize mode

Post by Malex » Tue 2016-02-09 15:39

Hello,

i would need to modify the Gain parameter of the filter at runtime, i'm not familiar with the vs1053 yet, but it'd like to be sure it does what i need before diving in :) !

the exact question would be :
is it possible from a microcontroller to modify the Gain of an EQ filter while it is running ?



thanks a lot

MAlex

User avatar
Panu
VLSI Staff
Posts: 2354
Joined: Tue 2010-06-22 13:43

Re: Real Time Modification of G in Equalize mode

Post by Panu » Tue 2016-02-09 17:59

Hi and welcome to the forum!

Yes, it's possible. You just need to write new values for the coefficients to XRAM memory in VS1053 via the SCI SPI port using your microcontroller. I think this is explained in the user's guide pdf.

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

User avatar
Malex
User
Posts: 14
Joined: Tue 2016-02-09 15:32
Contact:

Re: Real Time Modification of G in Equalize mode

Post by Malex » Fri 2016-02-12 17:56

Thank you, i had a quite interesting chat with someone from your company(maybe you) on the phone the other day and decided to go on with the VS1053.I received my Developer board and simple Dsp kit today, so i'm diving in your world right now.

Is it possible to load a plugin such as the "VS1053_VS1063_Equalizer" as a library in order to be able to use it's functions from a VS1053 code or do i have to write my own eq system if i want to use the VS1053 as only micro controller (or is the "VS1053_VS1063_Equalizer" code opensource?)

anyway i'm going to develop the project following 2 separate paths the first one beeing with an atmega as main controller and the VS10553 as slave.

thanks for your help.

MAlex

User avatar
Panu
VLSI Staff
Posts: 2354
Joined: Tue 2010-06-22 13:43

Re: Real Time Modification of G in Equalize mode

Post by Panu » Sat 2016-02-13 0:06

Hi, MAlex, and welcome to the forum! Yes, you spoke with me on the telephone.

Good idea that you are doing it with a microcontroller first. You'll eventually be able to do it with the VS1053 as stand-alone, but you'll need a lot of experience with the VS1053 before you'll get into it. So first I think you should implement it with the Simple DSP kit and a microcontroller.

After your project is working with the microcontroller and you start to consider writing code for the VS1053 chip itself, first read the "First Steps with VS1053" book that came with your Simple DSP kit from cover to cover. Then read the VS1053 datasheet. Your VS1053 developer board has a FM radio demo preprogrammed. That source code is included in VSIDE. Study it thoroughly until you understand every line of that code. Do some modifications to that FM radio demo. Get a feeling to how the chip works. Take a look at all the other example source templates for VS1053 in VSIDE.

The Equalizer code is definitely not open source. But we'll see, perhaps we can release (some of) it as a binary library that you can call so you can add your own user interface. We'll take a look when the time comes.

Good Luck and please keep in touch!

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

User avatar
Malex
User
Posts: 14
Joined: Tue 2016-02-09 15:32
Contact:

Re: Real Time Modification of G in Equalize mode

Post by Malex » Wed 2016-02-24 16:52

Hi Panu, Henrik,

I'v been following Panu's advice and did my first prototype using an external microcontroller, I have a 95% working prototype now.
My prototype has two modes, the first one is the setup mode, the second one is the running mode.

The running mode is working well, but to be able to finish the parameter mode, I need to be able to produce a tone to a certain frequency, enabling the user to set up the filters (corresponding to the frequency). As my VS1053 is programmed with the equalizerApp i don't think I have access to any sinTest functions therefore I'm not able to generate a tone into the audio path (without working around by producing it with the microcontroller and switching the line in to an analog output of the microcontroller wich is not really the best option here).

Would it be possible to add a "generateTone" function to the equalizerApp so that we could start with the industrialization process ?
(and maybe a start / stop input function ? , so that during the setup phase we don't have to worry about the line in ? )
Best regards

MAlex

ps: 3000 devices will be produced soon as a pre-commercial phasis, then it will depends on the market reaction .
My customer is actually as you may imagine very interested in the "all inside the VS1053" option we discussed for the second phasis.

User avatar
Henrik
VLSI Staff
Posts: 1033
Joined: Tue 2010-06-22 14:10

Re: Real Time Modification of G in Equalize mode

Post by Henrik » Fri 2016-02-26 16:11

Hello MAlex!
Malex wrote:I'v been following Panu's advice and did my first prototype using an external microcontroller, I have a 95% working prototype now.
My prototype has two modes, the first one is the setup mode, the second one is the running mode.

The running mode is working well, but to be able to finish the parameter mode, I need to be able to produce a tone to a certain frequency, enabling the user to set up the filters (corresponding to the frequency). As my VS1053 is programmed with the equalizerApp i don't think I have access to any sinTest functions therefore I'm not able to generate a tone into the audio path (without working around by producing it with the microcontroller and switching the line in to an analog output of the microcontroller wich is not really the best option here).

Would it be possible to add a "generateTone" function to the equalizerApp so that we could start with the industrialization process ?
(and maybe a start / stop input function ? , so that during the setup phase we don't have to worry about the line in ? )
I've just released v1.50 of the package, including a sine generator and some other new exciting features. The location is
http://www.vlsi.fi/en/support/software/ ... tions.html

I needed to change the UART interface a bit. I didn't take the old functions away so your old code should still work, but if you want to use the new features, you'll need to implement two new UART functions. It shouldn't take you more than a few minutes.

I didn't add a mute function, but you can very easily simulate it by writing 0xFEFE to SCI register SCI_VOL which turns volume all way down. Using the new UART protocol that would be "Xc00bfefe". Remember to turn volume back up again when creating a sine wave (e.g. "Xc00b0000").
ps: 3000 devices will be produced soon as a pre-commercial phasis, then it will depends on the market reaction .
My customer is actually as you may imagine very interested in the "all inside the VS1053" option we discussed for the second phasis.
Unfortunately that may be more difficult. The code is currently using 15.4 kilobytes of the 16 available, and although it isn't really size optimized, getting a main program running there might be prohibitively difficult. But let's have a look at that again when we get there.

Kind regards,
- Henrik
Good signatures never die. They just fade away.

User avatar
Malex
User
Posts: 14
Joined: Tue 2016-02-09 15:32
Contact:

Re: Real Time Modification of G in Equalize mode

Post by Malex » Fri 2016-02-26 22:53

Henrik,

Wow, this is awesome, i gonna start to work on it right away!
Thank you a lot!!

MAlex

Post Reply

Who is online

Users browsing this forum: No registered users