Hmmm, seem to have messed up the quotations here, I'll try to unpick it to make it more easier to follow:
Tony_R:the_lhc:Tony_R:
I was trying to suggest that perhaps something was happening to the bit stream after it had been read off the disk.
No, you weren't, this is what you said:
Tony_R: It stands to reason that differences will be
heard (although an explanation escapes me) between different sources,
whether USB, hard disk or otherwise.
This surely must be for similar reasons that differences can be heard
between different CD transports (into the same DAC).
My rather
simplistic view is that ultimately these devices are "only" rendering
0's or 1's (aka bits) off their media (whether that media be hard disk,
USB stick or CD) - and therefore the only reason that differences can
be heard,
are because these bits are not being accurately read from the
media.
My emphasis there, media in this case being the hard drive or USB stick.
I think the key words in that paragraph were
"my rather simplistic view" is that.... - in other words I was summising, rightly or wrongly.
Err, yes, and I've been trying to tell you that in this case you're wrong, however you don't seem to be prepared to accept that?
Tony_R:the_lhc:Tony_R: With disks, you also need to consider fragmentation.
It doesn't matter, fragmentation hasn't been a serious issue in computers for years, besides, in most cases music libraries consist of large files being written sequentially to largely empty disks. Those files are then left in situ, invariably they won't get moved, or copied somewhere (and frankly it makes little difference to fragmentation if they are), they'll just stay there, occasionally being read, which also, will not cause fragmentation. If anything I should think that a music library hard disk will be LESS fragmented than a normal system disk, for example. The data is much more static and it's deletions and re-writes that cause fragmentation.
This holds well for those people who create a one off copy of their library and that's that. But I'm sure there are many, many people who delete tracks (or entire albums) from their library, or even resample their music to a different bit rate etc. etc. All of which will without a doubt result in fragmentation, the scale of which depends on how much deleting / moving / resampling is being done. Is there a possibility that even re-writing the ID3 tag could result in a file being relocated to another portion of the disk?
Yes that's possible, but it STILL doesn't matter, and the reason is to do with the difference between the speed that the DAC needs to be fed data and the speed with which the file can be read from the disk, even a badly fragmented one. I'll pick this up a bit further down because you make another comment which can actually be answered at the same time.
What would happen if the buffer were too small? Would bits be lost, meaning that error correction would have to interpolate the missing bit(s), thereby affecting the sound?
No, if transmission to the buffer isn't quick enough, causing the buffer to empty, playback will simply stop. It has to, there's nothing there to play back. You can see this when you watch videos from YouTube over a connection that's too slow, everything stops until the buffer has re-filled. As for the buffer being too small, it's never going to happen, these aren't user-definable parameters (thank god!), the buffer is designed in the hardware to be the right size, if it isn't the device hasn't been designed properly.
I was referring to very brief losses rather than a complete stop. Therefore it's feasible that if the buffer empties, even for a fraction of a second, that a single bit could be lost, and no bit (i.e. no data = 0) and hence incorrect data.
But you're missing the point that a very brief interruption to the reading of data from the disk or storage wouldn't even be noticed, precisely because the DAC reads from its buffer and
the buffer will never empty.
I'll come back here to the point about the relative speed that a DAC reads in audio data and the speed the PC can pump it out:
The data rate of Audio CD is 1411.2 kbit/s, or 0.1764MBytes/s (not a lot is it?), that's the rate the DAC will need to receive the digital audio at in order to replay it at normal speed.
This is 708 times SLOWER than Gigabit ethernet, 70.8 times slower than normal 100Mbit/s (about 12.5MBytes/s) Ethernet (surprisingly enough!), or 38 times slower than "g" standard WiFi transmission (54Mbit/s, 6.75MBytes/s, assuming a perfect signal obviously), so even over wireless you could theoretically stream 38 CDs AT CD QUALITY AT THE SAME TIME from the same source computer (You couldn't in reality but reality has had very little to do with this thread so far...).
Now, according to
http://en.wikipedia.org/wiki/Hard_disk_drive (very interesting, read it, lots of stuff about the inbuilt error correction on HDDs), "as of 2008, a typical 7200rpm desktop hard drive has a sustained "disk-to-
buffer" (that's the HDDs own internal buffer, not any other buffer we've been talking about) data transfer rate of about 70 megabytes per second", compared to the SATA bus which can transfer at 300Mbytes/s (so no bottleneck there),
Now, let's assume we're using something like Sonos, so the data is being passed from the PC to the Sonos via network (lets call it 100Mb network), the network card in your PC is connected via PCI bus (worse case scenario, much slower than PCI-X or PCIe), that has a transfer rate of 133MBytes/s from SATA bus to network card, so:
Disk-to-Buffer: 70MBytes/s,
Buffer-SATA bus-PCI Bus: 300Mbytes/s,
PCI Bus-Network Card: 133Mbytes/s,
Network Card to Sonos Zoneplayer: 12.5Mbytes/s.
Required input rate of DAC: 0.1764MBytes/s
The biggest bottleneck BEFORE the DAC in this situation is the network, assuming everything is running at perfect speed the PC can supply data to the DAC's buffer more than 70 times faster than the DAC can cope with it. So let's assume there are problems and everything's only working at 50%, you still have breathing room to the tune of 35 times what is required by the DAC.
Taking it even further, let's take the example of someone passing the data, not over the network, but to their sound card which just pumps it out its digital output straight into the DAC, now it's:
Disk-to-Buffer: 70MBytes/s,
Buffer-SATA bus-PCI Bus: 300Mbytes/s,
PCI Bus-Sound Card: 133Mbytes/s,
The disk is now the bottleneck, but you've now got a supply rate nearly 400 times what the DAC requires, so under what sort of circumstances would you expect the buffer to ever get empty? Your PC would have to be on its knees before it couldn't supply the DAC with data fast enough to cause an interruption and you'd have far bigger problems than not being able to listen to music.
Also - when any PC is reading data from media, whether it be USB / Hard disk / CDROM - if a read is unsuccessful it will be retried until it is either successful or fails (within limits set by the operating system).This is what gives the operating system the ability to cope with disk corruption.
Read that wiki page, the disk itself will deal with corruption, once it gets to a point where it can no longer do that the disk will have failed.
What I am trying to suggest is, that in a busy computer providing a constant stream of data to some playback device, interruptions in this data stream could feasibly happen.
And they probably do, all the time, it just doesn't matter as the required data rate of the playback device is so slow it requires virtually no effort on the part of the computer. I mean hell, an iPod can manage it, how much work can it possible require? Very little is the answer.
I'm not trying to prove or disprove anything. I'm not taking an engineering view to this. Hence there is no clutching at straws - whether I'm right or wrong here matters not to me, I'm just trying to express my views based on my own experience.
This has to be one of the most bizarre things I've ever heard! "whether I'm right or wrong matters not to me", why do you keep disagreeing with the facts that are being presented to you then and coming up with nonsense arguments against them? Are you actually saying you don't care that I've proved the data to the DAC can't be lost but you're going to carry on believing that it matters anyway? Why am I wasting my time then?