Giter VIP home page Giter VIP logo

Comments (6)

daveyarwood avatar daveyarwood commented on June 2, 2024

Hi @SebAlbert , thanks for the bug report!

Off-hand, I'm not sure what the problem might be. You heard sound, so the sound card is apparently working fine. But it sounds like it might not be successfully exporting the MIDI file.

Can you repro the issue again and confirm that the MIDI file it's looking for is indeed missing? I wonder if it might be a timing issue.

The lingering alda-player process is expected. alda spawns alda-player processes to do asynchronous playback, and the player processes shut themselves down after either playback or a period of inactivity.

from alda.

SebAlbert avatar SebAlbert commented on June 2, 2024

Thank you for helping me troubleshoot!
I can confirm that the particular .mid file in /tmp actually does exist after the process exited with the error.

Regarding timing, I can also tell that between "OK Play score" and "ERR Export score as MIDI" it seems to be waiting for around 10 seconds.

Furthermore, upon trying again, I do not hear the notes being played again unless I execute alda shutdown in between.

I could provide an strace output if that is of any use. Are there any particular syscalls on which I could filter? I tried strace -ff -tt -T and got 79 files (for 79 process IDs), which seems a lot. Also, irritatingly, the first one starts off reading all certificates in /etc/ssl/certs.

The process that finally writes the error apparently tries to open the midi file every 200 milliseconds or so, always receiving -1 ENOENT from the kernel.

It may or may not be of interest that /tmp is a tmpfs (RAM disk) on my machine.

When watching an ls -laht /tmp/alda-doctor* from a second terminal, I can see that the directory is created right away, but the MIDI file in it only appears after the alda doctor command has exited with the error, seemingly at the same instant when I hear it play.

from alda.

SebAlbert avatar SebAlbert commented on June 2, 2024

I cloned the repository, doubled the reasonable timeout value from 20 to 40 in client/src/cmd/doctor.go and now go run main doctor works without an error, however, without the notes playing at all. (Maybe the players are shut down right when the MIDI file is there, which is only when I would be hearing the test notes...)

from alda.

daveyarwood avatar daveyarwood commented on June 2, 2024

Interesting -- so it must be taking longer than 20 seconds to generate the MIDI. That's not great - I wonder why it takes so long? 🤔

The lack of playback (or abrupt stop to playback) during alda doctor is expected -- there is a subsequent health check that shuts down the player, so depending on how long the earlier steps take, you might hear partial playback or no playback at all.

from alda.

daveyarwood avatar daveyarwood commented on June 2, 2024

When watching an ls -laht /tmp/alda-doctor* from a second terminal, I can see that the directory is created right away, but the MIDI file in it only appears after the alda doctor command has exited with the error, seemingly at the same instant when I hear it play.

This is very interesting. No idea why it would behave that way, off hand.

from alda.

daveyarwood avatar daveyarwood commented on June 2, 2024

Closing this for now - happy to re-open if we can identify a concrete issue to be fixed!

from alda.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.