-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wavplay(y, fs)
does not work
#89
Comments
I'm having the same problem. It seems like the these lines under function wavplay end
wavplay(fname::AbstractString) = wavplay(wavread(fname)[1:2]...)
@static if Sys.islinux()
include("wavplay-pulse.jl")
elseif Sys.isapple()
include("wavplay-audioqueue.jl")
elseif Sys.iswindows()
include("wavplay-win32.jl")
else
wavplay(data, fs) = @warn "wavplay is not currently implemented on $(Sys.KERNEL)"
end |
Turns out it is an issue with WAV v1.0.3. I solved it by removing the package and pulling the master: ] rm WAV
] add https://github.com/dancasimiro/WAV.jl |
Thank you! I look forward to the release of the new version. 1.0.4 😄 |
@dancasimiro Could you please tag the current main branch head as the |
@mgkuhn I have attempted to tag |
@dancasimiro In
but in the current
That has at least two problems:
See: https://julialang.github.io/Pkg.jl/v1/compatibility/ and in particular Behavior of versions with leading zeros. On reflection, I now believe the changes (e.g.,
The compatible Julia versions should probably be specified as
In fact, it is probably time to drop 0.7, as that hasn't been officially supported for a long time, i.e.
is also fine. I don't know anything about the actual compatibility requirements of
and perhaps
is also fine now? Or just keep
as it was. (As long as there is no breaking Julia 2 or FileIO 2 on the horizon to worry about.) |
@dancasimiro Is deploying CompatHelper actually useful here? The compatibility requirements of WAV.jl seem extremely simple currently, so I don't understand what problems CompatHelper would solve here (rather than create!). |
PR #93 is how I would suggest to proceed. |
@dancasimiro Any chance you could merge PR #93 to make JuliaRegistrator happier and then tag/release (My students have to do a signal-processing exercise in the coming weeks where Julia+WAV.jl is one of the recommended platforms. The current master fixes all the problems that my students encountered last year with |
Small note for future people: if you are using julia and WAV.jl within the windows subsystem for linux (WSL) then wavplay fails with the following error. This may have been fixed in WSL v2, but at least for v1 it's broken. shared memfd open() failed: Function not implemented
pa_simple_new failed
error(::String)@error.jl:33
wavplay(::Array{Float64,2}, ::Float32)@wavplay-pulse.jl:118
wavplay(::String)@WAV.jl:1075
top-level scope@Local: 1 |
[That should have been a new issue really] Are you running pulseaudio there? Do other Linux audio applications work? Via pulseaudio or via other audio APIs? If not, I would not have expected I'm no expert on the state of audio device access on WSL and WSL2 in general. From a quick web search, I gather that neither WSL or WSL2 have any access to an audio device, but people have succeeded in running PulseAudio on both WSL and Windows simultaneously and then configuring them to pass over the sound from one to the other via TCP: https://www.reddit.com/r/bashonubuntuonwindows/comments/hrn1lz/wsl_sound_through_pulseaudio_solved/ Based on that, I don't see what better WAV.jl could do than to be a PulseAudio client, which it already is. P.S.: WSL[2] will probably always remain a horrendous hack. For the best experience with hardware I/O, I recommend to get a proper operating system, not stacks of kernel emulation layers or VMs. |
I'm trying to this package by running an example written in README.md
However,
wavplay(y, fs)
does not work due to the following errorHere is my environment:
The text was updated successfully, but these errors were encountered: