Feedback Muse

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:

  • Muse smart enough to play dumb sometimes and it seems to pretend to forget the original conversation when it doesn’t know the answer

  • When it doesn’t know a better answer keeps repeating the last one

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.

  1. 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();
}

}

  1. I say:
    TaskCompletionSource tcs = new TaskCompletionSource(); error says Using generic type TaskCompletionSource requires 1 type arguemnts

  2. 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.

  1. I say:where is the bool?

  2. 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 !