Samrat Man Singh
@samrat.me
Software engineer; climber; #ElixirLang Website: https://samrat.me Building https://octocut.com
Great presentations and conversation at the Elixir Berlin Meetup today 1/ Lukas talked about his big bag of Postgres tricks and techniques #elixirlang
I've just released Handoff, a new Elixir library for distributed function graph execution. hexdocs.pm/handoff Among other things, the library enables distributed Nx computations (anyone said distributed inference?) A huge part of this was sponsored by tvlabs.ai!
Handoff v0.1.0 — Documentation
hexdocs.pm
Introducing Tidewave: tidewave.ai While working on our web apps, we run code, query the database, read logs, search docs… but our AI tools are limited to reading code. Tidewave closes this gap by introducing Runtime Intelligence, for Phoenix and Rails. More coming soon, check out the website!
Tidewave
tidewave.ai
Demo: Making phone calls from Elixir I'm working on a Twilio plugin for the Membrane multimedia framework. The demo shows an outbound call, but receiving calls works too. #ElixirLang www.youtube.com/watch?v=4dhl...
Making phone calls from Elixir using Twilio
YouTube video by Samrat Man Singh
youtube.com
Testing Voice AI flows can become tedious fast But... you can just simulate conversations using another voice agent. Then, evaluate how the conversation went.
Got a small, standalone Python script working to use the new OpenAI transcription models(`gpt-4o-transcribe` and `gpt-4o-mini-transcribe`) using the Realtime WebSocket connection: samrat.me/standalone-o...
Standalone OpenAI transcription Python script
OpenAI announced some new audio models yesterday, including new transcription models(gpt-4o-transcribe and gpt-4o-mini-transcribe). This model performs better than Whisper, though because they are bui...
samrat.me
OpenAI's new TTS looks(and sounds) pretty great for the price. Also, I hope this pushes other providers to just price API usage by minute. Every other TTS provider(ElevenLabs, Cartesia, etc) currently have monthly credits pricing.
Phoenix now comes with DaisyUI. Looks like a great addition for non-designers(like me) #ElixirLang
New #ElixirLang tool LivebookTools lets you work on Livebook in your own editor and opens MCP access to cell outputs(so Cursor, etc) can automatically iterate on the code if the cell has errors github.com/thmsmlr/live...
GitHub - thmsmlr/livebook_tools: Powertools for livebook.dev — AI Code Editing, MCP Servers, and Running Livebooks from the CLI
Powertools for livebook.dev — AI Code Editing, MCP Servers, and Running Livebooks from the CLI - thmsmlr/livebook_tools
github.com
What does talk-prep look like? Bug-fixin' mostly @samrat.me darling, you have a PR :D github.com/samrat/kokor...
Fix concatenation issue for tensors by lawik · Pull Request #5 · samrat/kokoro
Nx.concatenate requires the same shape and very frequently a random chunk of text would not be the right shape. So it would blow up. The concatenate was avoidable so instead of a complex padding sc...
github.com
Pushed my first @replicate.com model, SmolVLM2 by @hf.co (@pcuenq.hf.co et al.) Will push the 500M and 2.2B models soon as well.
Voice models are getting scary good. This one feels very human: www.sesame.com/research/cro...
Crossing the uncanny valley of conversational voice
At Sesame, our goal is to achieve “voice presence”—the magical quality that makes spoken interactions feel real, understood, and valued.
sesame.com
I wrote up a post on how you can run AI models on Elixir that aren't yet supported by Bumblebee samrat.me/running-ml-m... #MyElixirStatus #ElixirLang
Running ML models in Elixir using Pythonx
I just discovered Pythonx, which runs a Python interpreter in the same OS process as Elixir. Looks like it also wraps uv so it sets up a virtual environment with all the Python dependencies your code...
samrat.me
Wow, this looks super useful for running models that aren't yet supported in Bumblebee(among other things) #ElixirLang github.com/livebook-dev...
GitHub - livebook-dev/pythonx: Python interpreter embedded in Elixir
Python interpreter embedded in Elixir. Contribute to livebook-dev/pythonx development by creating an account on GitHub.
github.com
Holy smokes this is awesome, a new debugger for Phoenix LiveView. Think React devtools, but not a chrome extension. github.com/software-man... #ElixirLang
We did it! Kokoro TTS (v1.0) can now run 100% locally in your browser w/ WebGPU acceleration. Real-time text-to-speech without a server. ⚡️ Generate 10 seconds of speech in ~1 second for $0. What will you build? 🔥
Interested in how to build voice AI apps in Elixir? Here's a blog post I wrote about building a Membrane pipeline that orchestrates audio/video communication between a browser and Google Gemini #ElixirLang blog.swmansion.com/building-a-m...
Building a Membrane Pipeline to Talk to Google Gemini
Elixir, together with the Membrane framework, is great for building pipelines that enable seamless communication between users and LLMs.
blog.swmansion.com
Interested in how to build voice AI apps in Elixir? Here's a blog post I wrote about building a Membrane pipeline that orchestrates audio/video communication between a browser and Google Gemini #ElixirLang blog.swmansion.com/building-a-m...
Building a Membrane Pipeline to Talk to Google Gemini
Elixir, together with the Membrane framework, is great for building pipelines that enable seamless communication between users and LLMs.
blog.swmansion.com
Had some fun generating speech using the Elixir Kokoro implementation by @samrat.me. Made a script for typing stuff and getting the talky-talk. github.com/samrat/kokor... So a bit of ONNX, some Erlang Ports, Membrane :D #elixirlang
Mix.install-based example beyond raw audio · Issue #4 · samrat/kokoro
This will start prompting your terminal for input and speak it to your default audio output. I have this other example unrelated to TTS that includes working with files and MP3s. #!/usr/bin/env eli...
github.com
Reworking the Livebook for Kokoro(🔊 text-to-speech model). Now, you get a text input to input text you want read out loud(or whispered) to you. #MyElixirStatus #ElixirLang
Writing up a blog post about this. Not sure how much of it should be an introduction to Membrane. #ElixirLang
Got Gemini Multimodal Live API working with Membrane WebRTC. Here's me having a short chat with it #ElixirLang youtu.be/JxWE3pxyGqA
Elixir bindings for Kokoro TTS github.com/samrat/kokoro #ElixirLang
GitHub - samrat/kokoro: Elixir bindings to Kokoro-82M text-to-speech model
Elixir bindings to Kokoro-82M text-to-speech model - samrat/kokoro
github.com
More voice AI exploration: Bumblebee doesn't currently support text-to-speech models, but managed to get Kokoro TTS working with Ortex Demo 👇 youtu.be/VFKX6Af9gs4
More voice AI exploration: Bumblebee doesn't currently support text-to-speech models, but managed to get Kokoro TTS working with Ortex Demo 👇 youtu.be/VFKX6Af9gs4
Elixir text-to-speech with Kokoro
YouTube video by Samrat Man Singh
youtu.be
I've been building a small voice AI app. So far, both OpenAI Realtime and Gemini Multimodal Live seem very unreliable with function calling. And Gemini insists that it did the function call😅
Got Gemini Multimodal Live API working with Membrane WebRTC. Here's me having a short chat with it #ElixirLang youtu.be/JxWE3pxyGqA
Talking to Gemini Multimodal Live with Membrane WebRTC
YouTube video by Samrat Man Singh
youtu.be
Boring title, but this is a delightful read on China, travel and life www.dwarkeshpatel.com/p/notes-on-c...
Notes on China
Last month, I spent 2 weeks in China - I visited Beijing, Chengdu, Emeishan, Chongqing, Shanghai, and Hangzhou.
dwarkeshpatel.com
Trying to add interruption support to github.com/membranefram... (the API already returns events for when it detects it got interrupted, but I'm having trouble stopping playback 🤔) Currently trying to wrap my head around Membrane's manual demand mode. #ElixirLang
membrane_demo/livebooks/openai_realtime_with_membrane_webrtc/openai_realtime_with_membrane_webrtc.livemd at master · membraneframework/membrane_demo
Examples of using the Membrane Framework. Contribute to membraneframework/membrane_demo development by creating an account on GitHub.
github.com