DSD Playback system, DSF Player + USB DDC + DSD Amplifier - Page 11 - diyAudio
Go Back   Home > Forums > Source & Line > Digital Source

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
Reply
 
Thread Tools Search this Thread
Old 13th August 2012, 12:06 AM   #101
Bunpei is offline Bunpei  Japan
diyAudio Member
 
Join Date: Aug 2008
I'm very sorry that the link I showed has been withdrawn by the author because of some complicated issues.
  Reply With Quote
Old 22nd August 2012, 11:45 PM   #102
Bunpei is offline Bunpei  Japan
diyAudio Member
 
Join Date: Aug 2008
On his blog page Sunacchi released again his WAV to DSDIFF Converter that supports a direct conversion from 44.1 kHz/16 bit PCM WAV to DSD256 wav2dff.zip. The version is 1.5.
Moreover, YUKI-SAN, prepared an associated GUI program for the converter.
Wav2DffGui_015_010001.zip. The GUI program requires .NET 4.0 frame work installed in your PC.

The new version of WAV2DFF.exe enables a multi-thread processing and the use of 65536 taps in FIR calculation.

You need to put the WAV2DFF.exe, vcomp90.dll and Wav2DffGui.exe in the same folder.
  Reply With Quote
Old 23rd August 2012, 06:44 AM   #103
diyAudio Member
 
Join Date: Feb 2009
Bunpei,
I downloaded the zipped files, extracted them and placed WAV2DFF.exe, vcomp90.dll and Wav2DffGui.exe in a new folder.

Running the programmes results in nothing but two "i" messages in what must be Japanese (I do not have Japanese character text installed in my system).

Any ideas what my mistakes are?

Cheers
David
  Reply With Quote
Old 23rd August 2012, 11:26 PM   #104
Bunpei is offline Bunpei  Japan
diyAudio Member
 
Join Date: Aug 2008
Oh, the GUI program shows an initial confirmation dialog in Japanese!
Its meaning is "Start a conversion process? [YES] [NO]"

Please click [YES] button to proceed.
  Reply With Quote
Old 28th August 2012, 05:26 PM   #105
diyAudio Member
 
Join Date: Jan 2011
Location: Germany
The software with GUI works perfectly here. A 44k1 50MB WAV file is - after a few minutes on my 4 core computer - converted into a 760MB DSD256 file

There are a few options, and I do not understand most fo them:
normalise offset
Kaiser window alpha value
tap count
7th noise shaper pattern number

I used the default values.

Bunpei, thank you for sharing us the link to the software!



/S
  Reply With Quote
Old 28th August 2012, 09:28 PM   #106
diyAudio Member
 
merlin el mago's Avatar
 
Join Date: Sep 2009
Location: Catalonia - Europe
Quote:
Originally Posted by staccatiss View Post
The software with GUI works perfectly here. A 44k1 50MB WAV file is - after a few minutes on my 4 core computer - converted into a 760MB DSD256 file

There are a few options, and I do not understand most fo them:
normalise offset
Kaiser window alpha value
tap count
7th noise shaper pattern number

I used the default values.

Bunpei, thank you for sharing us the link to the software!



/S
+1 finally can use it, many thanks Bunpei & KOON3876
  Reply With Quote
Old 30th August 2012, 01:50 PM   #107
Bunpei is offline Bunpei  Japan
diyAudio Member
 
Join Date: Aug 2008
Quote:
Originally Posted by staccatiss View Post
There are a few options, and I do not understand most fo them:
normalise offset
Kaiser window alpha value
tap count
7th noise shaper pattern number
These options are associated with internal parameters.
PCM to DSD conversion consists from two major steps.
1. Upsampling from 44.1kHz to 11.2896MHz (x 256)
Zero insertion and low pass filtering by a FIR digital filter
2. Delta-Sigma modulation

A. Tap counts
The number of taps used in the FIR digital filter
In general, the bigger number brings the better sounds. However, the longer processing time.

B. Kaiser window alpha value
The digital LPF uses a "window" function (the same term that appears in DFT(Discrete Fourier Transform))
Kaiser type window has a characteristic parameter "alpha" which determines a shape of window.

C. Normalization offset
In the FIR calculation for x 256 upsampling, a default normalization factor is 256. However, when an input sound data has a "clipping", it causes abnormality in the calculation. In order to avoid the error, an "offset" value for adjustment was introduced by Sunacchi as a work-around.
If your source contains clippings, you need to set a certain negative value, for example, -5 for this option. In this example, the effective normalization factor is 256+(-5)=251.

D. Pattern number for control parameter set
A noise shaper is a digital control circuit with a feedback. A z-transform notation is used for defining its transfer function. The noise shaper employed in the program is of 7th order. In general, the stability of the function can be estimated by the positions of "poles" and "zeros" in a Z-plane.
In this program, values of parameter zero are predefined in several sets. The pattern number is used to select one of the set.

To Koon,
If you find anything incorrect in the explanation above, please don't hesitate to point-out them.

Bunpei
  Reply With Quote
Old 30th August 2012, 04:28 PM   #108
diyAudio Member
 
Join Date: Nov 2006
Hi Bunpei
Yes, 'Clipping' Wave signal + LPF = more than 1.0 = inverted, and cause noise.
Good example will be, square wave + LPF = ringing or overshoot.
Some compression or normalization are required.
  Reply With Quote
Old 31st August 2012, 12:14 AM   #109
diyAudio Member
 
Join Date: Nov 2006
By the way.. this is compression function I'm using now.
Code:
#include <math.h>

float sigmoid2(float input, float limit)
{
	//sigmoid function to compress input signal.
	//input signal = any range
	// 0 < limit < 1.0, compression starts from this value
	// 4.0 at gain comes from derivative of sigmoid function (at x=0 delta=gain/4.0 )
	// output is compressed between -1.0 to 1.0
	// convert_param is to convert sigmoid output(0.50 to 1.0) to (limit to 1.0) 

	double convert_param = (1.0/(1.0 - limit))/2.0;
	double gain = 4.0 * convert_param;
	double sigmoid;
	double ret;

	if (input > limit)
	{
		sigmoid = 1.0 / (1.0 + exp(-1.0 * gain * (input - limit)));
		ret = limit +  (sigmoid - 0.50) / convert_param;
		return (float)ret;
	}
	if (input < -1.0 * limit)
	{
		sigmoid = 1.0 / (1.0 + exp(-1.0 * gain * (input + limit)));
		ret = -1.0 * limit + (sigmoid - 0.50) / convert_param; 
		return (float)ret;
	}
	
	return (float)input;
}
attached plot shows input range 0.80 to 1.30 is compressed below 1.0 from value 0.90, very smooth

Compression: no effect for small signal, total dynamic range is compressed.
normalization: no effect for total dynamic range but all signal reduced
Attached Images
File Type: png Compression.png (7.2 KB, 251 views)
  Reply With Quote
Old 31st August 2012, 08:15 AM   #110
diyAudio Member
 
merlin el mago's Avatar
 
Join Date: Sep 2009
Location: Catalonia - Europe
Heys guys your work is amazing & really appreciated.
  Reply With Quote

Reply


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


Similar Threads
Thread Thread Starter Forum Replies Last Post
USB DSD DAC and ADC by ElectrArt alexcount Digital Source 70 15th May 2014 12:30 PM
Dsd without D/A stage.... kyrochan Digital Source 15 30th March 2005 04:36 PM
What does a DSD DAC actually do? Cameron Digital Source 3 20th August 2004 05:18 PM
New DSD D/A chip SteveG Digital Source 0 27th August 2002 06:16 PM


New To Site? Need Help?

All times are GMT. The time now is 05:49 AM.


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

Content Relevant URLs by vBSEO 3.3.2