# I KNOW that this is possible

**URL:** <https://forum.makecode.com/t/i-know-that-this-is-possible/21651>\
**Category:** micro:bit\
**Created:** [August 2, 2023, 9:02pm UTC](https://forum.makecode.com/t/i-know-that-this-is-possible/21651 "2023-08-02T21:02:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![urassari](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/urassari/32/9535_2.png) [@urassari](https://forum.makecode.com/u/urassari)\
**Post date:** [August 2, 2023, 9:02pm UTC](https://forum.makecode.com/t/i-know-that-this-is-possible/21651/1 "2023-08-02T21:02:13Z")

</div>

playing mp3’s. i know, it sounds impossible with an audio output with 1 frequency at a time, but if we compress it enough, and play the different frequencies as fast as possible, I’m sure that it’s possible.(and also, it would be made for sound effects for micro:bit V1 or very short voice clips)

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [August 2, 2023, 11:18pm UTC](https://forum.makecode.com/t/i-know-that-this-is-possible/21651/2 "2023-08-02T23:18:45Z")

</div>

The hardware is certainly capable of, but MakeCode does not expose any APIs for quickly playing many samples in a buffer. You definitely could not do this manually JavaScript.

---

<div class="post-metadata">

**Author:** ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)\
**Post date:** [August 2, 2023, 11:25pm UTC](https://forum.makecode.com/t/i-know-that-this-is-possible/21651/3 "2023-08-02T23:25:07Z")

</div>

we’ll definitely never add support for mp3s as they use a proprietary codec

that being said, it is certainly possible for the hardware to play music or some sort of recording (see the microphone blocks for the v2 which do exactly that). however, doing this on the micro:bit v1 is almost certainly impossible with makecode. the v1 has very limited flash space for storing programs; we already run into issues fitting normal sized programs onto a board. fitting a program _and_ an audio file into that space would be very difficult.

---

<div class="post-metadata">

**Author:** ![UnsignedArduino](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/unsignedarduino/32/592_2.png) [@UnsignedArduino](https://forum.makecode.com/u/UnsignedArduino)\
**Post date:** [August 3, 2023, 4:29pm UTC](https://forum.makecode.com/t/i-know-that-this-is-possible/21651/4 "2023-08-03T16:29:26Z")

</div>

> [@richard](#):
>
> mp3s as they use a proprietary codec

I thought the codec patent expired a year or two ago. Plus I know they have libraries for decoding in Arduino and CircuitPython.

* * *

It’s definitely possible to do that in those two languages, maybe MicroPython as well. But definitely, Arduino, because it is in C++.

---

<div class="post-metadata">

**Author:** ![richard](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/richard/32/5417_2.png) [@richard](https://forum.makecode.com/u/richard)\
**Post date:** [August 3, 2023, 4:39pm UTC](https://forum.makecode.com/t/i-know-that-this-is-possible/21651/5 "2023-08-03T16:39:59Z")

</div>

> I thought the codec patent expired a year or two ago.

It’s complicated…

---

<div class="post-metadata">

**Author:** ![urassari](https://sea2.discourse-cdn.com/flex020/user_avatar/forum.makecode.com/urassari/32/9535_2.png) [@urassari](https://forum.makecode.com/u/urassari)\
**Post date:** [March 23, 2024, 5:16pm UTC](https://forum.makecode.com/t/i-know-that-this-is-possible/21651/6 "2024-03-23T17:16:20Z")

</div>

sorry for coming to this topic back too late but I’ve made some research and also got a V2 micro:bit and now i realize that instead of .mp3’s, why not use .wav? (and also, since it is impossible to make this an extension, maybe the developers could add this as a feature like the recording, maybe?) and if this seems like a useless idea (because there is the recording extension), then they should add making multiple recordings as variables, or if it doesn’t feel like a useless idea, then maybe both can be added at the next big makecode micro:bit update. (i hope it does)
