# Julia used to prototype Whatsapp audio

**URL:** <https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626>\
**Category:** General Usage\
**Tags:** industry\
**Created:** [June 13, 2024, 11:21pm UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626 "2024-06-13T23:21:42Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dan/32/42581_2.png) [@Dan](https://discourse.julialang.org/u/Dan)\
**Post date:** [June 13, 2024, 11:21pm UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/1 "2024-06-13T23:21:42Z")

</div>

This isn’t a big thing, Julia is just powering EVERY SINGLE VOICE CALL in WHATSAPP across the world (maybe this is a slight exaggeration) but check it out:

[![](https://global.discourse-cdn.com/julialang/original/3X/4/a/4a2884febe38698ba3beebca8b4c49411cfa0f01.jpeg "Revamping Audio Quality for RTC: MLow Audio Codec | Sriram Srinivasan, Jatin Kumar, Bikash Agarwalla") ](https://www.youtube.com/watch?v=3ypsZUNRjI4)

(relevant bit starts at 8min 12s)

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [June 14, 2024, 5:53am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/2 "2024-06-14T05:53:07Z")

</div>

Although it looks like they weren’t able to solve the two language problem…

---

<div class="post-metadata">

**Author:** ![AMJ](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/amj/32/214096_2.png) [@AMJ](https://discourse.julialang.org/u/AMJ)\
**Post date:** [June 14, 2024, 8:59am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/3 "2024-06-14T08:59:27Z")

</div>

Probably because of binary size and memory management limitations.

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [June 14, 2024, 9:30am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/4 "2024-06-14T09:30:07Z")

</div>

Nonetheless, I do think this is a very cool application of Julia.

Would you mind changing the title? You’ve buried the lede here. I’m thinking “Julia used Prototype Whatsapp audio”

---

<div class="post-metadata">

**Author:** ![giordano](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/giordano/32/2166_2.png) [@giordano](https://discourse.julialang.org/u/giordano)\
**Post date:** [June 14, 2024, 10:25am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/5 "2024-06-14T10:25:39Z")

</div>

True, but this reminds me of [a talk at the Scientific Computing with Rust conference](https://discourse.julialang.org/t/blog-post-rust-vs-julia-in-scientific-computing/101711/10) where the researchers did the initial prototype in Julia because it was easy for them to implement and debug mathematical algorithms, but then the final product was in Rust because it better matched their requirements. While this is not what we’d like to hear, I think it’s interesting to see that some people do appreciate Julia’s expressiveness for these tasks, even though it doesn’t end up in the final product.

---

<div class="post-metadata">

**Author:** ![Datseris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datseris/32/13406_2.png) [@Datseris](https://discourse.julialang.org/u/Datseris)\
**Post date:** [June 14, 2024, 11:16am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/6 "2024-06-14T11:16:13Z")

</div>

I still think this is still a huge success for Julia. It shows us parts that need improvement to support industrial deployment in some topics, and things that are great (although, we know the latter already 😉 expressivity, and the signal analysis tools)

---

<div class="post-metadata">

**Author:** ![Datseris](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/datseris/32/13406_2.png) [@Datseris](https://discourse.julialang.org/u/Datseris)\
**Post date:** [June 14, 2024, 11:17am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/7 "2024-06-14T11:17:36Z")

</div>

May I also congratulate the speaker for an excellent presentation. The slides, pacing, explanation, and content, were all top notch.

---

<div class="post-metadata">

**Author:** ![stephenll](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stephenll/32/28751_2.png) [@stephenll](https://discourse.julialang.org/u/stephenll)\
**Post date:** [June 14, 2024, 11:23am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/8 "2024-06-14T11:23:33Z")

</div>

I’m in a similar position at my job. All my work/research is in Julia but because of the corporate IT overlords, my work ultimately gets ported to either Python or c#.

Although after the last port that took several weeks to get my JuMP code working in Python despite it taking me only a few hours to write the Julia code we are going to try to stand up a rest API to call a Julia function on a deployed docker container. There is hope!

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [June 14, 2024, 11:30am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/9 "2024-06-14T11:30:33Z")

</div>

> [@giordano](#):
>
> While this is not what we’d like to hear

Yes, it is what we should like to hear. Because it tells us, there is more for Julia to achieve than “just” data analysis. Julia is on the way for tasks like this, it only needs the small binaries (best would be cross platform, which is probably easy than) which is just a matter of time, hopefully.

---

<div class="post-metadata">

**Author:** ![GeorgeGkountouras](https://avatars.discourse-cdn.com/v4/letter/g/77aa72/32.png) [@GeorgeGkountouras](https://discourse.julialang.org/u/GeorgeGkountouras)\
**Post date:** [June 14, 2024, 11:58am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/10 "2024-06-14T11:58:59Z")

</div>

The fact that people are putting up with all these workarounds indicates how much a Julia compiler is needed.

---

<div class="post-metadata">

**Author:** ![Daniel\_Gonzalez](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/daniel_gonzalez/32/52412_2.png) [@Daniel\_Gonzalez](https://discourse.julialang.org/u/Daniel_Gonzalez)\
**Post date:** [June 14, 2024, 8:19pm UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/11 "2024-06-14T20:19:59Z")

</div>

One interesting bit here is the workflow; in this instance (as opposed to, e.g. the Clarabel stuff @giordano mentions here), the C port was done in _incremental_ fashion, leveraging C-Julia interoperability. It’s not the “finally solving the two-language problem through static compilation” dream but it’s noteworthy, I feel.

---

<div class="post-metadata">

**Author:** ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)\
**Post date:** [June 15, 2024, 2:25am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/12 "2024-06-15T02:25:42Z")

</div>

Wow! This approach of having a 1:1 interoperability between Julia and C/C++ is exactly what we are using to develop our next-gen satellite attitude controller, as I explained in the last JuliaCon. It is amazing to see another very interesting use case of a similiar development approach.

---

<div class="post-metadata">

**Author:** ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)\
**Post date:** [June 15, 2024, 8:14am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/13 "2024-06-15T08:14:27Z")

</div>

I wish the Julia lang website could explain how industry and academia use Julia like the Go lang website does. It’s a shame that so few people know about the cool projects that use Julia.

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [June 15, 2024, 8:35am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/14 "2024-06-15T08:35:06Z")

</div>

> [@xiaoxi](#):
>
> I wish the Julia lang website could explain how industry and academia use Julia like the Go lang website does. It’s a shame that so few people know about the cool projects that use Julia

A perfect case for the [forem](https://forem.julialang.org/) platform. How about writing something @Ronis_BR , @stephenll 😉 (hmmm can’t ping those people from META 🤣 )

---

<div class="post-metadata">

**Author:** ![xiaoxi](https://avatars.discourse-cdn.com/v4/letter/x/a9adbd/32.png) [@xiaoxi](https://discourse.julialang.org/u/xiaoxi)\
**Post date:** [June 15, 2024, 10:45am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/15 "2024-06-15T10:45:48Z")

</div>

> [@oheil](#):
>
> A perfect case for the [forem](https://forem.julialang.org/) platform.

It would be great if industry and academia would show how they use Julia. But it doesn’t have to be a blog post. There are many other ways. The Julia lang website could use quotes or links to videos or papers to show the growing adoption of Julia.

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [June 15, 2024, 10:49am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/16 "2024-06-15T10:49:24Z")

</div>

> [@xiaoxi](#):
>
> But it doesn’t have to be a blog post.

Of course, but we are missing good new articles there 🤷‍♂️

---

<div class="post-metadata">

**Author:** ![Ronis\_BR](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ronis_br/32/50999_2.png) [@Ronis\_BR](https://discourse.julialang.org/u/Ronis_BR)\
**Post date:** [June 15, 2024, 11:59am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/17 "2024-06-15T11:59:19Z")

</div>

I will try! 🙂

---

<div class="post-metadata">

**Author:** ![Phil\_Tomson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/phil_tomson/32/3575_2.png) [@Phil\_Tomson](https://discourse.julialang.org/u/Phil_Tomson)\
**Post date:** [June 18, 2024, 4:43pm UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/18 "2024-06-18T16:43:43Z")

</div>

Might be interesting to have a Julia → C++ code generator.

They say they used C++ in the final code - I’d guess they also used a C++ library like Eigen or similar, which would make the translation easier.

---

<div class="post-metadata">

**Author:** ![mrufsvold](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mrufsvold/32/31600_2.png) [@mrufsvold](https://discourse.julialang.org/u/mrufsvold)\
**Post date:** [June 18, 2024, 5:00pm UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/19 "2024-06-18T17:00:22Z")

</div>

A Julia → C++ transpiler would need type stable Julia Code, no? If so, I don’t see how that’s better than just confirming to the requirements of StaticCompiler.jl.

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [June 19, 2024, 12:03am UTC](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626/20 "2024-06-19T00:03:22Z")

</div>

> [@Phil\_Tomson](#):
>
> Might be interesting to have a Julia → C++ code generator.
> 
> They say they used C++ in the final code - I’d guess they also used a C++ library like Eigen or similar, which would make the translation easier.

I’m pretty sure that is what this is:

> [@SyslabCC: Suzhou-Tongyuan's proprietary Julia AOT compiler is now available for free use (personal & educational license only)](https://discourse.julialang.org/t/syslabcc-suzhou-tongyuans-proprietary-julia-aot-compiler-is-now-available-for-free-use-personal-educational-license-only/114633/):
>
> This is an unofficial announcement of the Julia AOT compiler (SyslabCC) created by [Suzhou-Tongyuan](https://www.tongyuan.co/), and I am the one who lead the compiler team and designed the architecture. This compiler is now integrated into [MWORKS.Syslab](https://www.tongyuan.cc/Download), and you can find the documentations for the compiler at [SyslabCC](https://www.tongyuan.cc/help/SyslabHelp.html#/Doc/CodeGenerator.html). Unfortunately, it is written in Chinese due to our bandwidth, and I hope our circumstance not bother you much. As an overview, I’d give as follow the features that the community would probably care about: …

[Next page](https://discourse.julialang.org/t/julia-used-to-prototype-whatsapp-audio/115626.md?page=2)
