Lossless SD-card player - Page 2 - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source
Home Forums Rules Articles diyAudio Store Gallery Wiki Blogs Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

Digital Source Digital Players and Recorders: CD , SACD , Tape, Memory Card, etc.

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Thread Tools Search this Thread
Old 18th March 2009, 01:54 AM   #11
EUVL is offline EUVL  Europe
diyAudio Member
Join Date: Oct 2003
Most interesting.

There is at least the TEAC WAP2200, etc. on the market which can read FLAC, WAV, MP3, ..... and other formats from a USB stick or USN HDD, and for a bargain price of 120 Euros, but it only ruins it all with an SPDIF output (probably the only optional for a commercial product), so you get the problem back with different clocks for the Source and the DAC.

I2S out and DAC from the same clock is probably the best solution. Can we then use your linear interpolation idea as well and drive the Sabre 8 channel, effectively getting 18 bit, 192kHz ?

  Reply With Quote
Old 18th March 2009, 07:56 AM   #12
diyAudio Member
Join Date: May 2006
Location: Holland
Hi gene klein,

Are you willing to publish the mentioned fpga design.

I'm curious about the flac decoding part in the fpga

Small fpga you say, which type ?
What are you using for playback on the pc ?

We are not using a FPGA, it's a DSPIC33 series micro controller with dedicated on-chip hardware for SPI / I2S. It's a 28-pin chip (no SMD).

The intention is to support WAV only, FLAC decoding could be included as well, but creates too high interference levels (larger processor load). We are attempting to create a self-sustained DMA-controlled data flow, meaning that the controller is basically idling during playback, and will produce minimum interference. The main objective is to achieve best possible performance, not adding unnecessary features that would complicate things and would possibly degrade performance.

The SD-cards can be quickly re-written many times, so I don't see the need for using lossless compression like FLAC. Cheap SD-cards can already store 2Gb of data, that's already enough to store 4 CDs in WAV format. The latest cards have a capacity of up to 64Gb, and it's likely this capacity will be further increased. The 64Gb card will already be able to hold the maximum amount of 99 WAV CD images. It's also not practical to have so many CD images stored on a SD-card that's used in a basic player like this (browsing).

The WAV files are stored on the SD-card using a computer. This can be done by creating a sub directory for each CD, and simply copy the WAV files and CD cover-art in this directory, that's all. We also plan to provide software that extracts data from iTunes for example, and writes it on the SD-card using correct directory and file names. Next the SD-card is placed in the stand-alone player that will then work without computer.

We were thinking of the following approach for storing files:

Each CD image is placed in a separate sub-directory. The sub-directory name must start with a two-digit number, followed by artist name and CD name.

The WAV files (tracks) of that specific CD are placed in that sub directory, again using a two-digit number, followed by the track name.

The CD cover art is also placed in this directory, I always use 500 x 500 pixels and a file size of approx. 40Kb.

This way, all required data (Artist name, CD name, track names, and artwork) is present on the SD-card.

The computer can extract all data from the SD-card, and display the card contents, cover-art included. This information can be printed for reference. The data on the SD-card can be backed-up, read and written by any computer, without conversion.

The basic SD-card player will scan the SD-card upon insertion, and knows how many CDs and tracks are stored on the card. This information is then used to quickly display, and access the selected CD / track. The SD-card player will only scan for directories / files that start with a two-digit number. The SD-card player will (have to) use FAT32 for supporting higher SD-card capacities, and because of the integrated SD-card controller properties. We use an existing FAT32 library, offered by Microchip.

Each SD-card will also receive a unique number that will identify it (when multiple SD-cards are used to store a CD collection). The SD-card player displays this number upon insertion.

Depending on SD-card capacity, a play-list can be generated to play-back a maximum of 99 stored CDs images, or the equivalent amount of mixed tracks.

The player will be able to shuffle between stored CDs, tracks, or CDs and tracks.

The DSPIC micro controller will run on a very low jitter master clock. This master clock is located close to the DAC chip, and directly drives this DAC chip. Both DATA and WS will be generated by the DSPIC. This is possible because both devices run in sync, the DAC master clock basically slaves the controller.

Finally we plan to include a (slow speed) optical communications channel for extra functions like remote control, and retrieving information from the inserted SD-card.
  Reply With Quote
Old 18th March 2009, 10:35 AM   #13
diyAudio Member
Join Date: Dec 2004
Location: Brabant
Hi ecdesigns,

I was actually asking the question to cbroegger

Sorry for any missunderstanding

  Reply With Quote
Old 18th March 2009, 12:48 PM   #14
Onnosr is offline Onnosr  Netherlands
diyAudio Member
Join Date: Aug 2006
Default sd2i2s

Hi John EC

Are you interested in de schematics of the Edirol R1.

It has a clock running on 11.2896 and i2s intern feeding a DAC.
Easily diy for output i2s.

I am using now a 744T from Sounddevices (coax spdif) and I try to get schematics to get i2s out of it.

  Reply With Quote
Old 18th March 2009, 10:56 PM   #15
Javin5 is offline Javin5  Switzerland
diyAudio Member
Join Date: Mar 2006
Location: Switzerland
Hello -ecdesigns-, I was actually looking for something like you propose, but all I could find were dual players for mp3 aimed at the DJ-market. Your project makes a lot of sense, and I actually wonder why such a unit is not (yet) available on the market.

While music servers are one way to digitally store and play your music collection, they have several disadvantages: They are noisy and need to to be placed away in a room where the noise does'nt matter, they need a transmission to the stereo rig in the living room (cable or wireless), and if the worst happens, all your music is lost in a disc crash. If continuously run, such a server also consumes quite a bit of electricity over the year.

Your product would be able to store quite a bit of music on a single card. The cards are getting larger capacity and cheaper each year, which makes for a very attractive and future proof design. If a card is lost or damaged, only a fraction of your music is lost (and of course you could store backup cards to avoid this). No moving parts, no noise. Just a player that would replace your cd-player, but would be much more convenient. The clocking/jitter problem can be solved in a really elegant way. Couple this with an excellent ADC, and you have the potential to get really outstanding SQ. And imagine that you could store quite a number of chips in one CD sized box instead of having a whole bookshelf full of CD's. Since you probably would only occasionally change cards in the player, the player box could be in a cabinet, out of sight; most women would love this. Mavbe you could even allow for 4 card slots instead of one, which would allow for higher active storage capacity. I also could imagine that some audio companies would be quite interested to talk with you, once you have a working unit.

Just wanted to encourage you.
  Reply With Quote
Old 19th March 2009, 08:20 AM   #16
diyAudio Member
audio1st's Avatar
Join Date: May 2005
Location: Foxton, CAMBS..
Attached Images
File Type: jpg darksd.jpg (95.7 KB, 4981 views)
  Reply With Quote
Old 19th March 2009, 03:59 PM   #17
JC951t is offline JC951t  Taiwan
diyAudio Member
Join Date: Sep 2006
Hi Guys,
Putting aside the convenience. Would the play back
quality be as good as a good quality CDP ? The concept
by EC in itself is super but what about the corruption that
might be added during the transfer of data to the SD card ?
  Reply With Quote
Old 19th March 2009, 05:30 PM   #18
glt is offline glt  United States
diyAudio Member
Join Date: Oct 2004

Very nice!. I know you have a commercial interest, but have you thought of building a basic arduino shield with an sdcard reader and a dspic chip and some basic library to select a file and get the DMA going?. There is currently an "arduino wave shield" but very limited since it is using PIO
  Reply With Quote
Old 19th March 2009, 06:27 PM   #19
diyAudio Member
Join Date: May 2006
Location: Holland
Hi JC951t / git,

Would the play back quality be as good as a good quality CDP
The data from the SD-card player would be bit-perfect (file system data integrity), and the produced interference would be much lower compared to a CD servo system. The jitter should be way lower as it now only depends on master clock intrinsic jitter, and the distance from master clock to DAC chip. Finally, the SD-card player consumes far less power compared with a CD transport, so now it's much easier to keep the power supplies clean.

Unlike CD players, it's insensitive to shock / vibration, and jitter induced by the opto-mechanical servo system is also eliminated. Read errors don't occur, because the original CD can be ripped using programs like Exact Audio Copy.

This SD-card reader was basically the result of reaching a dead-end, using conventional digital audio sources (jitter, interface / interlink issues, and data integrity problems).

Very nice!. I know you have a commercial interest, but have you thought of building a basic arduino shield with an sdcard reader and a dspic chip and some basic library to select a file and get the DMA going?. There is currently an "arduino wave shield" but very limited since it is using PIO
It's my intention to construct a basic low-cost player with fewest possible components.
  Reply With Quote
Old 20th March 2009, 07:04 AM   #20
glt is offline glt  United States
diyAudio Member
Join Date: Oct 2004
Originally posted by -ecdesigns-
Hi JC951t / git,

It's my intention to construct a basic low-cost player with fewest possible components.
It would be nice to have the option to take the output from the I2S line and feed different DACs
  Reply With Quote


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

New To Site? Need Help?

All times are GMT. The time now is 06:36 PM.

vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Copyright 1999-2017 diyAudio

Content Relevant URLs by vBSEO 3.3.2