# Setup a Custom Voice in Hume & Integrate It with Flutter ## Metadata - **Published:** 2/17/2025 - **Duration:** 11 minutes - **YouTube URL:** https://youtube.com/watch?v=b-LYVfgJj8Q - **Channel:** nerding.io ## Description Unlock the power of custom voices with Hume and bring them to life in your Flutter app! In this step-by-step tutorial, we walk you through setting up a custom voice in Hume and integrating it seamlessly into a Flutter project. This video covers: - Hume Setup: How to create and configure your custom voice. - Flutter Integration: Connecting your Flutter app to Hume’s API and using your custom voice. - Live Demo: Watch as we build and test the integration in real-time. Whether you're developing voice-enabled applications or just exploring innovative ways to enhance user experience, this guide provides all the tools and tips you need to get started. πŸ‘‰πŸ» Text Yourself: https://textyourself.app πŸ“° Newsletter: https://sendfox.com/nerdingio πŸ“ž Book a Call: https://calendar.app.google/M1iU6X2x18metzDeA πŸŽ₯ Chapters 00:00 Introduction 00:29 Dashboard 01:37 API 02:31 Custom Voice 05:27 Flutter 08:44 Demo πŸ”— Links https://www.hume.ai/ https://dev.hume.ai/docs/empathic-voice-interface-evi/voices https://github.com/HumeAI/hume-api-examples/tree/main/evi-flutter-example ‡️ Let's Connect https://nerding.io https://twitter.com/nerding_io https://www.linkedin.com/in/jdfiscus/ https://everefficient.ai https://www.linkedin.com/company/ever-efficient-ai/ ## Key Highlights ### 1. Hume Custom Voice Creation Demonstrates how to create a custom voice using Hume's dashboard and API, highlighting the ability to adjust voice attributes and create new versions of existing voices. ### 2. Flutter Integration Example Shows how to integrate a Hume custom voice into a Flutter application, leveraging websockets for text-to-speech functionality. Includes setup and dependency installation instructions. ### 3. Configuration and Environment Variables Explains how to configure the Hume integration by using the configuration ID and necessary environment variables, showing where to obtain and apply the keys. ### 4. SDK Availability Highlights Hume's wide SDK support, including Flutter, Next.js, Python, and React Native, emphasizing its ease of use and comprehensive documentation. ## Summary ## Video Summary: Setup a Custom Voice in Hume & Integrate It with Flutter **1. Executive Summary:** This tutorial provides a step-by-step guide on creating a custom voice using Hume's platform and integrating it into a Flutter application. The video demonstrates both the Hume dashboard interface and API functionalities for voice creation and configuration, alongside the Flutter integration process using websockets for text-to-speech conversion. **2. Main Topics Covered:** * **Hume Custom Voice Creation:** Using the Hume dashboard and API to create and configure custom voices, including attribute adjustments (masculinity, assertiveness, etc.) and voice testing. * **Hume Configuration:** Creation or updating of Hume configurations to utilize custom voices, including selecting the desired voice and language model. * **Flutter Integration:** Downloading and setting up a pre-built Flutter example project provided by Hume for integrating with the custom voice. * **Environment Setup:** Configuring the Flutter app with the necessary Hume API keys and configuration ID obtained from the Hume dashboard. * **Real-Time Demo:** Showcasing a live demo of the Flutter application interacting with the Hume custom voice API to generate text-to-speech output. **3. Key Takeaways:** * **Custom Voice Creation Ease:** Hume offers a user-friendly interface and API for creating custom voices by adjusting attributes and even creating new versions of existing voices. * **Simplified Flutter Integration:** Hume provides a complete Flutter example, simplifying the integration process and allowing developers to quickly implement custom voice functionality. * **Configuration is Key:** Properly configuring the Hume setup and Flutter app with the correct API keys and configuration ID is crucial for successful integration. * **Versatile SDK Support:** Hume supports various SDKs including Flutter, Next.js, Python, and React Native, showcasing its wide range of applications and ease of use. **4. Notable Quotes or Examples:** * *"...you can actually create an a new version of the existing voice so take that voice and then uh change the parameters based on what you've already been using so it doesn't necessarily edit it it's just creating a new version which I thought was super interesting..."* - Highlights the versioning capability for custom voices. * The video walks through selecting different attributes for the voice, such as masculinity, assertiveness, calmness, and buoyancy, and testing the voice based on these attributes. * The presenter demonstrates how to grab the config ID from the Hume dashboard and place it into the environment variables of the Flutter project. * The live demo displays how the Flutter application takes text input and uses the configured custom voice to generate spoken audio. **5. Target Audience:** * Flutter developers interested in incorporating custom voice functionality into their applications. * Developers exploring text-to-speech solutions and looking to leverage Hume's platform. * Individuals interested in creating and configuring custom AI voices for various applications. * Developers looking to enhance user experience through voice-enabled features in their apps. ## Full Transcript hey everyone welcome to nerding IO I'm JD and we actually got a request in the comments to go through Hume custom voice so we're going to go through that and then I also noticed that they came out with a flutter example which I've been making some games in so we're going to go through both of those today with that let's get started all right so the first thing that we're going to do is we're actually going to go through the Hume dashboard and we can actually create a voice so if you go into voices and then you have all these default base voices that we can actually use in our uh creation of a voice and you can actually see on the uh the custom voices that you know it's experimental it's really as easy as clicking this button but they also have a guide and API resources so we're going to take a look at when we actually create a voice here all we really need to do is have a name and then we can see what all these different variables are as well as down here test if you really want to understand what those variables are or attributes you can actually come to the guide itself there's a full walkr here to kind of talk about um how you can create these these voices but you can see each attribute is supposed to give you almost like a range in how the voice and tone is going to be reflected and so what we're going to do is we'll uh create a voice through the guey but I also wanted to show you that you can do all of this through the API so you can actually create a custom voice maybe based on the content and the parameters that you want to associate with that uh as well so for instance not only can you list your custom voices but you can create your custom voice and then I actually thought this was kind of interesting not only can you create your custom voice through the um the the model here and even like test it you can actually create an a new version of the existing voice so take that voice and then uh change the parameters based on what you've already been using so it doesn't necessarily edit it it's just creating a new version which I thought was super interesting so let's go back and we'll actually just go through and create a voice so we're going to say maybe uh masculine doesn't have range just masculine or feminine so we're going to say masculine we maybe say we're a little bit uh assertive uh much more calm we'll say a little more buoyancy more tight more clear and we'll say more smooth and then uh I say a little more rigorous and then we can actually come down here and test the voice and so again what what happened is we actually took this off the very first base voice of the default so we're going to leave our settings here and we're actually going to go and change that uh we'll do Sunny real quick everyone if you haven't already please remember to like And subscribe it helps more than you know also please go check out text yourself it's a simple application that I built that helps keep me on track all you have to do is SMS different tasks and reminders that you need to be sent back to yourself with that let's get back to it and so one thing I noticed is if you're playing and you try and change it it'll automatically just stop because it's going to reconfigure and generate the new voice over again so now what you can do is go ahead and create and you actually have uh a voice and you can either add it to a config right here or we can actually go into the config and uh create like this will create a new one or we can go into an existing config and actually choose what we're going to do so we're actually going to take an existing config and we'll say based on the last one see even here we have sunny I can get my config ID and I can even run this in the playground but what we're going to do is choose then there's an existing custom voices this is the voice that we just created and now we have this assigned to our configuration that we actually have already built and if you don't know how to build these configurations you uh check out the video above and uh it'll help you get started in you also going to make sure that we have a a newer model you can have um you know Claude or gemini or even use the default model we're going to stick with 40 mini just for ease of use since that's what we used in the previous video and we want to make sure that we have ev2 which is a more stable release and it's a also multim model so now what we're going to do is we'll go ahead and save this configuration and we're going to load this into the flutter example and so if you go to to the Hume examples they actually have this flutter example that you can download and you can notice that you have Android uh iOS and even web all associated in one project which is super interesting so what we're going to do is we're actually going to pull this down we'll get it set up and we're actually going to run the emulator I'm I'm going to use it on an Android device uh because that's what I've been leveraging lately there's nothing that you says you can't can't use iOS or even the web and so uh another thing is if you're using the Android emulator you want to make sure you have a virtual microphone uh and follow these instructions but really all you have to do is clone this down and we're going to jump over to the project and see so all we're going to do is we're actually going to just run this uh the first thing that you have to do is make sure once you clone it you actually do a PL uh flutter Pub gtit this basically installs all the dependencies and let's actually look at what the some of the dependencies are so really just uses the uh right here the web sockets right we know that Hume is actually doing uh using websockets to pass through the the text and then generate the audio again this is how we're actually going to listen to the audio and so if we look at the uh uh uh environment variables really all we need is our Hume ID and our Hume config and so you remember when we were over in the dashboard we actually had a our config ID right here we just have to grab that and we can put it in our environment variable I also thought this was was pretty interesting you can actually have a way to uh authenticate through your url if you want to so all we're going to do now is we are going to do flutter run and this might take a few minutes especially if you're doing this for the first time it it might even take like up to five minutes so I'm going to go ahead and pause all right and so now this is actually loaded uh again you'll probably see a different message since this is the uh second or third time that I've actually run this and so you have a list of commands here that you can actually use where you can run the flutter portion right so you can actually reload restart or actually list any other commands so the other thing that we're going to look at is we need to make sure that we have Android Studio running you can see that I have it running here I'm just going to use the pixel 7 and then it'll launch the uh flutter evi and so now what we can do is we can actually have a conversation and again this should sound like our our to create our YouTube voice that we created so we're going to go ahead and connect and again this can you can see It'll take a second we're I'm just going to say only this time I'm going to mute myself so that way it's I'm waiting for it to boot up can you give me the latest news on llms can you give me the latest news on llms here are some recent up dates on large language models One news feed with the latest and updates on llms has been created recently it discusses whether llms could be considered thinking machines and talks about the silent revolution of intelligence you can find more details here are some of the latest updates on language models earlier today there was an interesting article discussing whether language models are thinking machines highlighting the silent revolution in intelligence for more details check the llm news feed available a report mentioned that language models have evolved to become increasingly powerful and sophisticated you can find the latest insights at so we're going to go ahead and disconnect but was what was interesting about that is it actually came through a different audio and that is also because of how the emulator is set up so but it was using our custom voice and just like that uh you're able to have a custom voice in this case we used it in flutter there's no different uh if you want to use it in nextjs or in Python uh they also have react native and and a bunch of other sdks it's one of the re reasons I really like uh Hume is that they have great examples and uh excellent documentation super easy to get this set up so all right that's it for today what we went through was the Hume custom voice then we actually set up a configuration and then turn turned it on into FL the flutter example and with that happy nering --- *Generated for LLM consumption from nerding.io video library*