musescore / musescore/MuseScore

MS4 Handling of Hot-swapping External Soundcards on Windows-10

Open
#18,496 1 comment 0 reactions 1 assignee View on GitHub

@RomanPudashkin is already working on this.

Since Jul 10, 2023.

crash P1
Dominant language
C++
Stars
15.1k
Forks
3.3k
Avg merge
2d 2h
Merged PRs (30d)
91

Description

Issue type

Crash or freeze

Bug description

Hot-swapping sound card (external USB sound card) while MS4 is in active playback, may result in:

  1. Windows BSoD ("Blue Screen of Death") crash
  2. If going between 48KHz and 44.1KHz audio devices, the playback pitch and tempo will change

Workaround: Don't do it! Always exit MS4 before changing sound cards!

BSoD crash was twice repeatable on my configuration.
Did not test further as it may harm the OS integrity.

Steps to reproduce
  1. Hardware

Windows 10/Home
Realtek Internal Sound: 48000Hz
USB3 Focusrite Solo: 44100Hz

  1. Check Windows Settings

Right-click on "Speakers" icon on Windows tray
Sounds -> Playback tab -> Double click on "Speakers" -> Advanced tab
Note the sampling frequency for each device

  1. Unplug USB sound card (enable Internal motherboard sound card)
  2. Start Musescore4, play a song in loop
  3. Plug-in the USB sound card
  4. Note pitch and tempo shift in playback
  5. Unplug USB sound card to return to internal audio
  6. Note pitch & tempo shifts back to original

For BSoD Windows system crash, continue to plug in/out the external USB sound card device while MS4 Play is active.

Screenshots/Screen recordings

No response

MuseScore Version

OS: Windows 10 Version 2009 or later, Arch.: x86_64, MuseScore version (64-bit): 4.1.0-231881726, revision: github-musescore-musescore-5f333a2

Regression

I don't know

Operating system

Windows 10/Home/64

Additional context

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.