How good is GPT-4o for Coding _ Real-time Voice Changer - Small Neural Network ++
**Experimenting with Voice Modulation: Pitch Shifting and Robotic Voices**
In this article, we'll delve into the world of voice modulation, specifically focusing on pitch shifting and creating robotic voices. Our journey began with a script that utilized Puda Pi audio compiler nump to modify a person's voice in real-time. We started by trying out various pitch shifts, ranging from 0.5 to 1.5, to see how it would affect the tone of the speaker's voice.
**Pitch Shifting: A Deeper Voice**
To create a deeper voice, we set the pitch shift to 1.5 and ran the script through the OBS system. To our delight, the output showed that the speaker's voice had indeed become deeper and more resonant. We also observed that the latency was low, with almost no noticeable delay. The result was quite astonishing, as it sounded remarkably similar to an anonymous voice.
**Creating a Robotic Voice**
Next, we decided to try creating a robotic voice, inspired by characters like GLaDOS from Portal. To achieve this, we followed some suggestions and modified the script to add Distortion, pitch modulation, and a small Reverb effect. We experimented with different hyperparameters, setting the shift to 1.3 and the distortion to 1.8. The result was a voice that was more robotic in tone, but still had a hint of humanity.
**Comparing Results: GLaDOS-Inspired Voice vs. Original**
We compared our results to the original, deeper voice we created earlier. While it was indeed pleasant, we found that the robotic voice was more striking and attention-grabbing. However, it may not be an exact replica of GLaDOS's iconic tone. Nevertheless, it was a significant improvement, and we were happy with the outcome.
**Efficiency and Speed: GP4 Turbo**
We also experimented with GP4 Turbo, a speech synthesis engine that offers faster rendering times compared to Opus. We ran some prompts through both engines, comparing their speed and efficiency. The results showed that GP4 Turbo was significantly quicker, which can be a game-changer for applications where time is of the essence.
**Conclusion**
In conclusion, our experiment with voice modulation and robotic voices has been enlightening. From pitch shifting to creating a GLaDOS-inspired tone, we've explored various techniques and tools. While there's always room for improvement, we're pleased with the results and look forward to continuing this journey in future articles. With GP4 Turbo's efficiency and speed, we're optimistic about its potential to replace Opus in many applications. As always, we'll keep testing and refining our skills to bring you the best content possible.
"WEBVTTKind: captionsLanguage: enGPD 40 has been out for about a week now so uh I haven't done too much coding with it yet so I thought i' make a video where I do kind of three different challenges and kind of see what we can do with this new updated model uh it is definitely quicker so that's a good sign okay so the first challenge I wanted to do was take the Doom C kind of a JPG file or something or PNG and use go goang to convert it to ASI so we can kind of render it in the terminal right uh the Second Challenge I want us to do is to train a kind of simple neural network that we can take a data set of names maybe like 20,000 names and try to generate a new name based on that training set and we can also put in some Harry Potter books and try to continue a sentence by training this neural network so for that we will be using py toch with probably with Cuda to speed it up and the final challenge was pretty cool so this was to make a real time voice change uh using Cuda and pyo so this must be like in real time okay so hopefully my voice is deeper now yeah I can hear it well that's scary and the latency is low so like when I am speaking into the mic this should come out like we can change up the voice so I think that's going to be pretty cool so I think we're just going to dive into the first Challenge and start with the Doom cover okay so how I wanted to do this is just go to the chat browser and select GT40 of course uh you can see I've already done this just just to save a bit of a time uh so we just going to go to my prompts kind of have this responded and how uh much effort we have to put in to get this working so you can see here I just started with I want to create a go script that displays the Doom cover in colored characters in The Terminal let's brainstorm how we can do this okay so we kind of went through and we got some steps here how we can do this so low damage To Oi add color display in terminal we need some tools and libraries packages in go and custom mapping logic okay and Escape codes and here you can kind of see the detailed steps so step one is going to be to load the image right okay step two convert this to Oi yes step three is going to be add color because we need that of course to display the Doom uh cover and putting it all together here you can see we're loading Doom cover.jpg yeah okay uh okay interesting can you write the full script so that is kind of M prompt sure here's the full uh go script that loads the image and we get the full code everything put together here right explanation and make sure you have the go package installed so we're going to grab some resize package here and I just went ahead and did that and then we can go run do ask. go I did that I got a small error here so I pasted that and yeah there was something wrong here so I just we fixed that we got a new code back uh I got a second error I just pasted in that and hopefully this was the last iteration uh okay so the the image was very big I remember that so I asked to make it 2/3 smaller and yes that was no problem and again I thought it was a bit big I think so make it 50% smaller on top of that because we covered the whole screen and yeah here we kind of ended up with our final code so you can see kind of neat and tidy and if you go to our visual code Studio you can see it here and yeah quite neat and tidy we just uh uploaded this Doom cover here and let's try it out okay so in our Powershell terminal let's just do goand doom. go okay we got some characters here so let's zoom out a bit here and yeah you can kind of see we got something here oh there are some bugs in the rendering so let's try that again yeah that looks much better right pretty cool so yeah we kind of went from um the Doom cover in jpg and if we zoom in here you can kind of see all of these are just characters and oy so yeah I was pretty happy with this tiet looks pretty cool and I think this solved it and it's pretty quick and go so yeah interesting a language I don't know so much about okay so I would say the first challenge was a pass now let's move on to the second one and actually training the neural network using P Touch uh with Cuda so let me just show you kind of how I set this up in GPT 40 okay so as you can see here I spent a bit more time on actually the first prompt so you can just say I go I have a program programming project I want to do I want to train a simple uh machine learning neural network that can generate similar name based on the data set so I found a data set with around 20,000 names I'm going to show you that soon I want to use P torch with Cuda in Windows first I want to want the code to train the model to get the weights to generate names I already have the data set with 20,000 names one name on each line then I want a code to generate a new name learn from data training can you help me okay so this was kind of my initial thought I had to change that up a bit but let's see here now so it kind of went straight ahead and gave me kind of an answer here and Define a model have to train the model and this is in pytorch I think uh okay so write the full code and this was kind of our first set here uh you can see we have the hyper parameters that we can adjust we have the names. text that is our data set and we have a different thing here so convert names to tens Source get random training pairs Define the neural network model so we have the forward pass we have trading the model so that's the function for that uh we have some loss setups and we have the training loop with the eox we're going to set and here we have kind of the generate name function inside of this right and it's going to spit out some names at the end here so this looks good so let's see what I did here yeah we got a error when I tried to run it the first time and that was fine so we kind of fixed that and yeah we got a second error so this was problem with the end of sentence token so I just F in that error so we are on our third iteration here and you can see here from the first run uh yeah this worked so you can see we got the loss here uh coming down and we got 10 different names so let me just show you the data set we have so yeah this is kind of the simplest data set ever there's just one line with a random name on it so you can see if we scroll down here I think it's about 20,000 lines here of just names right names and that's what we are trying to generate here you can see on the first run we generated some names uh and I just uh pasted in the result from the first run and I said how can we optimize this for better result and we wanted to increase some more we wanted to add a new architecture lstm I think that's so full code with lstm and it brought a new uh code with this new uh model architecture to better improve probably the loss changes made so model architecture hidden uh layer in uh size was increased and we increased the number of EO I think that was from if we go up here so we increase it from 20 to 50 and we increase the hidden layers size to 256 I think and yeah that was basically it so I think we are ready to run it now here you can kind of see the code in Python so we can set how many names we want to generate so let's just leave it at 10 now and yeah pretty neat and tidy code here using torch and of course we are utilizing our Cuda course here to speed it up so yeah let's fire up the terminal here and let's go python I think it's just what did we call it was it gen name pi and let us run for 50 EPO and come back and see what names we get and if they look similar so you can see we have started here and and the loss is going down so that means that the training are working so I'm just going to leave this running and yeah let's check back when it's done okay so this is almost complete you can see we didn't get under uh two in- loss but you can see here we generated those 10 names so we have Mariel cariel Jenna Haren vinna so let me bring up the data set and see if any of these names are new okay so let's search for carrier no that was a new name we didn't have in our data set carel that's a weird name right but hey we generated a new name so yeah I guess we are actually using this uh simple neural network to generate some names kind of based on our data set so yeah I thought that was pretty cool uh but now I wanted to kind of up the game a bit and see if we can complete a sentence so I just followed up it great if we upload a big text like a book as trading data and we feed it a sentence like what did Harry do next can the model answer we only want to use pytorch uh so we get the yes it's possible to trade on your network on a large Text data set suchar as a book and it just gave me some instructions here how we can do that we got some steps and model definition training right inference and we kind of have the prompt here okay let's try it write the full code okay yeah good so we got the full code here uh and I said great uh let's take a look at the code here so I just call it potter. py I changed the prompt here to Harry ran to Hermione and said uh we got some temperature here we can adjust I put that to 03 we have a max length so that's 100 characters and yeah it's pretty much the same setup the only thing is we have the Harry potter. Text data set so you can see this is just two Harry Potter books so the first two Harry Potter books that is kind of our data set I think it's about 25 30,000 characters or something uh but that's fine and yeah basically we run this two a bit of a different architecture this time uh the hyper parameters are a bit different we're going to run 30 EPO and we have something here called sequence length and yeah let's just run it and see what happens I have uh no confidence that this is going to work because it shouldn't right we probably need a we probably need a Transformer architecture to make this work right but it's just for fun and let's test it out so let me just run this so let's just clear this and let's go python potter. py I think this is going to take a bit more time but let's say if we can get this started here didn't we say 50 EO yeah that's probably going to take some time uh let's see if we can get this started here okay so we're only going to do good 30 EPO so we started at 2.9 let's see where we end up at the end here okay so that was finished so let's see now uh we dropped to about 1.5 let's see the sentence Harry ran to Hermione and said the days of AOW the stood he had been he couldn't he had and seemed and hermony whispered the hoe I think we got cut off here but yeah that was kind of wild sentence right but we did produce some tokens or words I get or or characters but I wouldn't say this would pass as a large language model uh but we we did drop quite a low on the the epoch uh on the loss so I guess if we contined maybe this could be better I might give it a shot another time but other than that I'm pretty happy how this turned out we did actually produce something behind our promp here so I thought I was pretty cool and yeah should I give it a pass I don't know but let's move on to the final Challenge and that was of course the real time voice changer in Cuda pytorch so let me show you kind of how I set that up so I just started with this pretty simple prompt so I want to create a real time voice alternation it's kind of bad word but using Cuda on for optimal low latency can you help me I'm on Windows and I want to run this in the terminal and yeah low latency several steps including capturing audio input processing to altered the voice and outputting modified audio in real time requirements yeah we have some Cuda we have numi install all these dependencies audio capture and Playback okay so that was kind of the first we got we need some create a simple Cuda kernel for altering the voice for example applying a pitch shift that is kind what we wanted integrate and run here's the complete script right okay did I run that great so when I speak I want the output to be in a dark low voice and here it kind of give me an alternative to set the pitch to 05 uh okay we got an error here so I pasted in that revise script pretty much the same we got a second errors that we are on our third iteration that is not too bad great this is working okay so let's try it out then okay so here we can kind of see the code we call it just voice. P you can see we're using Puda Pi audio compiler nump and we have yeah some Cuda thing here we have the kernel and to actually uh Define pitch shift for Factor less than one raises the pitch so we want to deepen our voice so we're going to put it to 1.5 and hopefully this is going to work in real time now so I'm just going to have to go to the OBS and switch up the audio so you can only hear my voice now let's say yeah you can hear my voice now so let me switch that up and let's run the script okay so hopefully my voice is deeper now yeah I can hear it well that's scary and the latency is low it almost sound like the anonomous voice if you ask me and yeah that's pretty cool let's try to actually make it more of this robotic voice okay so to follow that up I said what if we wanted a robot voice like Gladis or GLaDOS I mispronounced that uh if you want something similar to GLaDOS from Portal uh steps to create a robo voice so we got some suggestions here we can try to add some Distortion Forman shifting I don't know what it is pitch modulation so we got on uh uh altered script here apply Distortion and let's see uh we need a small Reverb effect because I tried it out and it added some kind of delay here 30 second delay for Reverb and I think that is what we went for so yeah uh let me see yeah that was kind of our final robotic voice if you go to the code now you can see I call it a robot voice and I set the hyper parameters to 1.3 in shift and 1.8 in Distortion so let's see if this is similar to kind of the voice from um portal hello no I don't know it's not exactly like GLaDOS is it but it's kind of a robot wise let's try to change the pitch a it what about now it's definitely darker but I wouldn't say it's GLaDOS is it but it's more robotic but uh I think I kind of prefer the first voice if you ask me but pretty cool let's try to raise the pitch one last time that was very high so this almost get drown in the the and stuff but it is woring so that's pretty cool I think and maybe you can see it on my mouth the laty is low very low it's almost uh real time so yeah I was very happy with that I think that turned out pretty good if you ask me and the latency was almost nothing uh maybe you saw it on the webcam or my camera that the mouth movement was pretty on level here so so far I've been impressed by J b404 coding is it going to replace Opus I don't know and let's take a look at the speed here so let's just run this prompt here so that is what it has kind of over gp4 turbo of course and also our Opus to you can see the speed is much quicker and of course this is going to save you time if you're going to do a lot of stuff in here but if you have kind of infinite time doesn't really matter too much but it's just more of a what can I say better user experience when you have the pace on your side right it's more much much more efficient so I like it a lot for that then and I'm going to keep testing if we are if I'm going to switch mainly to this or if I'm going to keep using Opus but uh I'm definitely going to use this more for coding going forward as I as I already have been right I have been using gp4 turbo but the pace sometimes annoys me but with the GT40 model I think I'm going to probably use it more so yeah basically I think we did a pretty good job on all our challenges uh the second part is a bit me but the first Challenge and the second one was uh flying colors so I was very happy with that so yeah I think that was it for today bit of interesting just to try it out and uh hopefully I will be back on Wednesday it might be Thursday because my schedule is a bit off but you will see that uh other than that have a great day have a great week and yeah see you in a few daysGPD 40 has been out for about a week now so uh I haven't done too much coding with it yet so I thought i' make a video where I do kind of three different challenges and kind of see what we can do with this new updated model uh it is definitely quicker so that's a good sign okay so the first challenge I wanted to do was take the Doom C kind of a JPG file or something or PNG and use go goang to convert it to ASI so we can kind of render it in the terminal right uh the Second Challenge I want us to do is to train a kind of simple neural network that we can take a data set of names maybe like 20,000 names and try to generate a new name based on that training set and we can also put in some Harry Potter books and try to continue a sentence by training this neural network so for that we will be using py toch with probably with Cuda to speed it up and the final challenge was pretty cool so this was to make a real time voice change uh using Cuda and pyo so this must be like in real time okay so hopefully my voice is deeper now yeah I can hear it well that's scary and the latency is low so like when I am speaking into the mic this should come out like we can change up the voice so I think that's going to be pretty cool so I think we're just going to dive into the first Challenge and start with the Doom cover okay so how I wanted to do this is just go to the chat browser and select GT40 of course uh you can see I've already done this just just to save a bit of a time uh so we just going to go to my prompts kind of have this responded and how uh much effort we have to put in to get this working so you can see here I just started with I want to create a go script that displays the Doom cover in colored characters in The Terminal let's brainstorm how we can do this okay so we kind of went through and we got some steps here how we can do this so low damage To Oi add color display in terminal we need some tools and libraries packages in go and custom mapping logic okay and Escape codes and here you can kind of see the detailed steps so step one is going to be to load the image right okay step two convert this to Oi yes step three is going to be add color because we need that of course to display the Doom uh cover and putting it all together here you can see we're loading Doom cover.jpg yeah okay uh okay interesting can you write the full script so that is kind of M prompt sure here's the full uh go script that loads the image and we get the full code everything put together here right explanation and make sure you have the go package installed so we're going to grab some resize package here and I just went ahead and did that and then we can go run do ask. go I did that I got a small error here so I pasted that and yeah there was something wrong here so I just we fixed that we got a new code back uh I got a second error I just pasted in that and hopefully this was the last iteration uh okay so the the image was very big I remember that so I asked to make it 2/3 smaller and yes that was no problem and again I thought it was a bit big I think so make it 50% smaller on top of that because we covered the whole screen and yeah here we kind of ended up with our final code so you can see kind of neat and tidy and if you go to our visual code Studio you can see it here and yeah quite neat and tidy we just uh uploaded this Doom cover here and let's try it out okay so in our Powershell terminal let's just do goand doom. go okay we got some characters here so let's zoom out a bit here and yeah you can kind of see we got something here oh there are some bugs in the rendering so let's try that again yeah that looks much better right pretty cool so yeah we kind of went from um the Doom cover in jpg and if we zoom in here you can kind of see all of these are just characters and oy so yeah I was pretty happy with this tiet looks pretty cool and I think this solved it and it's pretty quick and go so yeah interesting a language I don't know so much about okay so I would say the first challenge was a pass now let's move on to the second one and actually training the neural network using P Touch uh with Cuda so let me just show you kind of how I set this up in GPT 40 okay so as you can see here I spent a bit more time on actually the first prompt so you can just say I go I have a program programming project I want to do I want to train a simple uh machine learning neural network that can generate similar name based on the data set so I found a data set with around 20,000 names I'm going to show you that soon I want to use P torch with Cuda in Windows first I want to want the code to train the model to get the weights to generate names I already have the data set with 20,000 names one name on each line then I want a code to generate a new name learn from data training can you help me okay so this was kind of my initial thought I had to change that up a bit but let's see here now so it kind of went straight ahead and gave me kind of an answer here and Define a model have to train the model and this is in pytorch I think uh okay so write the full code and this was kind of our first set here uh you can see we have the hyper parameters that we can adjust we have the names. text that is our data set and we have a different thing here so convert names to tens Source get random training pairs Define the neural network model so we have the forward pass we have trading the model so that's the function for that uh we have some loss setups and we have the training loop with the eox we're going to set and here we have kind of the generate name function inside of this right and it's going to spit out some names at the end here so this looks good so let's see what I did here yeah we got a error when I tried to run it the first time and that was fine so we kind of fixed that and yeah we got a second error so this was problem with the end of sentence token so I just F in that error so we are on our third iteration here and you can see here from the first run uh yeah this worked so you can see we got the loss here uh coming down and we got 10 different names so let me just show you the data set we have so yeah this is kind of the simplest data set ever there's just one line with a random name on it so you can see if we scroll down here I think it's about 20,000 lines here of just names right names and that's what we are trying to generate here you can see on the first run we generated some names uh and I just uh pasted in the result from the first run and I said how can we optimize this for better result and we wanted to increase some more we wanted to add a new architecture lstm I think that's so full code with lstm and it brought a new uh code with this new uh model architecture to better improve probably the loss changes made so model architecture hidden uh layer in uh size was increased and we increased the number of EO I think that was from if we go up here so we increase it from 20 to 50 and we increase the hidden layers size to 256 I think and yeah that was basically it so I think we are ready to run it now here you can kind of see the code in Python so we can set how many names we want to generate so let's just leave it at 10 now and yeah pretty neat and tidy code here using torch and of course we are utilizing our Cuda course here to speed it up so yeah let's fire up the terminal here and let's go python I think it's just what did we call it was it gen name pi and let us run for 50 EPO and come back and see what names we get and if they look similar so you can see we have started here and and the loss is going down so that means that the training are working so I'm just going to leave this running and yeah let's check back when it's done okay so this is almost complete you can see we didn't get under uh two in- loss but you can see here we generated those 10 names so we have Mariel cariel Jenna Haren vinna so let me bring up the data set and see if any of these names are new okay so let's search for carrier no that was a new name we didn't have in our data set carel that's a weird name right but hey we generated a new name so yeah I guess we are actually using this uh simple neural network to generate some names kind of based on our data set so yeah I thought that was pretty cool uh but now I wanted to kind of up the game a bit and see if we can complete a sentence so I just followed up it great if we upload a big text like a book as trading data and we feed it a sentence like what did Harry do next can the model answer we only want to use pytorch uh so we get the yes it's possible to trade on your network on a large Text data set suchar as a book and it just gave me some instructions here how we can do that we got some steps and model definition training right inference and we kind of have the prompt here okay let's try it write the full code okay yeah good so we got the full code here uh and I said great uh let's take a look at the code here so I just call it potter. py I changed the prompt here to Harry ran to Hermione and said uh we got some temperature here we can adjust I put that to 03 we have a max length so that's 100 characters and yeah it's pretty much the same setup the only thing is we have the Harry potter. Text data set so you can see this is just two Harry Potter books so the first two Harry Potter books that is kind of our data set I think it's about 25 30,000 characters or something uh but that's fine and yeah basically we run this two a bit of a different architecture this time uh the hyper parameters are a bit different we're going to run 30 EPO and we have something here called sequence length and yeah let's just run it and see what happens I have uh no confidence that this is going to work because it shouldn't right we probably need a we probably need a Transformer architecture to make this work right but it's just for fun and let's test it out so let me just run this so let's just clear this and let's go python potter. py I think this is going to take a bit more time but let's say if we can get this started here didn't we say 50 EO yeah that's probably going to take some time uh let's see if we can get this started here okay so we're only going to do good 30 EPO so we started at 2.9 let's see where we end up at the end here okay so that was finished so let's see now uh we dropped to about 1.5 let's see the sentence Harry ran to Hermione and said the days of AOW the stood he had been he couldn't he had and seemed and hermony whispered the hoe I think we got cut off here but yeah that was kind of wild sentence right but we did produce some tokens or words I get or or characters but I wouldn't say this would pass as a large language model uh but we we did drop quite a low on the the epoch uh on the loss so I guess if we contined maybe this could be better I might give it a shot another time but other than that I'm pretty happy how this turned out we did actually produce something behind our promp here so I thought I was pretty cool and yeah should I give it a pass I don't know but let's move on to the final Challenge and that was of course the real time voice changer in Cuda pytorch so let me show you kind of how I set that up so I just started with this pretty simple prompt so I want to create a real time voice alternation it's kind of bad word but using Cuda on for optimal low latency can you help me I'm on Windows and I want to run this in the terminal and yeah low latency several steps including capturing audio input processing to altered the voice and outputting modified audio in real time requirements yeah we have some Cuda we have numi install all these dependencies audio capture and Playback okay so that was kind of the first we got we need some create a simple Cuda kernel for altering the voice for example applying a pitch shift that is kind what we wanted integrate and run here's the complete script right okay did I run that great so when I speak I want the output to be in a dark low voice and here it kind of give me an alternative to set the pitch to 05 uh okay we got an error here so I pasted in that revise script pretty much the same we got a second errors that we are on our third iteration that is not too bad great this is working okay so let's try it out then okay so here we can kind of see the code we call it just voice. P you can see we're using Puda Pi audio compiler nump and we have yeah some Cuda thing here we have the kernel and to actually uh Define pitch shift for Factor less than one raises the pitch so we want to deepen our voice so we're going to put it to 1.5 and hopefully this is going to work in real time now so I'm just going to have to go to the OBS and switch up the audio so you can only hear my voice now let's say yeah you can hear my voice now so let me switch that up and let's run the script okay so hopefully my voice is deeper now yeah I can hear it well that's scary and the latency is low it almost sound like the anonomous voice if you ask me and yeah that's pretty cool let's try to actually make it more of this robotic voice okay so to follow that up I said what if we wanted a robot voice like Gladis or GLaDOS I mispronounced that uh if you want something similar to GLaDOS from Portal uh steps to create a robo voice so we got some suggestions here we can try to add some Distortion Forman shifting I don't know what it is pitch modulation so we got on uh uh altered script here apply Distortion and let's see uh we need a small Reverb effect because I tried it out and it added some kind of delay here 30 second delay for Reverb and I think that is what we went for so yeah uh let me see yeah that was kind of our final robotic voice if you go to the code now you can see I call it a robot voice and I set the hyper parameters to 1.3 in shift and 1.8 in Distortion so let's see if this is similar to kind of the voice from um portal hello no I don't know it's not exactly like GLaDOS is it but it's kind of a robot wise let's try to change the pitch a it what about now it's definitely darker but I wouldn't say it's GLaDOS is it but it's more robotic but uh I think I kind of prefer the first voice if you ask me but pretty cool let's try to raise the pitch one last time that was very high so this almost get drown in the the and stuff but it is woring so that's pretty cool I think and maybe you can see it on my mouth the laty is low very low it's almost uh real time so yeah I was very happy with that I think that turned out pretty good if you ask me and the latency was almost nothing uh maybe you saw it on the webcam or my camera that the mouth movement was pretty on level here so so far I've been impressed by J b404 coding is it going to replace Opus I don't know and let's take a look at the speed here so let's just run this prompt here so that is what it has kind of over gp4 turbo of course and also our Opus to you can see the speed is much quicker and of course this is going to save you time if you're going to do a lot of stuff in here but if you have kind of infinite time doesn't really matter too much but it's just more of a what can I say better user experience when you have the pace on your side right it's more much much more efficient so I like it a lot for that then and I'm going to keep testing if we are if I'm going to switch mainly to this or if I'm going to keep using Opus but uh I'm definitely going to use this more for coding going forward as I as I already have been right I have been using gp4 turbo but the pace sometimes annoys me but with the GT40 model I think I'm going to probably use it more so yeah basically I think we did a pretty good job on all our challenges uh the second part is a bit me but the first Challenge and the second one was uh flying colors so I was very happy with that so yeah I think that was it for today bit of interesting just to try it out and uh hopefully I will be back on Wednesday it might be Thursday because my schedule is a bit off but you will see that uh other than that have a great day have a great week and yeah see you in a few days\n"