Testing audiophile claims and myths
Aug 10, 2023 at 9:32 AM Post #16,951 of 17,336
Can they affect audio quality?
SD cards in themselves shouldn’t affect audio quality in terms of fidelity or whatnot, assuming the cards are made to spec and not shoddy to begin with.

The math supports this. According to the wiki, the lowest specified read speed stands at 12.5MB per second. Doing some googling shows that a lossless, uncompressed WAV file is around 10MB per minute of recorded audio. This is even before compressing it to FLAC, which can reduce the file size to half or more. So ignoring the technicalities, by the time you hear the first few seconds of a song, the player would have finished loading the entire track into the player’s memory to play. In this case, your experience would be impaired if you skip from track to track frequency.

Theory aside, these days, it’s much easier to come across faster cards, and slow cards are often much smaller in capacity. Most people wouldn’t even consider a 2GB or 4GB card for their daily non-media uses anyway today.

I’d say the tech has matured enough that if you do experience issues, it’s either a counterfeit card or a subpar card reader in your player.
 
Aug 10, 2023 at 9:57 AM Post #16,952 of 17,336
I know faster rated cards are needed for recording video but stored music isn't as demanding as video.
Just to expand on what others have said. The data requirement of stereo 16/44 is 1.4Mb/s, for stereo 24/192 it’s about 9.2Mb/s. This 128GB sd card costs $14.19 and reads data at 800Mb/s! And if there are any errors in that data, then it’s broken. Pure snake oil!

G
 
Last edited:
Aug 10, 2023 at 12:42 PM Post #16,953 of 17,336
That question probably could have answered more directly and succinctly.
 
Aug 10, 2023 at 12:43 PM Post #16,954 of 17,336
80MB/s = 640Mb/s
1 byte (B) = 8 bits (b)
 
Aug 10, 2023 at 12:57 PM Post #16,955 of 17,336
80MB/s = 640Mb/s
1 byte (B) = 8 bits (b)
That’s strange, the link I put in seems to link to a different product, a $23 sd card with 80MB/s, I’ve edited the link but not sure if it will do the same again.

It should be this:
SanDisk 128GB Ultra MicroSDXC UHS-I Memory Card with Adapter
Which is $14.19 and a read speed of 100MB/s which = 800Mb/s
1 byte (B) = 8 bits (b)!

G

Edit: I think Amazon are changing their links/listings, it now says the price is $14.38.
 
Last edited:
Aug 10, 2023 at 1:04 PM Post #16,956 of 17,336
Well since the original link said 80MB/s, I thought there should be clarity about bits and bytes. Interestingly, with early computing number of bits in a byte could be different. But since adoption of 8bit computers taking up 8bits of info to encode a character....8 bits has become the standard byte.
 
Aug 10, 2023 at 1:28 PM Post #16,957 of 17,336
Well since the original link said 80MB/s, I thought there should be clarity about bits and bytes.
The original link said 100MB/s but when I clicked on it after I read your post, it linked to another sd card. It doesn’t really matter though, 640Mb/s is still 457 times faster than needed for stereo 16/44!
But since adoption of 8bit computers taking up 8bits of info to encode a character....8 bits has become the standard byte.
Are you sure about that? I thought ASCII was the character set at that time, which I believe used 7 bits to encode a character?

G
 
Aug 10, 2023 at 1:38 PM Post #16,958 of 17,336
Are you sure about that? I thought ASCII was the character set at that time, which I believe used 7 bits to encode a character?

G
That was standard ASCII. Extended ASCII has more characters and requires 8-bit. It was standardized by the 70s, and with the development of home computers. Computer software using UTF-8 (8-bit ASCII).

https://en.wikipedia.org/wiki/Extended_ASCII
 
Aug 10, 2023 at 1:58 PM Post #16,960 of 17,336
Wikipedia says it was first coined June 1956 by Werner Bucholz. I first said that number of bits in a byte weren't always 8, and that it became standardized as such with 8-bit computers (that could also support 8-bit character encoding).
 
Sep 12, 2023 at 8:22 AM Post #16,963 of 17,336
Completely loaded? Are you sure? Even if true, the system can't preload all the songs into the memory. And it can't predict what song you will choose next, and when. So how does it manage this?
The Song you are currently playing. Why should it load, songs you're not playing, into memory
 
Sep 12, 2023 at 9:10 AM Post #16,964 of 17,336
That can't be. Suppose the music file is larger then the memory?
That is actually a very good question. First of all, the CPU can only process data that is in memory. So everything that is going to be processed is ending up in Memory. That is how Operating System Kernels and Memory Management works.

For deeper details i recommend "Modern Operating Sytsems" from Andrew S. Tannenbaum. For an even deeper look, its "Design and Implementation of Modern Operating Systems" from the same person

But good question, what happens if the file is too big. Well that depends on a lot of factors. Android runs on an JVM on the Linux Kernel, so there are a lot of factors, memory management and garbage collecting involved.

I checked with smaller files, they get loaded into memory, but get scrapped from the memory pretty fast too but what does happen if a file is larger than the system memory.

The WM1ZM2 has 4GB of RAM so i created an 8 hour long white noise (which ended up being 3.7GB) which is too large for the RAM as the OS needs RAM too.

But no surprise here. It loads a small fraction of the file into the memory and if you skip to a position that is outside, it will have to load this part into memory to process it and unti its done, the song is like paused. The slower your storage, the longer the break you have to wait before music continues.

So my statement was over simplified. If the file is small enough and/or the memory big enough, it will be loaded completely into memory.

But this is still simplified as the memory is not just one thing. You have several types of memory. First you have the RAM, but then you have the L3, L2 and L1 caches of the CPU and the registers too. They have different sizes and speeds and are used different depending on CPU architecture. One possible solution is for example that L3 Cache is used for all cores in an CPU, while L2 cache is shared by two Integer Unit and one FPU (as you do less floating point calculations than integer) and the l1 cache is for an single Integer Unit.

The caches get smaller and smaller, but faster. For further reading i recommend Structured Computer Organisation, also from Andrew S. Tannenbaum.

But long story short --> Everything that gets touched by the CPU (which is everything that gets touched by any application) have to be in Memory but Memory Management is a whole world for itself. What storage you use before the memory is irrelevant as long as it is able to provide the data fast enough into memory where the CPU needs it. If your storage is not fast enough, you can either increase the storage speed or increase the memory size.

An average FLAC is 950kbps, so 118kbyte/s. So every SD Card that can transfer data faster than 118kbyte/s is sufficient (such slow SD Cards never existed. Even the slowest SD Cards easily handle 10+mbyte/s
 
Last edited:
Sep 12, 2023 at 11:35 AM Post #16,965 of 17,336
With some gapless settings in DAPs or computers, the next song(part of it usually) is loaded ahead of time. I’m far away from computer, but I believe there is an option to preload the entire track in Foobar2000.
How much gets buffered in each DAP is probably more case by case.
As for DACs, I don’t know if there exist some with massive buffers to try and load way ahead of time? Never read about that being done(why do it?).
 

Users who are viewing this thread

Back
Top