We have an Invensense INMP421 that is planned to go to an ADAUl7002 to get to I2S communications. We want to use a vocoder and would like to know what is compatible with this setup.
You could read register values via I2C with a command from your MCU. Another option is simply to use an I2S output to transmit data instead of audio, that could be more convenient if you need a constant stream of output data.
-1401 doesn't have ASRCs, you'd need one of the SigmaDSP chips that does to manage that. That could be -144x, -145x, or something smaller like -1772 might work, depending on what you need to do.
I gather from your question that you want to program a vocoder function using one of our DSPs right? I will move this over to our SigmaDSP part of the forum where others might chime in to help with that setup.
Once you get the microphone PDM signal translated into I2S using the ADAU7002, then you can go into any DSP to process the audio. As long as it is not running at 5V for IOVDD.
I just noticed your responses on an earlier post: https://ez.analog.com/message/182683#182683
Sorry, we don't get automatically notified of new responses and I usually check back but I missed yours. So I will continue it here.
Yes, you can use the ADAU1446 to process the audio. It has plenty of I2S inputs and a reasonable amount of DSP processing power.
You certainly can use the ADAU1450 as well. The advantage with this part is that it has PDM inputs so you would not have to use the ADAU7002 to convert from PDM to I2S. This processor is more powerful but may be way more than you need. There are advantages and disadvantages to both and you will have to look at the rest of your system and your application to help make the decision. Look at power dissipation and costs. If you are running off of batteries then you may want to go to a smaller DSP like the ADAU1401A.
We are now thinking of inputting I2S microphones into the ADAU1761 or similar, do some beamforming, and also output the audio as I2S to go to another DSP chip. We also want to at the same time use the I2C interface to send processed information, such as for beamforming or direction finding, send the calculated direction out on the I2C interface.
Is that doable?
We are creating a battery powered device and the ADAU1401A looks interesting. Possibly two options:
1. Can the 1401A output the audio in two different frequencies or sampling rates.
2. Can the 1401A output the audio in a different frequency than the input?
Jon is right that you would need to use a part with a sample rate converter if you want different input or output rates. If you are doing the conversion in another external DSP then perhaps all you need is a codec and we do have codecs where you can run the ADC and the DAC sides of the part at different sample rates. Now, if you are taking in the mics as I2S data then you do not need ADCs at all, so a DAC is all you would need. That opens it up to other choices.
Regarding using I2C for transmitting processed data, that will not work. In the SigmaDSP products you do not have access to the data RAM in the DSP. You can update parameter RAM but that is it. Communications back from the core is via simple GPIO where it is a high or low. The best way to accomplish what you want to do is by using a TDM8 serial stream and delegating one of those channels for the processed data.
Great, we now working with the ADAU1452 evaluation board with ADAU1450 being the planned chip to use in our circuit.
Since no one has answered your original question (Does AD have a vocoder?), likely they don't. For some time I've been trying to make one from standard filters and such, despite not knowing much about them. In this design, incoming voice modulates either internal sawtooth oscillators or a second external input (guitar, etc.) to mimic the voice's spectral content. With the internal oscillators and a podcast voice input, my friend says it sounds like the Babelfish translation of Vogon speech from the original Hitchhiker's Guide to the Galaxy radio show. I have no idea how it would do modulating a guitar, me not being a musician. I attached the beast in case anyone feels like playing with it (using the -1452 mini eval board).
Will take a look at this.
Thanks for posting,
Also, KJBob, do you know how much compression you get?
There's no compressor explicitly built into this project, although one could always be added if needed. As mentioned above I'm not an expert in effects such as this -- so I wouldn't know if compression is an expected or inherent quality with vocoders. I just enjoy putting these wonderful SigmaDSPs to work doing whatever fun stuff I can think of.
Retrieving data ...