<story><title>Shine: A super fast fixed-point MP3 encoder</title><url>https://github.com/toots/shine</url></story><parent_chain></parent_chain><comment><author>ghoul2</author><text>Wow, nice seeing this here. Shine was a life saver when I was building the live broadcast capability of othernet.is.&lt;p&gt;Our Satellite link was really low bitrate ( less than 20kbps). I wanted to keep as much of that as possible for the data-casting part, which was our core offering. So after experimenting with varioud codecs I narrowed down to using Opus@8kbps as my downlink from the satellite to our custom receivers. The problem was, Opus wasn&amp;#x27;t natively supported as a codec by most browsers (Safari being a major culprit). In fact after analysis, I found the only format that could be reliably played on every browser (including mobile) is mp3. So the solution I derived was to have the downlink in opus, decode that on the reciver, reencode it to mp3, and stream that out to the users browser. Now the reciever was a very low end linux device - 1GHz Arm6, 256MB ram - that ran the entire stack. Satellite receiver, UI server, filesystem maintenance, Wifi Hotspot (softAP). We also didn&amp;#x27;t want to load it down with large heat sinks or fans as a design goal. So the cpu could not be loaded to its full capacity. Every other MP3 encoder I tried was too heavy duty, and would cause thermal issues for the SoC. But Shine worked perfectly - total cpu consumption remaining less than 10% for real time decoding (from opus) and encoding (to mp3).</text></comment>
<story><title>Shine: A super fast fixed-point MP3 encoder</title><url>https://github.com/toots/shine</url></story><parent_chain></parent_chain><comment><author>duskwuff</author><text>And for the other direction, there&amp;#x27;s minimp3: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;lieff&amp;#x2F;minimp3&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;lieff&amp;#x2F;minimp3&lt;/a&gt;&lt;p&gt;I&amp;#x27;ve used minimp3 to implement a MP3 player on a STM32 microcontroller. Works great -- it has no problem playing a 256kbps file at 80 MHz. :)</text></comment>