-
Notifications
You must be signed in to change notification settings - Fork 5
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
Sound does not work #10
Comments
Since you successfully tested the output in winecfg, kindly tell me what kind of file they are. I am interested in details such as codec, enclosing format, bitrate, etc. Suggestion:
Even better, if you send me the file if it doesn't affect your privacy; my email is on my profile (or just upload it somewhere). I have a Debian Buster + SM 17 install on my old laptop, which is similar to your config. |
Thank you. I also tried to open such a mp3 file in the wine-explorer in the SM17 prefix. It is said, that this file is not connected with any program. |
I forgot to mention: I now use Wine 5.6 and Winetricks 20200412. |
Try to anchor your wine version to a stable one...for the same reasons mentioned here. Quote: Wine development relies too much on active user reports to remedy its breakages, which is why I stuck with (and recommend) stable, right now only a couple point releases behind, unless you're interested in latest Wine developments for games and such.
No matter. It's likely not a device or Wine problem this time. I'll likely need to verify which library you'll need to install. I'll get back to you. |
The sample file is not special at all. Should work even with ancient Wine and SM 15. Please make sure you have installed packages in the following list. Note that some release revision numbers or versions may change slightly. If needed install them through your distribution's package manager, not external repositories.
Afterwards, close all Wine applications, and give it 5 secs approx for the wineserver process to finish. Then restart SM 17 and play a sound component. |
Thank you. This was not installed according Synaptic package manager: Unfortunately I could not find this in the package manager: All others were installed. So I now have installed "gstreamer1.0-gl". |
Does this work?
I no longer have Synaptic with me, though I might be able to run it in a VM later, so please bear with my incomplete advice for now. |
I was successful to install "gstreamer1.0-plugins-base:i386" with your commands. |
I see you might have upgraded Wine through the MX Linux testing repository. Because of breakages I don't recommend using the bleeding edge Wine for SuperMemo. On a vanilla MX Linux I managed to make it work with the present stable Wine (Wine-4.0) and recent winetricks; no additional packages required. What I did, was install the recommended packages, which pulled many i386 libraries, one of which may be the missing one in your system. Perhaps something like this will do:
|
What does "vanilla" mean?
Yes, that's what I did. In MX Linux Package Manager I can choose between Wine 5.2 and Wine 5.6. In Wine 5.2 I can not install MS Office because of a license key problem. With Wine 5.6 the license key problem is solved. Nevertheless. I did now the following:
Edit:
|
Unmodified. Freshly installed.
By all means keep using the Wine version that causes the less friction for your applications, which turns to be wine-staging. If 5.6 is fine for SM (I tested 5.5 to be alright) then stay with that. I had assumed SM would be the only application running under Wine on your system. Only be observant and be ready to revert an upgrade if it causes problems. Excuse that I don't speak much Debian. That was not it. I wanted apt-get to pick the recommended packages for your already installed Wine version (without changing the Wine version). Turns out you can simply (?) do, if you happen to have installed a package without its recommended packages:
(after installing wine-staging) I specified to install recommended packages when installing |
Thank you @alessivs. I tried now to install wine 5.2 in my vanilla MX Linux USB Live system.
The behaviour of the wine installation is the same as in my working system and in my VM. So how did you exactly manage to install wine with recommended packages on your vanilla MX Linux? |
I'll write down my step by step process to get SuperMemo alive and sound on MX Linux with a recent-ish Wine. Something came up now, though. I'll tackle it over the weekend. PS: I wish MX Linux didn't introduce those apt overrides and repos; it just deviates from the "Debian" reference I would have in mind when giving out advice. |
On Debian-derivatives I'm going to recommend to have (old, stable) wine and wine-staging coexist. SuperMemo would be run by whatever wine is stable from Debian repos (usually a 4.x something), while the user can choose to use wine-staging for other applications. The reason is that after 5.0 WineHQ has designed wine to be linked against an audio library (libfaudio) that Debian doesn't yet package, and I'm not sure about the situation with MX Linux (even after using it!). OpenSUSE OBS releases a libfaudio Debian package designed to go with wine-staging (at the moment, 5.7) but when playing sound from within SuperMemo, it just froze the application instead of play audio (something to discern is that the mechanism for Wine to communicate to Alsa is one thing, and another thing altogether is the audio drivers shipped with Wine receiving instructions sent by the audio player in SM). Personally I'm ignorant on how Debian or MX Linux include this library now, or will, in the future.
Before this opportunity I had not tested any installation procedures on recent Debian derivatives–just Buster with the shipped stable Wine, so I was unaware of this little mess. The winetricks verbs from supermemo-wine don't account for using a different wine executable than the system-wide default (or otherwise the one found in PS: After I ship the graphical installer, I'll also build a containerized SuperMemo (perhaps with Guix or Docker). That could also be an option for messy circumstances. |
To add some anecdata to this: I'm running wine-5.0 on arch and haven't quite found an acceptable experience with supermemo18 yet:
[1]: gstreamer plays some clips differently depending on bitrate. Some are crackly and play in like 2x chipmunk speed. I've tried changing pulseaudio parameters but haven't had much success. The clips do play normally using This clip plays at chipmunk speeds:
This clip plays correctly:
I realize this isn't necessarily a bug with this wonderful project, but I'm just trying to share my journey of audio so that there might be an easier audio story later on here. |
@SirensOfTitan Regarding audio "clipped" at the end, please try with default Wine drivers and the lib32-gst-plugins-good package installed, preferably on a new prefix, and tell me your experience. I'll get back asap to Debian-related stuff described before. |
@SirensOfTitan If audio is still clipped consider this. |
@Golddouble Sorry for the delay. I explored a number of configurations. I can conclude that you can use either wine-staging or wine-stable, with working MP3 audio. You can lean towards having a dual Wine-edition setup, with wine-stable and wine-staging coexisting, or choose to only use wine-staging. To get audio to work with wine-staging you can install a DLL (conveniently, using Winetricks) that handles playback natively, bypassing any problem regarding audio drivers shipped with Wine. These problems seem to affect playback of some audio files (or all audio files, depending on Wine version) in the 5.x series, according to my observation. Wine-staging from MX 19.1 Test repo (most recent choice; possibly, the simplest)If something breaks that was previously in working condition, remember this is bleeding edge Wine; far from stable. The Wine binary will be
sudo dpkg --add-architecture i386
sudo apt-get update
On to the SuperMemo installation:
mkdir -p ~/.cache/winetricks/supermemo17
cp ~/Downloads/sm17inst.exe ~/.cache/winetricks/supermemo17 This will let you skip the part where you have to copy the file to a winetricks-managed location using the file manager. Then: # The MX package winetricks brings Wine 4.x together with it.
# We download it manually.
wget https://raw.githubusercontent.com/Winetricks/winetricks/20200412/src/winetricks
chmod +x winetricks
# Install custom verb
wget https://is.gd/Q4VNBi -O supermemo17.verb
env WINE=/opt/wine-staging/bin/wine WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/sm17 sh ./winetricks supermemo17.verb
# If you chose to install wine-staging-compat, you can omit the WINE environment variable.
# env WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/sm17 sh ./winetricks supermemo17.verb Note: The support for the Note: The process takes longer than before, because of larger downloads. |
Thank you @alessivs for this very good and detailed description. :-) I have tried this out in my VM. I was able to go through the description and installing process without problem. I have used wine 5.6, because this was already installed. But "sound" makes still problems. Here are my experiences: Point 1. When I play the sound several times in a row (pressing "the play again-button", as soon as the sound is complete), there are sometimes small dropouts or stuttering. I can send you an example sound if you would like to have it. Point 2. When I play around with the play, pause and stop buttons (about 20 times) suddenly SM crashes and is freezed. I have to close it. Here is the protocol of point 2:
Edit: Just a remark:
But this did not solve the issue. |
Point 1. I could reproduce the problem you're describing, but only without You can verify if the native quartz DLL is in effect in this Wine prefix (let's say it's called sm17): env WINEPREFIX=~/.local/share/wineprefixes/sm17 /opt/wine-staging/bin/winecfg Go to the Libraries tab, and check that the entry for quartz says: Point 2. Likely a misconfigured / misupdated Wine prefix. The update to Wine 5.7 may have overriden the order of the quartz DLLs (just a guess). Try a fresh Wine prefix for cleanliness (below). Both points Please try on a fresh Wine prefix. The new verbs support this use case. e.g. create a new prefix wget https://is.gd/Q4VNBi -O supermemo17.verb
env WINE=/opt/wine-staging/bin/wine WINEARCH=win32 WINEPREFIX=~/.local/share/wineprefixes/sm17a sh ./winetricks supermemo17.verb Then start the shortcut called SuperMemo 17 (sm17a) under the Education menu category. If any of the problems persist, please send me the audio file and I'll take a look. |
-Concerning "small dropouts or stuttering": I also tried wine 5.2 with "wine-mono4.9.4". -Concerning "When I play around with the play, pause and stop buttons (about 20 times) suddenly SM crashes and is freezed." I have sent you an example, where you can hear, what I mean with slight stuttering. When I make a sound component in SM and make a link to an external sound-source (because my mp3 is there), when I choose the folder with my mp3, it plays the sound the first time, and this is always without stuttering. |
Keep in mind some instances of stuttering and cracking can be due to a buffer underrun that could be facilitated by virtualization. Anyhow, in closing in on a diagnosis one has to consider the VM factor, PulseAudio default bitrate factor, Debian derivatives and lack of libfaudio, Wine 5.x, Wine stable vs staging, use of quartz, etc. Rather than tackle the whole combinatorial explosion that ensues, I'd rather not try pick a unique recommended configuration, but make the project more flexible so the user has more straightforward paths to push levers in order to cater to his system. In addition to the standalone Winetricks verbs, by leveraging the tools from the free (GNU GPL3) software Lutris I have produced a couple installers that you can sideload into the application quite easily (look for the yaml files in If you go this route (that is, to try the installers for Lutris), since it's not in my capacity to fix the issue, I'd appreciate to know your experience so at least the documentation can be improved. Like @SirensOfTitan remarked, it might not be a bug from this project, but it's totally in its scope to document it, and find ways to be more flexible so the user is in better control, while avoiding more complexity. If you have suggestions concerning this let me know. |
Thank you for making a Lutris-version so fast. I have tested it now. Here is my feedback. What I did:
Result: Here is the installation protocol:
|
You'll need Wine-related packages; if you're missing them Lutris will warn you upon starting. On the other hand, it may be possible to do without some of the lib32 mp3 decoder libraries, but then you'd better install
Regarding Wine what you'd probably miss also is the Note that if you simply ran You can keep experimenting. For example, you can switch Wine version any time from within Lutris without affecting your system:
You can add more Wine editions to Lutris from the sidebar on the left:
The desktop icon is created successfully on my system ( The application menu icon is supposed to be under the Games category. Should it be not picked up, the The shortcuts won't have icons, because those come from the Lutris website (but you can add them yourself). It seems that Lutris folks won't moderate my submitted SM 17 and SM 18 packages, or add icons to them, even in unpublished state, because they're not actual games. You can always sideload the yaml installers with the
Yes, that's for custom DLL overrides on top of the overrides from the application. If you want to
I see a correct installation. It's the device access that's problematic. Note that an unsupported codecs situation, and unsupported ID3 tags encoding (by MCI), are also masked by this error message. |
Thank you. With
->MCI problem,when I try to link the sound component with mp3 With
and ->breakdown when I try to link the sound component with mp3 Do I understand right: |
I thought I had no problem on MX Linux, but then it reappeared. Anyways, after researching and testing, now I have a much better understanding of the problem, and came with a configuration that experienced no stuttering, and complete playback of files. The downside is that there's no super complete codec support, because it doesn't depend on the more complete Linux gstreamer libraries. I'd like you to test this installer: wget https://is.gd/ii5l6W -O supermemo-17-winaudio.yaml
lutris -i supermemo-17-winaudio.yaml It's tied to current stable Wine (5.0); don't change this setting before testing. How you install Wine on your system is not important, but it better be there because of the supporting libraries. PS: Also, please test whether the font applying problem is still present (Shift+Ctrl+F). I couldn't trigger the problem with this edition. |
Thank you for the new version to try out. But it's the same. When I choose the mp3 from the external source to link it with the sound component, then the sound is without stuttering. Also after having chosen the mp3 from the external source and press the OK button, then immediately the mp3 is played without stuttering. But when I want to press now the "play button" again, the button does not work. Concerning stuttering and VM: So far I have used Supermemo in a Windows 7 virtual machine. There I have no stuttering. |
Well, that's a bit disappointing. Not only on my Arch system, but even on MX it managed to achieve smooth playback (no stuttering, no freezing, etc.); meanwhile, by routing audio through LAVfilters and removing some dependency on gstreamer libs, it reduced variance in outcomes, at least in theory. So much so that I am composing a SM collection solely to stress-test it. The only problem were certain MP3s with non-expected formats of ID3 tags (documented problem at SuperMemopedia), for which you may just have to remove them. Unfortunately I don't have a larger testing pool. |
It's very persistent. Sorry I couldn't give you a better report. |
Adding my data point here for incoming googlers tinkering to get things working: I got perfect audio working on my arch installation a bit after posting here. 😄 I was originally using a proton build of wine using a I uninstalled proton and installed wine-5.7, the current version of wine in arch's package repository. With
I'm not sure if those pulse values influenced the outcome at all, I haven't experimented without them, but if you're changing your pulse daemon, remember to restart the daemon: systemctl --user restart pulseaudio.service |
@SirensOfTitan Was PS. This could complement previous advice regarding Arch (also observed in SuperMemopedia) PS2: I'm keenly interested in getting a couple repeatable configurations right so I can feed them back to installers (which are being overhauled). Playback of short sounds is a vital use case for the proper use of commercial collections (e.g. Adv English) and language learning in general. Thankful for your writeup. |
I have given it a try outside of my VM in my working system.
I only had one time a problem with this in the "out of VM-version". Most of the time font applying works. So I have decided to use it now Thank you! |
@Golddouble Great. Which installer edition are you using? I have an approximate idea of which installers to publish in the next iteration, but I'd like to prioritize those reported to work unanimously. |
|
I have been using this Lutris solution for quite a while now. Here is an experience: I have created a direct start icon for SM ( Lutris version). |
After the successful install of SM in wine with your verb I moved my old collection from windows into the SM "systems" folder.
![SM17 Player fehler](https://user-images.githubusercontent.com/13977359/79792879-f4be7900-834f-11ea-9d07-d48d376e2c3c.png)
Most of my Items use sound. When I now open such an item there is a message:
I have tried "Pulseaudio" and "Internes Audio Analog Stereo" in audio-tab in winecfg. Both does not solve the issue. But when I perform the test "test sound"-button in winecfg I can here the sound. This test is successful.
(?)
The text was updated successfully, but these errors were encountered: