Realtime MP3 encoder 48kHz Stereo

psychoacoustic
Posts: 9
Joined: Sun Feb 10, 2019 4:18 am

Re: Realtime MP3 encoder 48kHz Stereo

Postby psychoacoustic » Sun Dec 08, 2019 11:03 pm

@all

Sorry for the delay, I've been extremely busy.

https://github.com/fknrdcls/mp3_shine_esp32

Be warned this code is:
8 Months Old.
Messy and half way to dual core implementation but currently works fine.
Unknown compatibility with the current IDF.

Let me know how you go.

Cheers!

PaulNi
Posts: 41
Joined: Tue Nov 07, 2017 3:50 pm

Re: Realtime MP3 encoder 48kHz Stereo

Postby PaulNi » Mon Dec 09, 2019 11:49 am

Have anybody tried it? How does it compares to, say, VS1063 in power consumption?

psychoacoustic
Posts: 9
Joined: Sun Feb 10, 2019 4:18 am

Re: Realtime MP3 encoder 48kHz Stereo

Postby psychoacoustic » Mon Dec 09, 2019 8:12 pm

PaulNI, no comparison, if using a dedicated encoder ASIC is an option for your project then use that. Keep in mind that these chips seem to be retiring, from a quick search, they also cost more than an entire ESP32 dev board for just the chip. Can you find a reliable supply for these?

PaulNi
Posts: 41
Joined: Tue Nov 07, 2017 3:50 pm

Re: Realtime MP3 encoder 48kHz Stereo

Postby PaulNi » Tue Dec 10, 2019 10:56 am

psychoacoustic wrote:
Mon Dec 09, 2019 8:12 pm
PaulNI, no comparison, if using a dedicated encoder ASIC is an option for your project then use that. Keep in mind that these chips seem to be retiring, from a quick search, they also cost more than an entire ESP32 dev board for just the chip. Can you find a reliable supply for these?
Finding reliable supply of standalone codec chips is a big problem. VLSI systems codecs are really last ones with both encoding and decoding, and some useful extra features. There are of course dedicated SoCs for MP3 players, but my intention was to use them in existing MCU products without having to redesigns everything.

Sigmatel, STM, ATMEL, Samsung all had dedicated codecs, but they sunseted them, and tried to force their buyers to use their SoCs instead. That didn't go well. Most Chinese factories just closed the shop, and went after the next big thing rather than trying to squeeze remaining value out of MP3 players.

Really, things are so dire now with MP3 codecs that at some point, some people, suggested doing our own low volume IC tapeout.

User avatar
Jakobsen
Posts: 89
Joined: Mon Jan 16, 2017 8:12 am

Re: Realtime MP3 encoder 48kHz Stereo

Postby Jakobsen » Tue Dec 10, 2019 10:27 pm

Hi PoulNi

There are so many possibilities if you want to receive and process audio. And on the ESP32 ESP-IDF you can choose what fits your project.
I agree that the dedicated MP3 decoder IC fading out and VLSI from Finland was and is the only one to play that marked.

Going all software mp3 was nicely show by Sprint way back on the 8266 and take to ESP32 by BuddyCasino some year ago.
I have moved on and uses the Opus coder for my audio streaming. The open source implementation is simple to use, it is fast, low latency and easy to use and integrated as an IDF component.

Image

I thing it is very much up to the end project that y are doing - what solution fits your needs. Power consumption, complexity, PCB foot print/size.
I my case I has prioritized a one single IC/MCU that serve all my audio processing needs: World class open SDK on FreeRTOS, BT and Wifi connectivity, plenty of MCU MIPS for audio decoding, DSP algorithms and I2S hardware. On top of this a very open community porting high quality well proven open source code to ESP32. Hard not to be happy :-)

Regards Jakobsen
Analog Digital IC designer / DevOps @ Merus Audio, Copenhagen, Denmark.
We do novel and best in class Audio amplifiers for consumer products.
Programmed assembler for C-64 back in 1980's, learned some electronics - hacking since then

psychoacoustic
Posts: 9
Joined: Sun Feb 10, 2019 4:18 am

Re: Realtime MP3 encoder 48kHz Stereo

Postby psychoacoustic » Wed Dec 11, 2019 12:37 am

Another thing to consider is the move to MP3s successor AAC. AAC is free to use without a license if you use an open source implementation. If you make your own VHDL and commit that to an ASIC you're up for license fees. So using widely available SoCs with some DSP instructions using open source AAC libs is the cheaper way to go.

GregxxxM
Posts: 1
Joined: Sun Mar 01, 2020 8:24 am

Re: Realtime MP3 encoder 48kHz Stereo

Postby GregxxxM » Sun Mar 01, 2020 8:51 am

I'm glad to see this seems to be an ongoing project.

IMHO a standalone box with stereo audio input, MP3 (or AAC) encoding, and then serving the audio via an integral wifi access point, would be an extremely interesting product.

Are you familiar with the Rockbox project? They're writing new firmware for a large number of commercial portable audio players/recorders, providing improved/increased functionality. I don't know whether they could offer any insight into chip sources or encoding tricks but you might be interested in looking at what they're doing.

dasongshu
Posts: 1
Joined: Sat Jan 01, 2022 1:31 am

Re: Realtime MP3 encoder 48kHz Stereo

Postby dasongshu » Sat Jan 01, 2022 1:34 am

hi,I am very interested in this project, could you please leave your email,my email is 535139@qq.com.

anton-malakhov
Posts: 1
Joined: Sun Sep 24, 2023 3:14 pm

Re: Realtime MP3 encoder 48kHz Stereo

Postby anton-malakhov » Sun Sep 24, 2023 3:37 pm

I'm happy to share with you guys the new fork of mp3_shine_esp32 codec, where I continued the work started by psychoacoustic. It is ported to IDF5, packaged as its component, supplied with an example/benchmark, and tuned a bit for performance.
Please enjoy:

https://github.com/anton-malakhov/mp3_shine_esp32

The performance is good for realtime processing, it was tested on the supplied example with 48K/16bit, 2 channels input, 256 bit rate output on the following hardware:
  • ESP32-S3: Single core takes 53.4% of real time
  • ESP32-S2 Mini: Takes 56.9% of real time
  • ESP32 (WT32-ETH01): Single core takes 71.6%
Though the question is why I observe lower numbers than in the initial post. I've never seen such good numbers on single core with IDF5. Let's keep improving it together :) looking for feedback, please don't hesitate to open issues and submit PRs.

Who is online

Users browsing this forum: No registered users and 164 guests