Lossless SD-card player

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
John,

Is my understanding correct that you are using an external 1.4112MHz clock to drive both DAC and dsP, but the LRCLK (44.1kHz) is generated by the dsP itself and fed to the DAC toegther with SDATA ? Or are you using a 11.2896MHz master clock and derive the bit clock at 1.4112MHz with logic IC?

Would it not be possible also to use logic (74HC4040 or else) to generate the LRCLK as well and set the dsP to receive LRCLK, as in e.g. CS4812 ?

What are the advantages & disadvantages ?


Thx,
Patrick
 
EUVL said:
Could not agree more. Unfortunately, it seems not many people see the beauty of this.

Have to agree with Scott and Patrick (and unfortunately this applies to real life, not only this website).

FWIW, you can pick up a Roland R-1 second-hand for less than 100 dollars and experiment with a device that does many of the same things as ecdesigns' (albeit undoubtedly at a cruder level). If people do this and experience the improvements, I think that they will be more enthusiastic (again, maybe not) ;).

BTW. does anyone have the schematic for the R-1, or know where one can be obtained? I've been running mine in TOSLINK mode, but would like to experiment with I2S.

TIA and regards, jonathan

PS. More versatile yet would be a DAC with a hefty RAM buffer in it, along the lines of the Chord and similar DACs (some of which exist in kit and schematic form). The latency can be off-putting, but such a DAC is the closest to being truly transport-agnostic as I've experienced.
 
Jonathan,

I saw your remark about the Edirol on the other thread, and went back to the beginning of this one for similar remarks from Onno.

While it has all the interfaces for SD cards, etc., I just wonder how jitter "free" the I2S signal might be coming out of such a recorder. For one, the dsP or uP in such a recorder has to do a lot more things than just retrieving 16 bit 44.1kHz. Would it perhaps not compromise the timing of the output data ?

On top of that, feeding it with the same master clock as the DAC might be more work than starting from scratch ?


Patrick
 
For good order I post here my reply email to Jonathan


Quote

Dear Jonathan

Here is the service manual of the R1

At the AK4363 pin 8 = LRCK, pin 6 = BCK, pin 7 = DATA , for I2S
pin 2 = TX out (goes tot optical) for coax spdif

Concerning the 774T: Sounddevices is very stingy, even not a block schematic !!

I operate the 744T only in 44.1 khz and 16 bit recording with ditter. (it is in the menu)
Play back the same.

I made an external battery powered word clock only on 44.1 Khz in a smal metal housing holding the batteries to. (BNC out 75 Ohm)
The 744T has a word clock in and output (BNC).
You will love the warm sound.
The internal clock is sh.......urgg !! I think polluted by the rest of the internal circuit even when it is working on the battery.

My R1 is now with my son (17) in NY studying piano at Juilliard. So no playing around here possible
But one suggestion: The internal clock is running on 11,289.6 mhz on the large DSP chip.
Perhaps external clocking does it !!

BTW I got same results with a VXpocket PCMCIA card on a Lenovo X61s running on an external battery powered (spdif) clock on 11,289.6 Mhz (from my DYI AD converter).

Best regards,

Onno

Unquote

Onno
 
Hi EUVL,

Is my understanding correct that you are using an external 1.4112MHz clock to drive both DAC and dsP, but the LRCLK (44.1kHz) is generated by the dsP itself and fed to the DAC toegther with SDATA ? Or are you using a 11.2896MHz master clock and derive the bit clock at 1.4112MHz with logic IC?

The prototype now runs on a 2.8224 Mhz clock (derived from an extreme low jitter 11.2896 MHz master clock). The 1.4112 MHz DAC chip bit clock is derived from the DSP bit clock output that is synchronously reclocked by the master clock. Both DATA and WS are also synchronously reclocked with the master clock in order to ensure very low jitter on all I2S signals.

The master clock is a new development, it's a discrete circuit that unlike conventional crystal oscillators, is insensitive to power supply hoise / interference. This enables extreme low jitter amplitude and much flatter jitter frequency spectrum with practical power supplies. Most crystal oscillators produce highest jitter amplitude at lower frequencies, jitter amplitude will drop with increased jitter frequency. Unfortunately these lower jitter frequencies do have highest impact on sound quality.

Second problem is that the crystal oscillator performance will be degraded (sine wave distorts) when loads are connected. This is mainly caused by the fact that the load (clock buffer for example) is connected to the same circuit that maintains oscillation, the slightest crosstalk through the connected load will result in a distorted sine wave and increased timing jitter. Clock buffers can't prevent this effect (stray capacitance between both input and output).

The new master clock has two separate and identical circuits, one maintains oscillation and is not connected to the load. The other (also connected to the crystal) drives the load. Transformer-coupled output is used to produce a balanced output and provide galvanic insulation from the crystal oscillator.

The SD-card player prototype setup is now fully operational, and listening tests with the new master clock have already been performed.


The SD-card player now automatically detects and supports SD / SDHC memory cards, and should be able to support up to 32Gb cards.

Data transfer speed between SD-card and RAM buffer was further optimized / increased, providing very large margin for error (SD-card latency). Many different SD-card capacities and brands were tested, and all SD-cards (except for the very slow versions without speed rating) work excellent. In general, all SD / SDHC cards with speed rating of 2 and higher will do fine.

The SD / SDHC card must be formatted with FAT32, it's best to re-format new cards using a suitable card reader and OS.

After the SD-card has been inserted, the player will scan for directories (CDs), and WAV files within each directory (tracks).

The directory names should be preceded by a 2-digit number, same applies for the track names. The player can skip "missing" CD or track numbers, so when the directory names start with 01, 02, 40, 52, the corresponding disk numbers will appear on the display.

I attached a photograph of the SD-card player test setup. The left display indicates the disc number (up to 99), the right display indicates the track number (up to 99). The decimal point indicates disc and / or track shuffle mode.

There are two keys (-) and (+) for each display, these are used to select CD, track and shuffle. The remaining 2 keys are (stop) and (start / pause).


The keys are connected to the DSP (located on the upper PCB), and the displays are connected to a second micro controller that receives RS232 commands (single wire) from the DSP. This way DSP load (and interference) is minimized.

The prototype on the picture runs on a 5V USB power supply, and still had the conventional crystal oscillator.
 

Attachments

  • sdproto1.jpg
    sdproto1.jpg
    72.8 KB · Views: 2,001
Patrick, I don't know how much jitter is present in a field recorder, but like you, my opinion is that the less the uP has to do, the better. FWIW, I do note sonic differences between models, but this could be down to other difference such as TOSLINK vs. AES/EBU vs. SPDIF, power supplies et al, so at best we can surmise as to the relation between uP workload and sound quality.

As to uP peripheral tasks compromising timing, my opinion is that you are right. However, the question should probably be rephrased to "how bad" and "compared to what".

At least so far I get clearly better sound from the R-1 and 744T than any other transport that I have tried, including various PC audio servers and every conventional electro-mechanical transport. And that's without performing any design or solder work :D.

I have about given up on conventional electro-mechanical transports for serious work, and I am close to that with audio PCs. However, I am now in the process of building a new audio PC that is completely fanless and has an external power supply and an SSD, and it would be very nice if there are improvements.

Since Onno was kind enough to send the service manual for the R-1, I will look into the feasibility of altering the output format and changing the oscillators/regulators (and perhaps adding a clock-slave link). I think that this route will be quite a bit easier than starting from scratch, but I am still interested on ecdesigns' progess :).

BTW, note that the issues of digital playback can be attacked from the opposite side (the DAC). and it may be instructive to have a RAM DAC around, like the Chord 64 or Soul Note DC 1.0. Since most of you probably aren't familiar with the Soul Note (a single-minded DAC that doesn't have a PLL and only accomodates 44.1kHz :D), here is a link to the product catalog.

Soul Note DC 1.0 DAC Catalog pdf

Here is also the Japanese webpage for a DIY/kit DAC which was inspired by the Soul Note.

Easy Audio Kit Memory Buffer DAC

There is a reasonable amount of technical information on the latter page, but I think that I can find other webpages with useful information (if anyone is interested).

Such DACs really do seem to be transport-agnostic, and practically eliminate the sonic differences between transports (even when the listening tests are performed sighted).

regards, jonathan carr
 
Hello EC, i have 1 question
does your SD card player also read micro SDHC format?
i found at a price of 17 euros such a small card with capacity of 8 GBs and comes with 3 bigger adapters which makes it work from mobile telephone devices to normal SD card readers and also 1 adapter to an USB stick ,so it's handy for anything related to backup out there

An externally hosted image should be here but it was not working when we last tested it.
 
Hi luxury54

does your SD card player also read micro SDHC format?

yes, the player accepts SD, SDHC, and micro SD(HC) with an adapter.

The player uses a smart algorithm to initialize and automatically detect cards of different type and capacity.

The memory card speed rating needs to be 2 or higher. Cards with no speed rating might still work (depends on brand).

It's important to format the memory cards properly prior to writing the WAV files on it, pre-formatted cards usually don't work and need to be re-formatted.

Some SD cards (4Gb) may need to be formatted with FAT16 for correct operation. In general FAT32 can be used, this is required for card capacity of 8Gbytes and higher.

We tested many different brands and capacities varying from 2 to 8 Gbytes. The player should be able to support up to 32Gb memory cards. We are still waiting for 64Gb card specs, and support of these cards will be added later (firmware upgrade).


I attached a picture of some SD-cards we tested, the only one that failed was the 2Gb Verbatim, but it had no speed rating.
 

Attachments

  • sdcards.jpg
    sdcards.jpg
    70 KB · Views: 1,403
great,then I'll buy one of these Micro SDHC cards together with their adapter for future use ;)
also ,do you have an estimated price for this device and their future availability for interested customers?
(how soon do you estimate that this wonderful player would be ready for selling)

p.s.
1 question that i asked in another TDA1543 thread and i would like to know your opinion regarding your implementation of TDA1543 from the SD-Card player was :
Don't you consider 1,56 Vpp as being too low as output level in direct comparison with stock cd-players that have 2Vrms (5,6Vpp) Line out levels?
 
Why not have something that can play music straight off a portable hard drive AND the SD card (like a combination of them both). Tons of music and easy storage/portability. You could probably make it to be the size of 2 PSPs if you wanted like 425 gigs and the SD card...and if you add a USB port then the options are endless. I know this sounds similar to a PC but this way it could possibly have less processing and probably less distortion or whatever.
 
SD-Cards are nice but with lossless it is more expensive than a nice 320 GB 2.5" HDD. But I think SD-card player would be very cool. You'll get 12 CDs on one 8GB card and such a thing costs around 15€.

What seems to me a bigger problem is the low output Vrms of the I/V-stage. I just have a paramount passive Lightspeed with 7k input impedance (and no gain:( ). The output impedance of that I/V-stage should be aroun 700 Ohm I guess. But howto get more power out of the TDA?
 
Hi Tolu,

SD-Cards are nice but with lossless it is more expensive than a nice 320 GB 2.5" HDD. But I think SD-card player would be very cool. You'll get 12 CDs on one 8GB card and such a thing costs around 15€.

HDD drives have (multiple) integrated clocks (crystal oscillators), these will intermodulate with the DAC masterclock. HDDs also have servo's that cause power supply pollution, this is highly problematic.

Acessing the data on the HDD would also require a much more powerful processor (SD-card player main processor is approx. 40 MIPs), this further increases interference levels. Finally, when storing so much data on a single HDD, you will require a suitable user interface, this includes a graphic processor. So it's basically designing a computer, and no significant advantage is achieved.

The SD-player has only one single clock source. During playback, software intervention is minimized, the player mainly runs on DMA transfers, a dedicated RAM buffer and the DCI module. Software was optimized for highest efficiency and lowest possible noise levels.

The limited SD-card capacity allows for a simple straight-forward user interface with some LED displays and keys. The memory cards can also serve as extra back-up.

Other advantage is the complete silent operation, HDDs always make some noise.


What seems to me a bigger problem is the low output Vrms of the I/V-stage. I just have a paramount passive Lightspeed with 7k input impedance (and no gain ). The output impedance of that I/V-stage should be aroun 700 Ohm I guess. But howto get more power out of the TDA?

In order to get best sound quality (especially at low volume settings) I had to abandon the conventional signal path with pre-amps and volume control.

Now I directly drive my DC-coupled power amp (47 K Ohm input impedance / gain 46x) with the DAC (1.5Vpp), there is only one coupling cap in the entire signal path, volume control was removed.

This means I use maximum power amp output signal, all the time. It also means that I waste no DAC output power, but use all available DAC output power to drive the amplifier.

Volume is now controlled by limiting the amount of power that flows into the speakers (after the power amp). This greatly improves S/N ratio, and also attenuates the effects of cross-over distortion. At average volume settings, my class AB power amp now sounds like a class A amp. Noise and hum (close to the speaker) at these volume settings are completely inaudible.


But if required, the DAC output signal can be amplified. It could then easily output up to 2V rms.

This voltage is then attenuated by a potentiometer, wasting a lot of DAC output power, now only a very small fraction ends-up at the power amp. So volume has to be turned up quite a bit to get reasonable sound quality.
 
-ecdesigns- said:


In order to get best sound quality (especially at low volume settings) I had to abandon the conventional signal path with pre-amps and volume control.

Now I directly drive my DC-coupled power amp (47 K Ohm input impedance / gain 46x) with the DAC (1.5Vpp), there is only one coupling cap in the entire signal path, volume control was removed.

This means I use maximum power amp output signal, all the time. It also means that I waste no DAC output power, but use all available DAC output power to drive the amplifier.

Volume is now controlled by limiting the amount of power that flows into the speakers (after the power amp). This greatly improves S/N ratio, and also attenuates the effects of cross-over distortion. At average volume settings, my class AB power amp now sounds like a class A amp. Noise and hum (close to the speaker) at these volume settings are completely inaudible.


But if required, the DAC output signal can be amplified. It could then easily output up to 2V rms.

This voltage is then attenuated by a potentiometer, wasting a lot of DAC output power, now only a very small fraction ends-up at the power amp. So volume has to be turned up quite a bit to get reasonable sound quality.

I like rudimental designs, too. But I - and perhaps most others - would prefer a more versatile output stage solution. So, 2V rms is a minimum requirement as well as a low output impedance. I don't know the sound of the TDA1543 but I think with 0.90 € it is an old entry level DAC and your whole system should be deserving something better (e.g. 1541A). Perhaps you can give some more details to your words "DAC output signal can be amplified".

I hope you will soon finish your development and offer us a ready-to-use kit. I am very impatient to hear and see more of it.
:)
 
Hi Tolu,

I like rudimental designs, too. But I - and perhaps most others - would prefer a more versatile output stage solution. So, 2V rms is a minimum requirement as well as a low output impedance. I don't know the sound of the TDA1543 but I think with 0.90 € it is an old entry level DAC and your whole system should be deserving something better (e.g. 1541A). Perhaps you can give some more details to your words "DAC output signal can be amplified".

The TDA1543 is hooked up quite different compared to other designs, and it receives a virtually perfect I2S signal, then a 0.90 € DAC chip can be VERY impressive. And that's basically why it's still in the SD-player, I can't find anything wrong with the sound, even when playing critical test tracks that DO go wrong on other DACs and CD players.

The TDA1543 output signal can be amplified using simple discrete amplifiers with a gain of 4, this can already be achieved using a single JFET, or a suitable tube (Lampizator circuit for example).

The version with the TDA1543 is the low cost version, it easily outperforms all TDA1541A-based DACs I built so far, including 4 x TDA1541A-S1 and 8 x TDA1541A. This clearly indicates how important / critical the digital audio source actually is.

The SD-player will have a pin header with the clock and I2S signals: MCK (11.2896 MHz), BCK (1.4112 MHz), WS, and DATA. So other suitable (OS) DAC chips can be used (with up to 8 * oversampling if desired). In this case the TDA1543 chip is simply removed from the socket.

I also plan to construct a TDA1541A-based SD-player, perhaps with optional tube amplifier. Here I will probably use the 12-crystal master clock (very high Q factor), discrete shunt regulators (+5V, -5V, -15V), the latest differential 2.8224 MHz DEM clock circuit, and the I2S attenuators.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.