Comments (7)
Looking at the code, it seems like unnecessary changes should already be avoided (?)
The following is the console output when I skip to the next track in this album
Not totally sure what's happening here, there seem to be two detections with both 16 and 24 bitDepths based on the Apple Music logs
[getAllStats] []
Current Track Acelera (Mixed), previous: ID2 (from Beats In Space 068: Marie Davidson) [Mixed], isSame: false
detected stat CMPlayerStats(sampleRate: 44100.0, bitDepth: 16, date: 2023-05-18 05:54:29 +0000, priority: 1)
detected stat CMPlayerStats(sampleRate: 44100.0, bitDepth: 24, date: 2023-05-18 05:54:29 +0000, priority: 2)
[getAllStats] [LosslessSwitcher.CMPlayerStats(sampleRate: 44100.0, bitDepth: 24, date: 2023-05-18 05:54:29 +0000, priority: 2), LosslessSwitcher.CMPlayerStats(sampleRate: 44100.0, bitDepth: 16, date: 2023-05-18 05:54:29 +0000, priority: 1)]
NEAREST FORMAT [__C.AudioStreamBasicDescription(mSampleRate: 44100.0, mFormatID: 1819304813, mFormatFlags: 4, mBytesPerPacket: 8, mFramesPerPacket: 1, mBytesPerFrame: 8, mChannelsPerFrame: 2, mBitsPerChannel: 24, mReserved: 0), __C.AudioStreamBasicDescription(mSampleRate: 44100.0, mFormatID: 1819304813, mFormatFlags: 68, mBytesPerPacket: 8, mFramesPerPacket: 1, mBytesPerFrame: 8, mChannelsPerFrame: 2, mBitsPerChannel: 24, mReserved: 0)]
detected stat CMPlayerStats(sampleRate: 44100.0, bitDepth: 16, date: 2023-05-18 05:54:29 +0000, priority: 1)
detected stat CMPlayerStats(sampleRate: 44100.0, bitDepth: 24, date: 2023-05-18 05:54:29 +0000, priority: 2)
[getAllStats] [LosslessSwitcher.CMPlayerStats(sampleRate: 44100.0, bitDepth: 24, date: 2023-05-18 05:54:29 +0000, priority: 2), LosslessSwitcher.CMPlayerStats(sampleRate: 44100.0, bitDepth: 16, date: 2023-05-18 05:54:29 +0000, priority: 1)]
NEAREST FORMAT [__C.AudioStreamBasicDescription(mSampleRate: 44100.0, mFormatID: 1819304813, mFormatFlags: 4, mBytesPerPacket: 8, mFramesPerPacket: 1, mBytesPerFrame: 8, mChannelsPerFrame: 2, mBitsPerChannel: 24, mReserved: 0), __C.AudioStreamBasicDescription(mSampleRate: 44100.0, mFormatID: 1819304813, mFormatFlags: 68, mBytesPerPacket: 8, mFramesPerPacket: 1, mBytesPerFrame: 8, mChannelsPerFrame: 2, mBitsPerChannel: 24, mReserved: 0)]
detected stat CMPlayerStats(sampleRate: 44100.0, bitDepth: 16, date: 2023-05-18 05:54:29 +0000, priority: 1)
detected stat CMPlayerStats(sampleRate: 44100.0, bitDepth: 24, date: 2023-05-18 05:54:29 +0000, priority: 2)
[getAllStats] [LosslessSwitcher.CMPlayerStats(sampleRate: 44100.0, bitDepth: 24, date: 2023-05-18 05:54:29 +0000, priority: 2), LosslessSwitcher.CMPlayerStats(sampleRate: 44100.0, bitDepth: 16, date: 2023-05-18 05:54:29 +0000, priority: 1)]
NEAREST FORMAT [__C.AudioStreamBasicDescription(mSampleRate: 44100.0, mFormatID: 1819304813, mFormatFlags: 4, mBytesPerPacket: 8, mFramesPerPacket: 1, mBytesPerFrame: 8, mChannelsPerFrame: 2, mBitsPerChannel: 24, mReserved: 0), __C.AudioStreamBasicDescription(mSampleRate: 44100.0, mFormatID: 1819304813, mFormatFlags: 68, mBytesPerPacket: 8, mFramesPerPacket: 1, mBytesPerFrame: 8, mChannelsPerFrame: 2, mBitsPerChannel: 24, mReserved: 0)]
detected stat CMPlayerStats(sampleRate: 44100.0, bitDepth: 16, date: 2023-05-18 05:54:29 +0000, priority: 1)
[getAllStats] [LosslessSwitcher.CMPlayerStats(sampleRate: 44100.0, bitDepth: 16, date: 2023-05-18 05:54:29 +0000, priority: 1)]
NEAREST FORMAT [__C.AudioStreamBasicDescription(mSampleRate: 44100.0, mFormatID: 1819304813, mFormatFlags: 4, mBytesPerPacket: 8, mFramesPerPacket: 1, mBytesPerFrame: 8, mChannelsPerFrame: 2, mBitsPerChannel: 24, mReserved: 0), __C.AudioStreamBasicDescription(mSampleRate: 44100.0, mFormatID: 1819304813, mFormatFlags: 68, mBytesPerPacket: 8, mFramesPerPacket: 1, mBytesPerFrame: 8, mChannelsPerFrame: 2, mBitsPerChannel: 24, mReserved: 0)]
[getAllStats] []
[getAllStats] []
same track, ignore cache
[getAllStats] []
[getAllStats] []
same track, ignore cache
from losslessswitcher.
fwiw I tested that album and couldn't repeat the error (v1.1/b11)
from losslessswitcher.
fwiw I tested that album and couldn't repeat the error (v1.1/b11)
I imagine some DACs handle sample rate resets more gracefully than others without dropouts.
It seems like LosslessSwitcher is doing something on every track change on this album on my system but I haven't worked out what exactly
from losslessswitcher.
thats the thing, no change happened, because they're all 44.1
the dac I was using actually has a noticeable dropout usually, with a physical click on changing. No changes or system confusion for me.
from losslessswitcher.
I found one particular repeatable sample rate change (but not reset): when adding tracks to "play next" it switches the sample rate to that of the new track
from losslessswitcher.
I can confirm the excessive switching - using an M Track 2x2 and M Audio AIR 192 4, as well as my Built-in Macbook Pro M1Max DAC.
It causes more like 2-5 seconds of total dropouts for me, switching often more like 2 or 3 times between sample rates, I have bit depth switching deactivated.
I can also confirm switching fairly early (too early) to another sample rate when the upcoming song has different properties, something like 2-3 minutes of playback too early.
Lmk how I can provide some logs, if needed! :)
from losslessswitcher.
I use a Fiio Q3 and at the start of every song it drops out for 1-3 seconds even when there isn't a switch (listening to an album rather than random songs)
Also happens whenever I drag the slider to another part of the song (forwards and backwards)
As soon as I quit the application and skip song/drag slider the issue goes away immediately.
from losslessswitcher.
Related Issues (20)
- Sample Rate no longer changes with Ventura 13.5.1 HOT 1
- Requires Homebrew installation method HOT 2
- Export current sample rate / bit depth to other apps HOT 1
- Doesn't work macbook m1 pro ifi zen dac apple music HOT 4
- Bit Depth Switching of beta11 may have no sound HOT 1
- Doesn't work in macOS Ventura 13.6 HOT 11
- Volume change to Max at every switch. HOT 1
- Misjudges sampling rate sometimes HOT 4
- LosslessSwitcher may not work with certain language configurations HOT 6
- Format switch in the menu of the application HOT 1
- No Sample and Bit rate switching with imported ALAC and WAV files. HOT 1
- Sample rate detection not working with Audirvana HOT 1
- Support for older macOS releases HOT 6
- Switch back to default sample rate/bit depth when Apple Music is paused or closed
- Does not switch rates with Colorfly CDA M1 external DAC HOT 1
- App Requires Interaction to Switch Sample Rates HOT 1
- Beachball of death HOT 10
- macOS 14.x Compatibility HOT 22
- music is 24bits even if it's 16 bits HOT 1
- "Play Next" causes bitrate change HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from losslessswitcher.