Extract HDCD, How I Can extract HDCD by software? |
Extract HDCD, How I Can extract HDCD by software? |
Jan 27 2005, 08:34
Post
#1
|
|
|
Group: Members Posts: 5 Joined: 26-January 05 From: Vladivostok(RU) Member No.: 19324 |
How I Can extract HDCD by software(EAC, WMP9...)?
|
|
|
|
![]() |
Jun 28 2007, 11:21
Post
#2
|
|
![]() Group: Developer Posts: 1317 Joined: 20-March 04 From: Göttingen (DE) Member No.: 12875 |
I reviewed the papers about HDCD you can find on the net again recently. Here's my current view on it:
The dithering/noise shaping part they were advocating is nothing special. In fact, it is inferior to what other programs do (like Foobar or my requant.jar tool) and not provably safe in the sense that it avoids nonlinear distortions. You can't even call it "noise shaping" because it only introduces a bit of colored dither which has more power above 16 kHz -- it doesn't shape quantization noise. If you decode the peak compression thingy (assuming it has been used) you can restore the upper 5 dB of the dynamic range which is usually rarely used (only for the occasional peaks, that's the idea). Then there's the reconstruction filter selection. The whole idea of this is at least questionable. (I seriously doubt that this constitutes any subjective improvement!) HDCD also supports some kind of dynamic range compression for the lower levels. It works like this: Quiet signals can be amplified in steps of 0.5 dB (0.0-7.5 dB = 4 bit side information) smoothly before quantization. The side informations (whether peak compression is used, which reconstruction filter to use and the compressor gain) is transmitted via the least significant bits with the help of a linear feedback shift register. The only information you can't find on the net is how they actually code this side information. So, you can't implement a proper decoder. Since the "benefits" of HDCD seem rather small it's -- in my humble opinion -- not worth to decode the stream to something like 24/44 or 24/88. One should rather keep it like it is and/or use a HDCD capable post processing algorithm within your player of choice (which only is supported by Microsoft's Mediaplayer IIRC). In terms of signal-to-noise ratio (I'm not referring to peak signal to noise ratio), proper HDCD decoding won't help you a thing. The only thing you can improve is restoring the slightly compressed dynamics. Cheers! SG edit: fixed typos This post has been edited by SebastianG: Jun 28 2007, 11:26 |
|
|
|
Aug 22 2007, 10:57
Post
#3
|
|
|
Group: Members Posts: 34 Joined: 21-March 07 Member No.: 41689 |
I've had a go at understanding hdcd; see,
http://forum.doom9.org/showthread.php?t=129136 If you decode the peak compression thingy (assuming it has been used) you can restore the upper 5 dB of the dynamic range which is usually rarely used (only for the occasional peaks, that's the idea). If range expansion is enabled then samples less than -3.11dBFS (<= 0x5980) are attenuated by 6dB, samples greater than -3.11dBFS are attentuation progressively less, giving the end mapping of 0dBFS to 0dBFS. If range expansion is not enabled (including non hdcd's) all samples are simply attenuated by 6dB. Then there's the reconstruction filter selection. The whole idea of this is at least questionable. (I seriously doubt that this constitutes any subjective improvement!) I'm not sure how this works exactly. There are 3 bits left that could be used for controlling the reconstruction filters, although there were always zero in all my test cds, and wmp didn't seem to respond to them at all. HDCD also supports some kind of dynamic range compression for the lower levels. It works like this: Quiet signals can be amplified in steps of 0.5 dB (0.0-7.5 dB = 4 bit side information) smoothly before quantization. Exactly so. The side informations (whether peak compression is used, which reconstruction filter to use and the compressor gain) is transmitted via the least significant bits with the help of a linear feedback shift register. The only information you can't find on the net is how they actually code this side information. So, you can't implement a proper decoder. Just needed a little bit of cryptanalysis. On a candidate hdcd, during the silent intro at the start, the left and right channels matched exactly with a delay of a few hundred samples. This delay was rather fortunate, as it was hence, possible to identify where an hdcd code had been inserted by looking for a section where the correlation between the two channels stopped briefly. The locations of these sections were such that it was clear that the hdcd codes had been inserted into the left and right channels at the same time, and it was hence possible to assemble a set of encoded hdcd codes. Guessing that hdcd codes would contain some sort of magic number to mark them, and that a maximal length LFSR would have been used, it was simply a matter of trying all maximal length LFSRs on the data and looking for some correlation between them. Hence, being able to extract hdcd codes, it was then fairly straighforward to use wmp as a reference to determine exactly what each bit of the code did. Chris |
|
|
|
SCIF Extract HDCD Jan 27 2005, 08:34
Garf HDCD just uses the standard 16 bit CD Audio encodi... Jan 27 2005, 10:28
PoisonDan QUOTE (Garf @ Jan 27 2005, 11:28 AM)For playb... Jan 27 2005, 10:50
SCIF QUOTE (PoisonDan @ Jan 27 2005, 07:50 PM)But ... Jan 28 2005, 03:31
Garf Perhaps it could work when you mount the ripped wa... Jan 27 2005, 11:44
precisionist QUOTE (SCIF @ Jan 28 2005, 03:31 AM)QUOTE (Po... Jan 28 2005, 11:17
SebastianG QUOTE (precisionist @ Jan 28 2005, 02:17 AM)M... Jan 28 2005, 17:02
adlai I was always under the impression that HDCD was si... Jan 28 2005, 18:00
SebastianG QUOTE (adlai @ Jan 28 2005, 09:00 AM)I was al... Jan 28 2005, 18:59
krabapple QUOTE (SebastianG @ Jan 28 2005, 13:59) Q... Jun 27 2007, 20:44
ProtectYaNeck36 QUOTE (SebastianG @ Jan 28 2005, 11:59) Q... Oct 20 2007, 17:41
user QUOTE (SCIF @ Jan 27 2005, 08:34 AM)How I Can... Feb 1 2005, 11:31
Night Rain QUOTE (user @ Feb 1 2005, 02:31) QUOTE (S... Mar 21 2007, 12:38
ShowsOn I just noticed this thread, and given that I fina... Feb 1 2005, 13:10
user as written above, normally 24 bit playback of audi... Feb 1 2005, 13:45
precisionist QUOTE (ShowsOn @ Feb 1 2005, 01:10 PM)I resta... Feb 2 2005, 13:26
user QUOTE (precisionist @ Feb 2 2005, 01:26 PM)My... Feb 3 2005, 12:02
Pio2001 QUOTE (user @ Feb 3 2005, 01:02 PM)QUOTE (pre... Feb 3 2005, 21:25
precisionist QUOTE (Pio2001 @ Feb 3 2005, 09:25 PM)QUOTE (... Feb 4 2005, 14:23
SebastianG QUOTE (precisionist @ Feb 4 2005, 05:23 AM)Th... Feb 4 2005, 16:34
Pio2001 No software, exept maybe the combination of Window... Feb 4 2005, 23:29
krabapple QUOTE (Pio2001 @ Feb 4 2005, 17:29) No so... Feb 8 2007, 19:15
precisionist QUOTE (SebastianG @ Feb 4 2005, 04:34 PM)Does... Feb 7 2005, 17:01
Eric Carroll There has been a long running thread on the Slim D... Feb 26 2007, 06:56
markanini Wow, I wish I knew about this plugin before.
Final... Feb 27 2007, 01:40
Eric Carroll QUOTE (markanini @ Feb 26 2007, 19:40) Wo... Feb 27 2007, 04:42
markanini QUOTE (Eric Carroll @ Feb 27 2007, 05:42)... Feb 27 2007, 05:26
markanini Since I got too excited about this, here are the w... Feb 27 2007, 06:31
Eric Carroll Thanks for looking into this.
QUOTE (markanini ... Feb 27 2007, 06:57
markanini For the sake of visual comparison I adjusted the w... Feb 27 2007, 07:08
Eric Carroll Well your results sure look like what I expected t... Feb 27 2007, 07:14
markanini I used WMP 10. Feb 27 2007, 07:17
SebastianG I recall someone mentioning on the audioasylum for... Feb 27 2007, 09:49
user I have an alternative idea to capture the 2 stream... Mar 21 2007, 11:41
M QUOTE (Christopher Key @ Aug 22 2007, 04... Aug 22 2007, 15:33

Christopher Key QUOTE (M @ Aug 22 2007, 15:33) QUOTE (Chr... Aug 22 2007, 17:54
gabeg QUOTE (Christopher Key @ Aug 22 2007, 03... Aug 24 2007, 01:15

Christopher Key QUOTE (gabeg @ Aug 24 2007, 01:15) QUOTE ... Aug 24 2007, 11:03
MRC01 QUOTE (Christopher Key @ Aug 22 2007, 01... Oct 18 2007, 06:14
SebastianG Nice work! ... The infos about the LFSR are av... Aug 22 2007, 13:50
Christopher Key QUOTE (SebastianG @ Aug 22 2007, 13:50) N... Aug 22 2007, 14:04
eevan You can find this link at Wikipedia.
Take a look... Aug 22 2007, 15:29
Christopher Key QUOTE (eevan @ Aug 22 2007, 15:29) You ca... Aug 22 2007, 16:28
eevan I've just tried your command-line decoder on o... Aug 22 2007, 17:12
eevan Thanks!
Cheers Aug 22 2007, 17:58
SebastianG I didn't try but I'd guess the answer is: ... Aug 24 2007, 09:15
dmckean It works for me. I think the real solution needs t... Aug 25 2007, 01:24
Christopher Key QUOTE (dmckean @ Aug 25 2007, 01:24) It w... Aug 25 2007, 16:42
SebastianG QUOTE (Christopher Key @ Aug 24 2007, 12... Aug 27 2007, 08:21
Christopher Key QUOTE (SebastianG @ Aug 27 2007, 08:21) Q... Aug 27 2007, 23:17
Christopher Key QUOTE (Christopher Key @ Aug 27 2007, 23... Aug 29 2007, 19:12
krabapple QUOTE (Christopher Key @ Aug 29 2007, 14... Aug 30 2007, 20:20
Walrusbonzo Interesting stuff, I have 20~ HDCDs around here.
... Aug 27 2007, 09:45
adamjk QUOTE (Walrusbonzo @ Aug 27 2007, 10:45) ... Aug 27 2007, 11:36
Raiden hdcd.exe < 16bit.wav > 24bit.wav Aug 27 2007, 12:02
Walrusbonzo Thanks guys.... Got it working. Aug 27 2007, 13:44
Walrusbonzo I've started to run all my known HDCD encoded ... Aug 27 2007, 15:20
bryant QUOTE (Walrusbonzo @ Aug 27 2007, 07:20) ... Aug 31 2007, 05:36
SebastianG QUOTE (bryant @ Aug 31 2007, 06:36) I als... Aug 31 2007, 08:27

bryant QUOTE (SebastianG @ Aug 31 2007, 00:27) Q... Sep 1 2007, 05:49
Christopher Key QUOTE (bryant @ Aug 31 2007, 05:36) Chris... Aug 31 2007, 11:55
bryant QUOTE (Christopher Key @ Aug 31 2007, 03... Sep 1 2007, 06:14
Christopher Key QUOTE (bryant @ Sep 1 2007, 06:14) I had ... Sep 13 2007, 13:19
skamp FLAC seems to support 20 bit audio. I don't su... Aug 27 2007, 16:38
Walrusbonzo QUOTE (skamp @ Aug 27 2007, 16:38) FLAC s... Aug 27 2007, 17:43
SebastianG One could modify the decoder to output 24 bit samp... Aug 27 2007, 18:10
Walrusbonzo QUOTE (SebastianG @ Aug 27 2007, 18:10) S... Aug 27 2007, 18:30
skamp QUOTE (SebastianG @ Aug 27 2007, 19:10) S... Aug 27 2007, 18:42

lucas1985 I'm with SebastianG. This decoder should be re... Aug 27 2007, 20:09
SiriusB QUOTE (SebastianG @ Aug 27 2007, 11:10) O... Aug 30 2007, 03:38
eevan QUOTE (SiriusB @ Aug 30 2007, 04:38) Rega... Aug 30 2007, 11:39

skelly831 QUOTE (eevan @ Aug 30 2007, 03:39) When I... Aug 30 2007, 15:33
Christopher Key QUOTE (SiriusB @ Aug 30 2007, 03:38) Hi g... Aug 30 2007, 16:33
krabapple QUOTE (Christopher Key @ Aug 30 2007, 11... Aug 30 2007, 19:56
Christopher Key [quote name='krabapple' date='Aug 30 2... Aug 31 2007, 11:37
SiriusB QUOTE (Christopher Key @ Aug 31 2007, 04... Aug 31 2007, 12:14

Christopher Key QUOTE (SiriusB @ Aug 31 2007, 12:14) Rega... Aug 31 2007, 12:50
Christopher Key QUOTE (Christopher Key @ Aug 31 2007, 11... Aug 31 2007, 17:35
Christopher Key QUOTE (Christopher Key @ Aug 31 2007, 17... Aug 31 2007, 21:52

SebastianG QUOTE (Christopher Key @ Aug 31 2007, 22... Sep 3 2007, 12:27

gabeg QUOTE (SebastianG @ Sep 3 2007, 05:27) Pe... Sep 4 2007, 17:31

SebastianG QUOTE (gabeg @ Sep 4 2007, 18:31) So does... Sep 5 2007, 08:29

Christopher Key QUOTE (SebastianG @ Sep 5 2007, 08:29) QU... Sep 13 2007, 14:13
SiriusB QUOTE If anyone has access to a hardware decoder w... Sep 1 2007, 00:36
Christopher Key QUOTE (SiriusB @ Sep 1 2007, 00:36) QUOTE... Sep 1 2007, 16:09
skamp QUOTE (Christopher Key @ Sep 1 2007, 17:0... Sep 1 2007, 18:50
Christopher Key QUOTE (skamp @ Sep 1 2007, 18:50) QUOTE (... Sep 13 2007, 14:02
edwardar Can I just say I'm very excited about this too... Aug 27 2007, 23:05
Dynamic The older foobar v0.8 series do allow Playback/Bit... Aug 28 2007, 10:06
SiriusB Yes, piping makes more sense than the way I did it... Aug 31 2007, 13:20
Egor FLAC --best compression results, 1.2.0 ICL compile... Aug 31 2007, 14:38
Christopher Key QUOTE (Egor @ Aug 31 2007, 14:38) FLAC --... Aug 31 2007, 22:40
Fool_on_the_hill I did ABX on track Wag The Dog from Mark Knopfler... Aug 31 2007, 21:19
Dynamic QUOTE (Fool_on_the_hill @ Aug 31 2007, 21... Sep 1 2007, 01:13
Triza Excellent work. Christopher. Well done.
Any chan... Sep 1 2007, 00:34
Fool_on_the_hill QUOTE Dynamic Posted Yesterday, 18:13
QUOTE(... Sep 1 2007, 20:32
Dynamic Thanks for the info, FotH. I hadn't noticed th... Sep 2 2007, 18:37
Cavaille for heavens sake!!! it´s finally happe... Sep 6 2007, 18:55![]() ![]() |
|
Lo-Fi Version | Time is now: 23rd May 2013 - 02:23 |