HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

OSS specific Linux discussion (x86/amd64)

Moderators: hannu, dev, cesium, kodachi

HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby igorzwx » Fri Aug 19, 2011 8:30 am

Free download of HiRes audio files (audiophile reference recordings) for testing purposes - it is legal and free (from the producer website).
http://www.2l.no/hires/index.html

Available formats for free download:
1. Stereo WAV DXD 24BIT/352.8kHz
2. Surround 5.1 DXD (WAV) 24BIT/352.8kHz
3. Stereo DFF DSD 64 2.8224Mbit/s ("*.dff" does not work with DeadBeef)
4. Stereo WAV 24BIT/96kHz
5. Stereo FLAC 24BIT/192kHz
6. Stereo FLAC 24BIT/96kHz
7. Surround 5.1 FLAC 24BIT/96kHz

Everything works on Arch Linux (OSS4) with DeadBeef and Petrov's "scientific plugin", except for "*.dff" format.

The sound quality of those HiRes audio files is really fantastic (with Sennheiser headphones for audiophiles). You can play them even on a very old computer of 2001 (with downsampling), and, after downsampling to 48kHz with the Russian "exact scientific resampler", they sound much better than audio CDs.

The OSS4 drivers for Intel HDA soundcards (e.g. ICH7) support 32bit 192kHz format. Such soundcards can be found on many notebooks (2005-2011).
Code: Select all
$ lspci | grep -i audio
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)

Code: Select all
$ ossinfo -v9
    Output formats (0x00001010):
      AFMT_S16_LE   - 16 bit signed little endian
      AFMT_S32_LE   - 32 bit signed little endian
    Supported number of channels (min - max): 2 - 8
    Native sample rates (min - max): 44100 - 192000 (44100,48000,88200,96000,176400,192000)

DeadBeef is the Russian Ultimate Music Player for GNU/Linux http://deadbeef.sourceforge.net/
Petrov's "scientific plugin" for DeadBeef (free, but "closed source") is somehow distributed among the Russian "secret esoteric society of audiophiles".
Petrov's resampler (a very old version) can be downloaded here: viewtopic.php?f=3&t=3543&start=45#p15974

Sennheiser HD 201 Headphones (22 EURO in amazon.de)
http://www.sennheiser.com/sennheiser/ho ... nes_500155
Sennheiser HD 598 Headphones (144 EURO in amazon.de)
http://www.sennheiser.co.uk/uk/home_en. ... nes_504633
Sennheiser HD 595 Headphones Reviews:
http://www.head-fi.org/products/sennhei ... es/reviews

HiRes Download - test bench
http://www.2l.no/hires/index.html
To download audio please provide the username HD and the password 2L

We invite you to join us in this evaluation of future consumer delivery formats. FLAC is a lossless encoding of WAV-files derived directly from our production original used for the SACD and Pure Audio Blu-ray. All resolutions and encodings are derived from the same original DXD source files. Please send us an e-mail and share your experience on your practical experience with these file formats. Enjoy the music!

Digital eXtreme Definition is a professional audio format that brings "analogue" qualities in 32 bit floating point at 352.8 kHz. DXD preserves 11.2896 Mbit/s (4 times the data of DSD). http://www.2l.no/hires/index.html

In short, such HiRes audio files are now available for free download, and these HiRes formats are suggested to be "future consumer delivery formats", simply because everyone already knows (except, perhaps, for ALSA users and Linux developers) that the so-called "Nyquist–Shannon Sampling Theorem" is a "stupid science for idiots and crazy lunatics" http://en.wikipedia.org/wiki/Nyquist%E2 ... ng_theorem

In theory, 32bit/352.8 kHz. DXD format might have a kind of "analogue qualities".
In practice, they simply record crap and sell it to mass consumer markets:
KOSTAS METAXAS:
It's taken me over 200+ concerts to develop my equipment to this level of "analogue realism" and I still get surprised when I hear the offerings of professional companies such as NAGRA, PRISM, GENEX etc, which fall far short of the standards in sound reproduction of the 1950's-60's. You can easily hear their shortcomings in current recordings made with them. http://www.metaxas.com/pages/masnewfiles/index.html
Download free samples [24bit/96kHz] here:
http://www.metaxas.com/pages/masnewfiles/index.html
http://www.reel2reel.tv/ADC/ADC.htm

This is simply a kind of "profit maximization behavour". Otherwise, if you do not sell crap to naive consumers, you may not survive in competitive market.
With digital [audio CD], overtones go missing, ambiance goes missing...Hell, IMO, the music goes missing. I think the digital [audio CD] can have more spurious info because of the numerical approximation, but true musical detail, not possible...
If you listen to crap [that is, audio CD] played through crap [e.g., ALSA], how can you possibly ascertain quality reproduction? http://www.audioasylum.com/cgi/t.mpl?f=vinyl&m=5232

Blu-ray players are also crap.
Our DIVERTIMENTI is 100% according to the official Blu-ray specifications. Unfortunately all players are not. Due to the 192 kHz rate in MCH, not all 1st generation players has the processing power required for decoding, and therefore “cut corners” and down-sample or down-mix to stereo. http://morten.lindberg.no/19537/

Audiophiles were invited to buy Blu-ray players and Blu-ray Discs, for it was believed that they are stupid and deaf. It was a "deliberate deception" [gezielte Täuschung], and this deception was momentarily detected by true audiophiles. As a result, nobody wants to buy Blu-ray players and Blu-ray Discs anymore (except for the ignorant). This is the reason why Morten Lindberg published the "true HD audio files". He is trying to convince audiophiles that it is not a fake.
In addition to linear PCM in 24/192, DTS Master Audio and DD True HD is offered on DIVERTIMENTI with the purpose of convincing audiophiles of their true lossless qualities. http://morten.lindberg.no/19537/

It seems that Morten Lindberg is playing a kind of "open source" game with the customers. Do not forget that Blu-ray Discs were strongly encrypted to prevent audiophiles from studying the quality of the content of Blu-ray Discs http://en.wikipedia.org/wiki/Blu-ray_Di ... ent_System

Notice that ALSA is so advanced that it cannot play 192kHz samplerate without downsampling viewtopic.php?f=3&t=4387
Code: Select all
$ aplay -v tabla-32bit_192kHz.wav
Playing WAVE 'tabla-32bit_192kHz.wav' : Signed 32 bit Little Endian, Rate 192000 Hz, Stereo
Warning: rate is not accurate (requested = 192000Hz, got = 96000Hz)
         please, try the plug plugin
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby igorzwx » Tue Sep 27, 2011 6:40 am

SONOGRAMS of Morten Lindberg's HiRes audio files

As you might have already noticed, there are two sorts of free HiRes files available for download on the 2L website http://www.2l.no/hires/index.html :
1. the original recordings,
2. the results of downsampling to different formats.

The DXD 24BIT 352.8kHz waves are said to be recorded with PYRAMIX digital audio workstation http://www.lindberg.no/english/recording.htm
Morten Lindberg seems to claim that he is using Weiss SARACON Sampling Rate Converter http://www.lindberg.no/english/editing.htm
This might be taken for granted, because it does not matter what kind of resampler was used in this particular case. It is sufficient to suggest that he is using a kind of "advanced professional resampler".

Morten Lindberg tends to claim that downsampling produces "degeneration":
Comparing them in our studio we find only subtle differences from DXD (24BIT/352.8kHz) down to 192kHz and 96kHz. The obvious degeneration is from 96kHz down to 48kHz. http://morten.lindberg.no/19537/

However, the deterioration of sound quality is already obvious on sonograms of 96kHz FLACs.
It is obvious on sonograms and it is audible. Otherwise, 192kHz FLACs would not make much sense.

Notice that sonograms represent Fourier series rather then "frequencies". If deterioration is obvious on sonograms, it means that the particular interpolation method (or other sort of crap) failed miserably.

The sonograms are in the Attachment.
You may compare the sonograms and try to imagine what kind of crap can be produced by downsampling to CD format.

The tests were preformed with these files (2L-038-SACD):
Mozart - Violin concerto in D major - Allegro 2L38_01_96kHz.flac http://www.lindberg.no/hires/test/2L38_01_96kHz.flac
Mozart - Violin concerto in D major (KV 218) - Allegro Stereo WAV DXD 24BIT 352.8kHz 2L38_01_DXD.wav http://www.lindberg.no/hires/test/2L38_01_DXD.zip

For convenience, they were renamed as follows:
2L_Mozart_24bit_96kHz_Weiss_SARACON_SRC.flac
2L_Mozart_24bit_352.8kHz.wav

The reference file was produced with pcm_conv (version 1.0.3.8 ):
Code: Select all
$ ./pcm_conv 2L_Mozart_24bit_352.8kHz.wav 2L_Mozart_24bit_96kHz_EXACT.wav -b 24 -f 96000


Sonograms were made with SoX:
Code: Select all
$ sox -S "2L_Mozart_24bit_96kHz_Weiss_SARACON_SRC.flac" -n spectrogram -d 1:00 -t "2L_Mozart_24bit_96kHz_Weiss_SARACON_SRC.flac" -o "sonogram_2L_Mozart_24bit_96kHz_Weiss_SARACON_SRC.png" stats

Input File     : '2L_Mozart_24bit_96kHz_Weiss_SARACON_SRC.flac'
Channels       : 2
Sample Rate    : 96000
Precision      : 24-bit
Duration       : 00:09:14.89 = 53269760 samples ~ 41617 CDDA sectors
File Size      : 180M
Bit Rate       : 2.59M
Sample Encoding: 24-bit FLAC
Comments       :
ALBUM=MOZART
ALBUM ARTIST=TrondheimSolistene
ARTIST=Marianne Thorsen / TrondheimSolistene
COMMENT=2006 © 2L (Lindberg Lyd)
COMPOSER=WOLFGANG AMADEUS MOZART 1756–1791
DATE=2008
DISCNUMBER=1
GENRE=Classical
PERFORMER=TrondheimSolistene
TITLE=Violin Concerto no. 4 in D major KV 218 - Allegro
TOTALDISCS=1
TOTALTRACKS=9
TRACKNUMBER=1

In:100%  00:09:14.89 [00:00:00.00] Out:53.3M [      |      ] Hd:1.7 Clip:0   
             Overall     Left      Right
DC offset  -0.000037  0.000010 -0.000037
Min level  -0.902911 -0.849251 -0.902911
Max level   0.841349  0.841349  0.840478
Pk lev dB      -0.89     -1.42     -0.89
RMS lev dB    -23.87    -23.76    -23.99
RMS Pk dB      -9.81    -10.67     -9.81
RMS Tr dB     -83.63    -83.63    -83.06
Crest factor       -     13.09     14.29
Flat factor     0.00      0.00      0.00
Pk count           2         2         2
Bit-depth      24/24     24/24     24/24
Num samples    53.3M
Length s     554.893
Scale max   1.000000
Window s       0.050
Done.

Code: Select all
$ sox -S "2L_Mozart_24bit_96kHz_EXACT.wav" -n spectrogram -d 1:00 -t "2L_Mozart_24bit_96kHz_EXACT.wav" -o "sonogram_2L_Mozart_24bit_96kHz_EXACT.png" stats

Input File     : '2L_Mozart_24bit_96kHz_EXACT.wav'
Channels       : 2
Sample Rate    : 96000
Precision      : 24-bit
Duration       : 00:09:14.83 = 53263360 samples ~ 41612 CDDA sectors
File Size      : 320M
Bit Rate       : 4.61M
Sample Encoding: 24-bit Signed Integer PCM

In:100%  00:09:14.83 [00:00:00.00] Out:53.3M [      |      ] Hd:1.2 Clip:0   
             Overall     Left      Right
DC offset  -0.000038  0.000010 -0.000038
Min level  -0.944141 -0.911213 -0.944141
Max level   0.898604  0.896936  0.898604
Pk lev dB      -0.50     -0.81     -0.50
RMS lev dB    -23.36    -23.24    -23.49
RMS Pk dB      -9.43    -10.22     -9.43
RMS Tr dB     -83.36    -83.36    -82.80
Crest factor       -     13.23     14.11
Flat factor     0.00      0.00      0.00
Pk count           2         2         2
Bit-depth      24/24     24/24     24/24
Num samples    53.3M
Length s     554.827
Scale max   1.000000
Window s       0.050
Done.
Attachments
sonogram_2L_Mozart_24bit_96kHz_EXACT.png.tar.gz
(299.31 KiB) Downloaded 571 times
sonogram_2L_Mozart_24bit_96kHz_Weiss_SARACON_SRC.png.tar.gz
(291.56 KiB) Downloaded 1052 times
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby Cervisia » Tue Sep 27, 2011 11:46 am

It is impossible to determine which of the differences are SRC artifacts without a sonogram of the original.
Cervisia
 
Posts: 7
Joined: Tue Sep 27, 2011 11:42 am

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby igorzwx » Tue Sep 27, 2011 11:53 am

Cervisia wrote:It is impossible to determine which of the differences are SRC artifacts without a sonogram of the original.


The original is available for download on the 2L website. What is the problem?

If you do not know how to build sonograms, you may ask for help on Ubuntu forum: http://ubuntuforums.org/forumdisplay.php?&f=326
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby keantoken » Tue Sep 27, 2011 2:47 pm

Here is a file containing all the spectrograms including two of the original, one with the full BW of 175KHz, showing harmonics which trail to 80KHz (beyond that is full of ultrasonic noise)...

Here are the commands I used:

Code: Select all
$ sox -S "2L38_01_DXD.wav" -n spectrogram -d 1:00 -t "2L38_01_DXD.wav" -o "2L38_01_DXD.wav.png" stats
Input File     : '2L38_01_DXD.wav'
Channels       : 2
Sample Rate    : 352800
Precision      : 24-bit
Duration       : 00:09:14.89 = 195766368 samples ~ 41617 CDDA sectors
File Size      : 1.17G
Bit Rate       : 16.9M
Sample Encoding: 24-bit Signed Integer PCM

In:100%  00:09:14.89 [00:00:00.00] Out:196M  [      |      ] Hd:1.1 Clip:0   
             Overall     Left      Right
DC offset  -0.000038  0.000010 -0.000038
Min level  -0.952981 -0.915447 -0.952981
Max level   0.900273  0.900192  0.900273
Pk lev dB      -0.42     -0.77     -0.42
RMS lev dB    -23.35    -23.23    -23.48
RMS Pk dB      -9.43    -10.22     -9.43
RMS Tr dB     -61.58    -61.58    -60.85
Crest factor       -     13.28     14.22
Flat factor     0.00      0.00      0.00
Pk count           2         2         2
Bit-depth      24/24     24/24     24/24
Num samples     196M
Length s     554.893
Scale max   1.000000
Window s       0.050
Done.
$ sox -S "2L38_01_DXD.wav" -n rate 96k spectrogram -d 1:00 -t "2L38_01_DXD.wav" -o "2L38_01_DXD.wav.png" stats

Input File     : '2L38_01_DXD.wav'
Channels       : 2
Sample Rate    : 352800
Precision      : 24-bit
Duration       : 00:09:14.89 = 195766368 samples ~ 41617 CDDA sectors
File Size      : 1.17G
Bit Rate       : 16.9M
Sample Encoding: 24-bit Signed Integer PCM

In:100%  00:09:14.89 [00:00:00.00] Out:53.3M [      |      ] Hd:1.2 Clip:0   
             Overall     Left      Right
DC offset  -0.000038  0.000010 -0.000038
Min level  -0.944697 -0.910989 -0.944697
Max level   0.898579  0.897790  0.898579
Pk lev dB      -0.49     -0.81     -0.49
RMS lev dB    -23.36    -23.24    -23.49
RMS Pk dB      -9.43    -10.22     -9.43
RMS Tr dB     -83.37    -83.37    -82.80
Crest factor       -     13.23     14.12
Flat factor     0.00      0.00      0.00
Pk count           2         2         2
Bit-depth      32/32     32/32     32/32
Num samples    53.3M
Length s     554.893
Scale max   1.000000
Window s       0.050
Done.


I'm somewhat skeptical about how Sox limits the BW of the file it's processing. Instead of just chopping off the top part of the image, it looks like they use a LP filter and maybe even resample the file. If you compare carefully with the original full-BW spectrogram and the 48K limited spectrogram, you notice the missing data above 46KHz (interestingly, the Petrov converter does not have the same effect). An option to limit the frequency axis should have been supplied, so we don't have to go around it the backwards way by using the "rate" option. Shoot, the least I could ask for is a logarithmic frequency scale!!

If Sox was capable of displaying phase data, or plotting in cartesian mode, and making a difference FFT, we would be able to tell which errors were added or subtracted by whether the plotted value was negative, or it's phase was more than 90 degrees lead or lag.

- keantoken
Attachments
Petrov_Converter_Sonograms_With_Original.tar.gz
(1.06 MiB) Downloaded 577 times
keantoken
 
Posts: 35
Joined: Fri Jul 08, 2011 2:54 am

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby igorzwx » Tue Sep 27, 2011 3:17 pm

keantoken wrote:Here is a file containing all the spectrograms including two of the original, one with the full BW of 175KHz, showing harmonics which trail to 80KHz (beyond that is full of ultrasonic noise)...

Here are the commands I used:

Code: Select all
$ sox -S "2L38_01_DXD.wav" -n spectrogram -d 1:00 -t "2L38_01_DXD.wav" -o "2L38_01_DXD.wav.png" stats
Input File     : '2L38_01_DXD.wav'
Channels       : 2
Sample Rate    : 352800
Precision      : 24-bit
Duration       : 00:09:14.89 = 195766368 samples ~ 41617 CDDA sectors
File Size      : 1.17G
Bit Rate       : 16.9M
Sample Encoding: 24-bit Signed Integer PCM

In:100%  00:09:14.89 [00:00:00.00] Out:196M  [      |      ] Hd:1.1 Clip:0   
             Overall     Left      Right
DC offset  -0.000038  0.000010 -0.000038
Min level  -0.952981 -0.915447 -0.952981
Max level   0.900273  0.900192  0.900273
Pk lev dB      -0.42     -0.77     -0.42
RMS lev dB    -23.35    -23.23    -23.48
RMS Pk dB      -9.43    -10.22     -9.43
RMS Tr dB     -61.58    -61.58    -60.85
Crest factor       -     13.28     14.22
Flat factor     0.00      0.00      0.00
Pk count           2         2         2
Bit-depth      24/24     24/24     24/24
Num samples     196M
Length s     554.893
Scale max   1.000000
Window s       0.050
Done.
$ sox -S "2L38_01_DXD.wav" -n rate 96k spectrogram -d 1:00 -t "2L38_01_DXD.wav" -o "2L38_01_DXD.wav.png" stats

Input File     : '2L38_01_DXD.wav'
Channels       : 2
Sample Rate    : 352800
Precision      : 24-bit
Duration       : 00:09:14.89 = 195766368 samples ~ 41617 CDDA sectors
File Size      : 1.17G
Bit Rate       : 16.9M
Sample Encoding: 24-bit Signed Integer PCM

In:100%  00:09:14.89 [00:00:00.00] Out:53.3M [      |      ] Hd:1.2 Clip:0   
             Overall     Left      Right
DC offset  -0.000038  0.000010 -0.000038
Min level  -0.944697 -0.910989 -0.944697
Max level   0.898579  0.897790  0.898579
Pk lev dB      -0.49     -0.81     -0.49
RMS lev dB    -23.36    -23.24    -23.49
RMS Pk dB      -9.43    -10.22     -9.43
RMS Tr dB     -83.37    -83.37    -82.80
Crest factor       -     13.23     14.12
Flat factor     0.00      0.00      0.00
Pk count           2         2         2
Bit-depth      32/32     32/32     32/32
Num samples    53.3M
Length s     554.893
Scale max   1.000000
Window s       0.050
Done.


I'm somewhat skeptical about how Sox limits the BW of the file it's processing. Instead of just chopping off the top part of the image, it looks like they use a LP filter and maybe even resample the file. If you compare carefully with the original full-BW spectrogram and the 48K limited spectrogram, you notice the missing data above 46KHz (interestingly, the Petrov converter does not have the same effect). An option to limit the frequency axis should have been supplied, so we don't have to go around it the backwards way by using the "rate" option. Shoot, the least I could ask for is a logarithmic frequency scale!!

If Sox was capable of displaying phase data, or plotting in cartesian mode, and making a difference FFT, we would be able to tell which errors were added or subtracted by whether the plotted value was negative, or it's phase was more than 90 degrees lead or lag.

- keantoken


keantoken wrote:
Code: Select all
$ sox -S "2L38_01_DXD.wav" -n rate 96k spectrogram -d 1:00 -t "2L38_01_DXD.wav" -o "2L38_01_DXD.wav.png" stats
Bit-depth      32/32     32/32     32/32    ←   !!!

An option to limit the frequency axis should have been supplied


That option "rate 96k" means that a certain effect was applied, and that effect means downsampling to 96kHz with SoX resampler.
That is why SoX prints "Bit-depth 32/32" instead of "Bit-depth 24/24".

The official manual for SoX is here: http://sox.sourceforge.net/sox.html

Let us summarize:
1. The exact resampler is not available for download, and there is a reason for this. Although a very old version of "pcm_conv" is still available for download on this forum.
2. The standalone version of OSS4 resampler is not available for download for a similar reason, perhaps, but it is said to be "easy to compile".

It might be interesting, of course, to compare the OSS4 "Production quality" resampler with Weiss SARACON Sampling Rate Converter, but it seems to be a privilege for the elect. Notice that the so-called "production quality with extra precision" somehow disappeared, and it was said that it had never existed in reality. It was a kind of "illusion", or "hallucination", perhaps.

There are also exact scientific tools, such as MATLAB, GNU Octave, etc.
GNU Octave is "open source" http://en.wikipedia.org/wiki/GNU_Octave
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby Cervisia » Wed Sep 28, 2011 10:55 am

igorzwx wrote:The original is available for download on the 2L website. What is the problem?
Uh, that I didn't read the part of the website in the big red font. :oops:

Anyway, I haven't been able to detect any differences between the SRCs when doing blind testing. (No suprise because the SARACON artifacts are above 30 kHz.)

Both OSS and ALSA work just fine with 192 kHz files (except, of course, that vmix/dmix impose a fixed sample rate, and that OSS lacks some drivers).

keantoken wrote:Here is a file containing all the spectrograms
Thanks!
Cervisia
 
Posts: 7
Joined: Tue Sep 27, 2011 11:42 am

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby igorzwx » Wed Sep 28, 2011 12:00 pm

Cervisia wrote:I haven't been able to detect any differences between the SRCs when doing blind testing. (No suprise because the SARACON artifacts are above 30 kHz.)

Both OSS and ALSA work just fine with 192 kHz files (except, of course, that vmix/dmix impose a fixed sample rate, and that OSS lacks some drivers).


I can believe that you are not able to hear the difference.

Do you think that SoX is a very exact scientific instrument?
SoX sonograms can only detect huge distortions.
If such distortions are detected, it means that is really crap.
If there are huge distortions, there are likely to be big distortions which cannot be detected by SoX sonograms.

If you are not able to hear the difference, you can use ALSA. What is the problem?

I tend to presume that you are "functionally deaf" to a certain extent.
This can be easily verified.
If you do not know how to disable the linear resampler of ALSA, you should be deaf to a certain extent, because you do not hear the difference.

ALSA does not seem to be able to play 192kHz without downsampling (by low quality linear resampler).
This downsampling can be easily detected, see: viewtopic.php?f=3&t=4387
If it sounds "fine" for you after downsampling by low quality linear resampler, you are likely to be deaf to a certain extent. Right?
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby Cervisia » Wed Sep 28, 2011 1:03 pm

igorzwx wrote:If you do not know how to disable the linear resampler of ALSA


Code: Select all
$ aplay -v something.wav 2>&1 | grep -e '^[^ I]' -e '^  rate'
Playing WAVE 'something.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Converter: libspeex (builtin)
Protocol version: 10002
  rate         : 44100
Slave: Direct Stream Mixing PCM
  rate         : 48000
Hardware PCM card 0 'HDA ATI SB' device 0 subdevice 0
  rate         : 48000
I don't need to disable it.

However, if I wanted to enable it:
Code: Select all
$ echo "defaults.pcm.rate_converter linear" > ~/.asoundrc
$ aplay -v something.wav 2>&1 | grep -e '^[^ I]' -e '^  rate'
Playing WAVE 'something.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Converter: linear-interpolation
Protocol version: 10002
  rate         : 44100
Slave: Direct Stream Mixing PCM
  rate         : 48000
Hardware PCM card 0 'HDA ATI SB' device 0 subdevice 0
  rate         : 48000


Anyway, for my listening tests, I didn't use dmix:
Code: Select all
$ aplay -D hw:D2 -v 2L38_01_192kHz.wav 2>&1 | grep -e '^[^ I]' -e '^  rate'
Playing WAVE '2L38_01_192kHz.wav' : Signed 32 bit Little Endian, Rate 192000 Hz, Stereo
Hardware PCM card 2 'Xonar D2' device 0 subdevice 0
  rate         : 192000
Cervisia
 
Posts: 7
Joined: Tue Sep 27, 2011 11:42 am

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby igorzwx » Wed Sep 28, 2011 1:25 pm

Cervisia wrote:
igorzwx wrote:If you do not know how to disable the linear resampler of ALSA


Code: Select all
$ aplay -v something.wav 2>&1 | grep -e '^[^ I]' -e '^  rate'
Playing WAVE 'something.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Converter: libspeex (builtin)
Protocol version: 10002
  rate         : 44100
Slave: Direct Stream Mixing PCM
  rate         : 48000
Hardware PCM card 0 'HDA ATI SB' device 0 subdevice 0
  rate         : 48000
I don't need to disable it.

However, if I wanted to enable it:
Code: Select all
$ echo "defaults.pcm.rate_converter linear" > ~/.asoundrc
$ aplay -v something.wav 2>&1 | grep -e '^[^ I]' -e '^  rate'
Playing WAVE 'something.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Plug PCM: Rate conversion PCM (48000, sformat=S16_LE)
Converter: linear-interpolation
Protocol version: 10002
  rate         : 44100
Slave: Direct Stream Mixing PCM
  rate         : 48000
Hardware PCM card 0 'HDA ATI SB' device 0 subdevice 0
  rate         : 48000


Anyway, for my listening tests, I didn't use dmix:
Code: Select all
$ aplay -D hw:D2 -v 2L38_01_192kHz.wav 2>&1 | grep -e '^[^ I]' -e '^  rate'
Playing WAVE '2L38_01_192kHz.wav' : Signed 32 bit Little Endian, Rate 192000 Hz, Stereo
Hardware PCM card 2 'Xonar D2' device 0 subdevice 0
  rate         : 192000


Since it is about 192kHz, I would like to see:
1. The complete output of "aplay -v"
2. "proc", something like this: "cat /proc/asound/card0/pcm0p/sub0/hw_params" (substitute 'card0' with your soundcard ID)
3. ~/.asoundrc
4. "lspci"

If you provide complete information, this can be verified by others.
Ideally, you may publish a "howto" on this forum, something like this: "Howto play 192kHz with ALSA without resampling".
It might be tested with Arch LiveCDs on other computers.

You see, we have several hypotheses to test:

Hypothesis 1: ALSA cannot play 192kHz (without resampling) with any soundcards.
This means that your information is false, that you are really deaf to a certain extent, and your opinion about sound quality can be ignored.

Hypothesis 2: ALSA can play 192kHz (without resampling) with any soundcard capable of 192kHz (e.g. Intel HDA).

Hypothesis 3: ALSA can play 192kHz (without resampling) only with a few soundcards.
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby Cervisia » Wed Sep 28, 2011 6:01 pm

Code: Select all
$ aplay -v -D hw:SB 2L38_01_192kHz.wav
Playing WAVE '2L38_01_192kHz.wav' : Signed 32 bit Little Endian, Rate 192000 Hz, Stereo
Hardware PCM card 0 'HDA ATI SB' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 192000
  exact rate   : 192000 (192000/1)
  msbits       : 32
  buffer_size  : 8192
  period_size  : 2048
  period_time  : 10666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 2048
  period_event : 0
  start_threshold  : 8192
  stop_threshold   : 8192
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
$ aplay -v -D hw:D2 2L38_01_192kHz.wav
Playing WAVE '2L38_01_192kHz.wav' : Signed 32 bit Little Endian, Rate 192000 Hz, Stereo
Hardware PCM card 2 'Xonar D2' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 192000
  exact rate   : 192000 (192000/1)
  msbits       : 24
  buffer_size  : 96000
  period_size  : 24000
  period_time  : 125000
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 24000
  period_event : 0
  start_threshold  : 96000
  stop_threshold   : 96000
  silence_threshold: 0
  silence_size : 0
  boundary     : 6755399441055744000
  appl_ptr     : 0
  hw_ptr       : 0
Code: Select all
# cat /proc/asound/cards
0 [SB             ]: HDA-Intel - HDA ATI SB
                     HDA ATI SB at 0xf7e54000 irq 16
1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                     HDA ATI HDMI at 0xfef48000 irq 19
2 [D2             ]: AV200 - Xonar D2
                     Asus Virtuoso 200 at 0xec00, irq 20
# cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 192000 (192000/1)
period_size: 2048
buffer_size: 8192
Code: Select all
$ cat ~/.asoundrc
defaults {
        pcm.card D2
        ctl.card D2
        #pcm.rate_converter speexrate   # default
        #pcm.rate_converter linear
}
Code: Select all
# lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge Alternate
00:01.0 PCI bridge: ASUSTeK Computer Inc. RS880 PCI to PCI bridge (int gfx)
00:09.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 4)
00:0a.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 5)
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode]
00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3c)
00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control
01:05.0 VGA compatible controller: ATI Technologies Inc RS880 [Radeon HD 4200]
01:05.1 Audio device: ATI Technologies Inc RS880 Audio Device [Radeon HD 4200]
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
03:05.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
03:08.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)
# lspci -v -s 0:14.2
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
        Subsystem: ASUSTeK Computer Inc. M4A785TD Motherboard
        Flags: bus master, slow devsel, latency 64, IRQ 16
        Memory at f7e54000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 2
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd-hda-intel
# lspci -v -s 3:5
03:05.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
        Subsystem: ASUSTeK Computer Inc. Virtuoso 200 (Xonar D2)
        Flags: bus master, medium devsel, latency 64, IRQ 20
        I/O ports at ec00 [size=256]
        Capabilities: [c0] Power Management version 2
        Kernel driver in use: snd_virtuoso
        Kernel modules: snd-virtuoso


Ideally, you may publish a "howto" on this forum, something like this: "Howto play 192kHz with ALSA without resampling".

It's the same as in OSS; just make sure not to use vmix/dmix.

Hypothesis 2: ALSA can play 192kHz (without resampling) with any soundcard capable of 192kHz (e.g. Intel HDA).

As far as I can see, all ALSA drivers of 192 kHz-capable sound cards support this.
Cervisia
 
Posts: 7
Joined: Tue Sep 27, 2011 11:42 am

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby igorzwx » Wed Sep 28, 2011 6:31 pm

Cervisia wrote:
Code: Select all
$ aplay -v -D hw:SB 2L38_01_192kHz.wav
Playing WAVE '2L38_01_192kHz.wav' : Signed 32 bit Little Endian, Rate 192000 Hz, Stereo
Hardware PCM card 0 'HDA ATI SB' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 192000
  exact rate   : 192000 (192000/1)
  msbits       : 32
  buffer_size  : 8192
  period_size  : 2048
  period_time  : 10666
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 2048
  period_event : 0
  start_threshold  : 8192
  stop_threshold   : 8192
  silence_threshold: 0
  silence_size : 0
  boundary     : 4611686018427387904
  appl_ptr     : 0
  hw_ptr       : 0
$ aplay -v -D hw:D2 2L38_01_192kHz.wav
Playing WAVE '2L38_01_192kHz.wav' : Signed 32 bit Little Endian, Rate 192000 Hz, Stereo
Hardware PCM card 2 'Xonar D2' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S32_LE
  subformat    : STD
  channels     : 2
  rate         : 192000
  exact rate   : 192000 (192000/1)
  msbits       : 24
  buffer_size  : 96000
  period_size  : 24000
  period_time  : 125000
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 24000
  period_event : 0
  start_threshold  : 96000
  stop_threshold   : 96000
  silence_threshold: 0
  silence_size : 0
  boundary     : 6755399441055744000
  appl_ptr     : 0
  hw_ptr       : 0
Code: Select all
# cat /proc/asound/cards
0 [SB             ]: HDA-Intel - HDA ATI SB
                     HDA ATI SB at 0xf7e54000 irq 16
1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                     HDA ATI HDMI at 0xfef48000 irq 19
2 [D2             ]: AV200 - Xonar D2
                     Asus Virtuoso 200 at 0xec00, irq 20
# cat /proc/asound/card0/pcm0p/sub0/hw_params
access: RW_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 192000 (192000/1)
period_size: 2048
buffer_size: 8192
Code: Select all
$ cat ~/.asoundrc
defaults {
        pcm.card D2
        ctl.card D2
        #pcm.rate_converter speexrate   # default
        #pcm.rate_converter linear
}
Code: Select all
# lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge Alternate
00:01.0 PCI bridge: ASUSTeK Computer Inc. RS880 PCI to PCI bridge (int gfx)
00:09.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 4)
00:0a.0 PCI bridge: Advanced Micro Devices [AMD] RS780 PCI to PCI bridge (PCIE port 5)
00:11.0 SATA controller: ATI Technologies Inc SB700/SB800 SATA Controller [AHCI mode]
00:12.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:12.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
00:12.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:13.0 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI0 Controller
00:13.1 USB Controller: ATI Technologies Inc SB700 USB OHCI1 Controller
00:13.2 USB Controller: ATI Technologies Inc SB700/SB800 USB EHCI Controller
00:14.0 SMBus: ATI Technologies Inc SBx00 SMBus Controller (rev 3c)
00:14.1 IDE interface: ATI Technologies Inc SB700/SB800 IDE Controller
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
00:14.3 ISA bridge: ATI Technologies Inc SB700/SB800 LPC host controller
00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge
00:14.5 USB Controller: ATI Technologies Inc SB700/SB800 USB OHCI2 Controller
00:18.0 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] HyperTransport Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Miscellaneous Control
00:18.4 Host bridge: Advanced Micro Devices [AMD] K10 [Opteron, Athlon64, Sempron] Link Control
01:05.0 VGA compatible controller: ATI Technologies Inc RS880 [Radeon HD 4200]
01:05.1 Audio device: ATI Technologies Inc RS880 Audio Device [Radeon HD 4200]
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
03:05.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
03:08.0 FireWire (IEEE 1394): VIA Technologies, Inc. VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller (rev c0)
# lspci -v -s 0:14.2
00:14.2 Audio device: ATI Technologies Inc SBx00 Azalia (Intel HDA)
        Subsystem: ASUSTeK Computer Inc. M4A785TD Motherboard
        Flags: bus master, slow devsel, latency 64, IRQ 16
        Memory at f7e54000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 2
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd-hda-intel
# lspci -v -s 3:5
03:05.0 Multimedia audio controller: C-Media Electronics Inc CMI8788 [Oxygen HD Audio]
        Subsystem: ASUSTeK Computer Inc. Virtuoso 200 (Xonar D2)
        Flags: bus master, medium devsel, latency 64, IRQ 20
        I/O ports at ec00 [size=256]
        Capabilities: [c0] Power Management version 2
        Kernel driver in use: snd_virtuoso
        Kernel modules: snd-virtuoso


Ideally, you may publish a "howto" on this forum, something like this: "Howto play 192kHz with ALSA without resampling".

It's the same as in OSS; just make sure not to use vmix/dmix.

Hypothesis 2: ALSA can play 192kHz (without resampling) with any soundcard capable of 192kHz (e.g. Intel HDA).

As far as I can see, all ALSA drivers of 192 kHz-capable sound cards support this.


Let us summarize:

1. You clam that it works with your card, and it seems that you provided enough information to verify for this particular card.
2. You claim that it should work with any other card capable of 192kHz. This is false. I have already tested this: viewtopic.php?f=3&t=4387
3. You claim that "It's the same as in OSS". This sounds very strange for me, because I know how disable the resampler of ALSA (with different methods).

Could you please make a small test:
1. play WAV DXD 24BIT/352.8kHz (from 2L website) with "aplay -v"
2. "cat /proc/asound/card0/pcm0p/sub0/hw_params"

and post here the output of these commands (please do not change ~/.asoundrc ).
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby Cervisia » Wed Sep 28, 2011 8:00 pm

igorzwx wrote:2. You claim that it should work with any other card capable of 192kHz. This is false. I have already tested this: http://www.opensound.com/forum/viewtopic.php?f=3&t=4387

It works for me.
I don't know what's different on that machine that makes the driver restrict the rate to 96 kHz. But I've noticed that my VT1708S codec doesn't define "default" rates but defines them individually for each node:
Code: Select all
$ grep -B1 rates /proc/asound/card0/codec#0
Default PCM:
    rates [0x0]:
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x560]: 44100 48000 96000 192000
--
  PCM:
    rates [0x560]: 44100 48000 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
What is the output for your STAC9200?

3. You claim that "It's the same as in OSS". This sounds very strange for me, because I know how disable the resampler of ALSA (with different methods).

I meant that vmix and dmix work similarly and have similar restrictions. Their configuration interfaces indeed are different.

Could you please make a small test:
1. play WAV DXD 24BIT/352.8kHz (from 2L website) with "aplay -v"
2. "cat /proc/asound/card0/pcm0p/sub0/hw_params"


Code: Select all
Playing WAVE '2L38_01_DXD.wav' : Signed 24 bit Little Endian in 3bytes, Rate 352800 Hz, Stereo
aplay: set_params:1123: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: 24
FRAME_BITS: 48
CHANNELS: 2
RATE: NONE
PERIOD_TIME: (21333 21334)
PERIOD_SIZE: (7526 7527)
PERIOD_BYTES: (45156 45162)
PERIODS: (15 17)
BUFFER_TIME: (341332 341333)
BUFFER_SIZE: 120422
BUFFER_BYTES: 722532
TICK_TIME: 0

According to http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=include/pcm_plugin.h;hb=HEAD#l40, there is a 192 kHz restriction for the resampler plugin.
Cervisia
 
Posts: 7
Joined: Tue Sep 27, 2011 11:42 am

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby igorzwx » Wed Sep 28, 2011 8:50 pm

Cervisia wrote:
igorzwx wrote:2. You claim that it should work with any other card capable of 192kHz. This is false. I have already tested this: viewtopic.php?f=3&t=4387

It works for me.
I don't know what's different on that machine that makes the driver restrict the rate to 96 kHz. But I've noticed that my VT1708S codec doesn't define "default" rates but defines them individually for each node:
Code: Select all
$ grep -B1 rates /proc/asound/card0/codec#0
Default PCM:
    rates [0x0]:
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x560]: 44100 48000 96000 192000
--
  PCM:
    rates [0x560]: 44100 48000 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
--
  PCM:
    rates [0x5e0]: 44100 48000 88200 96000 192000
What is the output for your STAC9200?


As I remember, this was codec's formats:
Code: Select all
$ cat  /proc/asound/card0/codec#0
Codec: SigmaTel STAC9200
Default PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM

and nothing more.
But this proved to be incorrect. It dit not play 24bit, but it was playing 32bit without problems (and it seemed to be default).
192kHz failed to work.
All these results were documented here: viewtopic.php?f=3&t=4387

I would really like to know how to fix the problem. If you have ideas, I will try them as soon as I can.

Cervisia wrote:
Could you please make a small test:
1. play WAV DXD 24BIT/352.8kHz (from 2L website) with "aplay -v"
2. "cat /proc/asound/card0/pcm0p/sub0/hw_params"


Code: Select all
Playing WAVE '2L38_01_DXD.wav' : Signed 24 bit Little Endian in 3bytes, Rate 352800 Hz, Stereo
aplay: set_params:1123: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S24_3LE
SUBFORMAT:  STD
SAMPLE_BITS: 24
FRAME_BITS: 48
CHANNELS: 2
RATE: NONE
PERIOD_TIME: (21333 21334)
PERIOD_SIZE: (7526 7527)
PERIOD_BYTES: (45156 45162)
PERIODS: (15 17)
BUFFER_TIME: (341332 341333)
BUFFER_SIZE: 120422
BUFFER_BYTES: 722532
TICK_TIME: 0

This is likely to mean that your card does not support 24bit. I had similar results with Intel HDA viewtopic.php?f=3&t=4387
If your card supports 24bit and does not support 352.8kHz, it should play 352.8kHz as 192kHz (with distortions), if the ALSA resampler is completely disabled.
Does your card support 24bit? Or you should convert your waves to 32bit?

Cervisia wrote: According to http://git.alsa-project.org/?p=alsa-lib.git;a=blob;f=include/pcm_plugin.h;hb=HEAD#l40, there is a 192 kHz restriction for the resampler plugin.

Are you going to say that the ALSA resampler is not disabled?
It should not be difficult to disable it completely.

In a word, the OSS4 "production quality resampler" seems to support WAV DXD 24BIT/352.8kHz format. You can play such waves with DeadBeef player.
I have already tried this. But this should be tested more carefully.
It is very probable that the OSS4 "production quality resampler" is much better than Weiss SARACON Sampling Rate Converter.
igorzwx
 
Posts: 966
Joined: Sun Jun 28, 2009 9:31 pm

Re: HiRes 24Bit 352.8kHz WAV DXD - it works with OSS4

Postby Cervisia » Thu Sep 29, 2011 7:10 am

igorzwx wrote:As I remember, this was codec's formats:
Code: Select all
$ cat  /proc/asound/card0/codec#0
Codec: SigmaTel STAC9200
Default PCM:
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000
    bits [0xe]: 16 20 24
    formats [0x1]: PCM

and nothing more.

I found the complete output here: http://lists.mandriva.com/bugs/2009-02/msg05717.php
Code: Select all
Codec: SigmaTel STAC9200                                                       
Address: 0                                                                     
Vendor Id: 0x83847690                                                           
Subsystem Id: 0x102801bd                                                       
Revision Id: 0x102201                                                           
No Modem Function Group found                                                   
Default PCM:                                                                   
    rates [0x7e0]: 44100 48000 88200 96000 176400 192000                       
    bits [0xe]: 16 20 24                                                       
    formats [0x1]: PCM                                                         
Default Amp-In caps: N/A                                                       
Default Amp-Out caps: ofs=0x1f, nsteps=0x1f, stepsize=0x05, mute=1             
GPIO: io=4, o=0, i=0, unsolicited=1, wake=1                                     
  IO[0]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0                     
  IO[1]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0                     
  IO[2]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0                     
  IO[3]: enable=0, dir=0, wake=0, sticky=0, data=0, unsol=0                     
Node 0x02 [Audio Output] wcaps 0xd0401: Stereo                                 
  Converter: stream=0, channel=0                                               
  Power: setting=D0, actual=D0                                                 
  Delay: 13 samples                                                             
Node 0x03 [Audio Input] wcaps 0x1d0541: Stereo                                 
  Converter: stream=0, channel=0                                               
  SDI-Select: 0                                                                 
  Power: setting=D0, actual=D0                                                 
  Delay: 13 samples                                                             
  Connection: 1                                                                 
     0x0a                                                                       
  Processing caps: benign=0, ncoeff=0                                           
Node 0x04 [Audio Input] wcaps 0x140311: Stereo Digital                         
  Converter: stream=0, channel=0                                               
  SDI-Select: 0                                                                 
  Digital:                                                                     
  Digital category: 0x0                                                         
  PCM:                                                                         
    rates [0x160]: 44100 48000 96000                                           
    bits [0xe]: 16 20 24                                                       
    formats [0x5]: PCM AC3                                                     
  Delay: 4 samples                                                             
  Connection: 1                                                                 
     0x08                                                                       
Node 0x05 [Audio Output] wcaps 0x40211: Stereo Digital                         
  Converter: stream=0, channel=0                                               
  Digital:                                                                     
  Digital category: 0x0                                                         
  PCM:                                                                         
    rates [0x1e0]: 44100 48000 88200 96000                                     
    bits [0xe]: 16 20 24                                                       
    formats [0x5]: PCM AC3                                                     
  Delay: 4 samples                                                             
Node 0x06 [Vendor Defined Widget] wcaps 0xf30201: Stereo Digital               
  Delay: 3 samples                                                             
Node 0x07 [Audio Selector] wcaps 0x300901: Stereo R/L                           
  Connection: 3                                                                 
     0x02* 0x08 0x0a                                                           
Node 0x08 [Pin Complex] wcaps 0x430681: Stereo Digital                         
  Pincap 0x00010024: IN EAPD Detect                                             
  EAPD 0x0:                                                                     
  Pin Default 0x40c003fa: [N/A] SPDIF In at Ext N/A                             
    Conn = Unknown, Color = Unknown                                             
    DefAssociation = 0xf, Sequence = 0xa                                       
    Misc = NO_PRESENCE                                                         
  Pin-ctls: 0x00:                                                               
  Unsolicited: tag=00, enabled=0                                               
  Power: setting=D0, actual=D0                                                 
  Delay: 3 samples                                                             
Node 0x09 [Pin Complex] wcaps 0x400301: Stereo Digital                         
  Pincap 0x00000010: OUT                                                       
  Pin Default 0x01441340: [Jack] SPDIF Out at Ext Rear                         
    Conn = RCA, Color = Black                                                   
    DefAssociation = 0x4, Sequence = 0x0                                       
    Misc = NO_PRESENCE                                                         
  Pin-ctls: 0x40: OUT                                                           
  Connection: 2                                                                 
     0x05* 0x0a                                                                 
Node 0x0a [Audio Selector] wcaps 0x30090d: Stereo Amp-Out R/L                   
  Amp-Out caps: ofs=0x00, nsteps=0x0f, stepsize=0x05, mute=1                   
  Amp-Out vals:  [0x0d 0x0d]                                                   
  Connection: 1                                                                 
     0x0c                                                                       
Node 0x0b [Audio Selector] wcaps 0x300105: Stereo Amp-Out                       
  Amp-Out caps: N/A                                                             
  Amp-Out vals:  [0x1f 0x1f]                                                   
  Connection: 1                                                                 
     0x07                                                                       
Node 0x0c [Audio Selector] wcaps 0x30010d: Stereo Amp-Out                       
  Amp-Out caps: ofs=0x00, nsteps=0x04, stepsize=0x27, mute=0                   
  Amp-Out vals:  [0x03 0x03]                                                   
  Connection: 5                                                                 
     0x10* 0x0f 0x0e 0x0d 0x12                                                 
Node 0x0d [Pin Complex] wcaps 0x400181: Stereo                                 
  Pincap 0x0000003f: IN OUT HP Detect Trigger ImpSense                         
  Pin Default 0x0421121f: [Jack] HP Out at Ext Right                           
    Conn = 1/8, Color = Black                                                   
    DefAssociation = 0x1, Sequence = 0xf                                       
  Pin-ctls: 0x00:                                                               
  Unsolicited: tag=01, enabled=1                                               
  Connection: 1                                                                 
     0x0b                                                                       
Node 0x0e [Pin Complex] wcaps 0x400181: Stereo                                 
  Pincap 0x0000003f: IN OUT HP Detect Trigger ImpSense                         
  Pin Default 0x90170310: [Fixed] Speaker at Int N/A                           
    Conn = Analog, Color = Unknown                                             
    DefAssociation = 0x1, Sequence = 0x0                                       
    Misc = NO_PRESENCE                                                         
  Pin-ctls: 0x40: OUT                                                           
  Unsolicited: tag=00, enabled=0                                               
  Connection: 1                                                                 
     0x0b                                                                       
Node 0x0f [Pin Complex] wcaps 0x400181: Stereo                                 
  Pincap 0x00000037: IN OUT Detect Trigger ImpSense                             
  Pin Default 0x408003fb: [N/A] Line In at Ext N/A                             
    Conn = Unknown, Color = Unknown                                             
    DefAssociation = 0xf, Sequence = 0xb                                       
    Misc = NO_PRESENCE                                                         
  Pin-ctls: 0x20: IN                                                           
  Unsolicited: tag=00, enabled=0                                               
  Connection: 1                                                                 
     0x0b                                                                       
Node 0x10 [Pin Complex] wcaps 0x400181: Stereo                                 
  Pincap 0x00001737: IN OUT Detect Trigger ImpSense                             
    Vref caps: HIZ 50 GRD 80                                                   
  Pin Default 0x04a11020: [Jack] Mic at Ext Right                               
    Conn = 1/8, Color = Black                                                   
    DefAssociation = 0x2, Sequence = 0x0                                       
  Pin-ctls: 0x24: IN VREF_80                                                   
  Unsolicited: tag=02, enabled=1                                               
  Connection: 1                                                                 
     0x0b
Node 0x11 [Pin Complex] wcaps 0x400104: Mono Amp-Out
  Amp-Out caps: N/A
  Amp-Out vals:  [0x00]
  Pincap 0x00000010: OUT
  Pin Default 0x401003fc: [N/A] Speaker at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0xc
    Misc = NO_PRESENCE
  Pin-ctls: 0x00:
  Connection: 1
     0x13
Node 0x12 [Pin Complex] wcaps 0x400001: Stereo
  Pincap 0x00000020: IN
  Pin Default 0x403003fd: [N/A] CD at Ext N/A
    Conn = Unknown, Color = Unknown
    DefAssociation = 0xf, Sequence = 0xd
    Misc = NO_PRESENCE
  Pin-ctls: 0x20: IN
Node 0x13 [Audio Mixer] wcaps 0x200100: Mono
  Connection: 1
     0x07
Node 0x14 [Beep Generator Widget] wcaps 0x70000c: Mono Amp-Out
  Amp-Out caps: ofs=0x03, nsteps=0x03, stepsize=0x17, mute=1
  Amp-Out vals:  [0x00]
Node 5 (the digital output) does not support more than 96 kHz, so as long as it is possible to have a route between it and the default output stream from the computer, the driver must not use a higher rate.

It dit not play 24bit, but it was playing 32bit without problems (and it seemed to be default).
On the HDA bus, samples have 24 bits, but the HDA controller alignes them into 32 bits in memory. No HDA controller supports 24-bit-aligned samples. (If you tell ALSA to use a hw device, the automatic format conversion gets disabled.)

Could you please make a small test:
1. play WAV DXD 24BIT/352.8kHz (from 2L website) with "aplay -v"


Code: Select all
Playing WAVE '2L38_01_DXD.wav' : Signed 24 bit Little Endian in 3bytes, Rate 352800 Hz, Stereo
aplay: set_params:1123: Unable to install hw params:
...
SAMPLE_BITS: 24
...
RATE: NONE
...

This is likely to mean that your card does not support 24bit.
No, it's the rate that does not get set.

Are you going to say that the ALSA resampler is not disabled?
You told me to not change ~/.asoundrc, and to use just "aplay -v". :?

After converting the file to 32-bit samples, with "aplay -D hw:0 2L38_01_DXD-32.wav", it plays at 192 kHz (i.e., distorted).
With "aplay 2L38_01_DXD.wav" (default device is still dmix), it doesn't work because the resampler doesn't want to. Same with "aplay -D plughw:0 2L38_01_DXD.wav".
When I recompile alsa-lib with SND_PCM_PLUGIN_RATE_MAX set to 384000, both work (resampled to 48 kHz with dmix or 192 kHz with plughw). I'll go file a bug ...
Cervisia
 
Posts: 7
Joined: Tue Sep 27, 2011 11:42 am

Next

Return to Linux

Who is online

Users browsing this forum: No registered users and 3 guests