Hey all, beyond the feedback provided during today’s weekly call, Muse is great and here are two further observations from using it for ~10 days:
A very helpful AI, thank you!
Thank you @RendergonPolygons for letting us know and sharing your feedback. Do you have specific findings or examples regarding the above, we’d love to evaluate them closer?
Hello Martina, I don’t just now, I will take snapshots next time. Apologies, cheers, Sergio
Hello Martina, here’s an example I came across yesterday for “When it doesn’t know a better answer keeps repeating the last one”, I’ll keep on posting as I come across more of these.
- Code provided by Muse when I ask to have a coroutine in an async method wait for a result
using System;
using System.Collections;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.Networking;
public class LoadAudioClipAndTranscribe : MonoBehaviour
{
public AudioSource audioSource;
public string audioFilePath = “path/to/your/audio/file.wav”; // Replace with the path to your audio file
void Start()
{
Task.Run(PlayAndTranscribe);
}
async Task PlayAndTranscribe()
{
TaskCompletionSource tcs = new TaskCompletionSource();
StartCoroutine(LoadAudioClipFromPath(audioFilePath, () => tcs.SetResult(true)));
await tcs.Task;
string transcriptionResult = await AudioNoteTranscription.Whisper.Inference.Start();
Debug.Log("Transcription result: " + transcriptionResult);
}
IEnumerator LoadAudioClipFromPath(string path, Action callback)
{
using (UnityWebRequest www = UnityWebRequestMultimedia.GetAudioClip("file://" + path, AudioType.UNKNOWN))
{
yield return www.SendWebRequest();
if (www.result == UnityWebRequest.Result.ConnectionError)
{
Debug.LogError("Error loading audio file: " + www.error);
}
else
{
AudioClip audioClip = DownloadHandlerAudioClip.GetContent(www);
audioSource.clip = audioClip;
audioSource.Play();
}
}
callback?.Invoke();
}
}
-
I say:
TaskCompletionSource tcs = new TaskCompletionSource(); error says Using generic type TaskCompletionSource requires 1 type arguemnts
-
Muse replies:
I apologize for the oversight in my previous response. The correct way to initialize the TaskCompletionSource is to provide a type argument. In this case, you can use bool as the type argument. Here’s the corrected line of code:
TaskCompletionSource tcs = new TaskCompletionSource();
This will initialize the TaskCompletionSource with the bool type argument, as required.
-
I say:where is the bool?
-
Muse says:
I apologize for any confusion. The bool type argument is used when creating the TaskCompletionSource instance. It’s not directly related to the logic of the script, but it’s a requirement when creating a TaskCompletionSource with a specific type. In this case, we’re using bool just as a simple type to indicate that the task is completed when the LoadAudioClipFromPath coroutine finishes.
Here’s the relevant part of the script:
TaskCompletionSource tcs = new TaskCompletionSource();
StartCoroutine(LoadAudioClipFromPath(audioFilePath, () => tcs.SetResult(true)));
await tcs.Task;
Conclusion: Answers with the same information again despite being asked.
Hello!
A couple of things that I’ve also observed that can help in my use case use Muse if it helps:
-
when asking about AI code, say something on tensors, it gives code for barracuda, but does make mention of barracuda (I’ll copy/paste the chat here next time it happens)
-
nice if it lets us starting reading the answer while muse writes, otherwise we need to wait until it’s finished writing because it scrolls back down every word written after having scrolled to the top
Thanks and great work !