Category Archives: Windows

  • -

Foobar2000 and bitperfect on Windows 10 with Aune X1 Pro DAC

Category:DAC,Hi-FI,Windows Tags : 

Aune XS1 Pro quick review

After I read an extremely good review of the Aune XS1 on the site

https://www.audiosciencereview.com

I decided to bought one.

Of course, it was an older model from 2015, with the older 9018K2M DAC from ESS Technology.

Actually, the last Aune XS1 Pro in an improved version, with the ES9038Q2M DAC, also from ESS Technology, and with an improved power to drive your cans.

The Aune X1s Pro arrives in a nice package, high end looking box, containing a power DC adapter with removable cable, USB cable of Type A to Printer plugs (Type B), mini-CD with the drivers and manual, and 6.35mm to 3.5mm adapter.

The X1s Pro is fairly transportable and relatively compact device. It has the right dimensions to be used with personal computers or notebooks without occupying too much space.

Build quality is very good, with the whole external chassis made by very thick aluminum in a matte finish, and in this case, all silver color (Black color is also available).

The design is very elegant and discreet, but the top part is not flat, with a slight curve from the right to left sides.

The layout is pretty simple and efficient. You have on the front panel there a single button that works to switch between the four different inputs, USB, optical, coaxial, and line-in, and also to toggle between the three audio filters supported by the X1s Pro.

The large round volume knob is made of aluminum, covering an ALPS RS60112-10KAX2 pot, Japan quality.

The real panel is just more populated with all the multiple connections supported by the X1s PRO, each one is labeled

The power button and DC power input are aligned together. In the middle there are the coaxial, optical and USB input sockets.

As I said before, the chip is now an ES9038Q2M, that supports three filters modes, standard ones, Fast and Slow roll-off and Apodizing Fast.

The integrated poweramp is enough to well drive my Seinheiser HD 650.

Bass, midrange and treble are very clean. Globally, the sound is very linear and pretty neutral.

Goal

Use an Aune X1 Pro DAC, a great and well-designed DAC from a Chinese Company, and configure it for bitperfect sound under Windows 10 / LTSC / Server 2019.

We think that WASAPI is a better choice over ASIO.

Download the driver provided by Aune and install it on the computers, use default setting.

Reboot.

Connect the Aune XS1 Pro device to the computer. It should be correctly detected.

Install Foobar2000

Download foobar2000 for Windows

Take latest stable version from the Foobar2000 site

https://www.foobar2000.org/

Make a standard installation in C:\Program Files (x86)\foobar2000

Choose any default visualization from setup. It can be changed later.

PLUGINS

If you want to get bit perfect (as in no resampling or additional processing) the best way is using any of the systems that avoid going through the Windows Mixer namely ASIO or WASAP. I said, we will cover only WASAPI, which seems to us more robust with the same performance of ASIO, and with broader compatibility.

WASAPI (Latest version: 3.3):

Microsoft’s version of ASIO, most card will play using one of the WASAPI modes.

Link: WASAPI plugin homepage

Configure WASAPI process high priority automatically:

Important NOTE: In case of drop-outs, clicks and pops or stutter, WASAPI buffer size can be adjusted in Preferences->Advanced->Playback->WASAPI. Notice separate values for Event and push mode are available (see image below) so adjust the one you are using.

If your soundcard/DAC accepts Event mode, we suggest to use the prefered mode.

Also, since version 3.0 it is possible to configure independently buffers for either mode and run the WASAPI process with real time priority. To access these settings, follow this path:
File->Options->Preferences->Advanced->Playback->WASAPI

SOURCE/INPUT PLUGINS:

Foobar2000 plays the most common files like MP3, MP4, AAC, CD Audio, WMA, Vorbis, FLAC, WavPack, WAV, AIFF, Musepack, Speex, AU, SND… as standard, but this list can be enlarged to cover almost any thinkable codec by using additional plugins. Next is a recommended selection for playing most common high-resolution material:

DVD-A(Current version: 0.4.11):

DVD-Audio Decoder input plugin and Watermark Detector/Neutralizer DSP plugins for foobar2000. Decoder is capable of playing back DVD-Audio discs, ISO images, AOB, MLP and Dolby TrueHD files in full resolution. Dedicated plugin for DTS-HD playback.”-

Link: DVD Audio plugin homepage

SACD(Current version: 1.1.9):

**RECOMMENDATION** Do not install nor use the DSDIFF decoder plugin available at the Foobar2000’s component page. It is obsolete, performs worse and has less functionality than foo_sacd_plugin and can make the player crash when both DSD related plugins are installed at the same time.

Link: SACD plugin homepage

Monkey (.APE files, Latest version 2.3.1):

Adds decoding support for Monkey’s Audio files (.APE) as well as APE Link files (.APL)

Link: Monkey audio plugin homepage

Other not so common but still interesting codecs are AC3 (AKA Dolby Digital) and DTS. If you happen to have files encoded with either of these codecs the following plugins will need to be installed:

AC3

Adds decoding support for ATSC A-52 bitstream files (.AC3). Also includes a packet decoder for Matroska files containing AC3 streams

Link: AC3 plugin homepage

DTS

Adds decoding support for DTS Coherent Acoustics files (.DTS) and DTS WAV files (.DTSWAV). Also includes a packet decoder for Matroska files containing DTS streams, and a decode postprocessor which supports decoding DTS streams from 44100Hz or 48KHz 16-bit lossless PCM streams. (Implementing support for this in other inputs is beyond my control. Currently implemented formats include WAV, audio CD, FLAC, Wavpack, and TAK.)

Link: DTS plugin homepage

Configuration

PLAYBACK CONFIGURATION Disable replay gain

Some files have a tag specifying replay gain that will adjust loudness automatically for that track, when used on all files it reduces de need to reach for the amps volume potentiometer but it does so at the expense of “bit perfectness”. If you prefer to control volume with your amp’s knob this can be disabled as follows:

When “Playback” is selected in the left pane the right pane will show this:

In the second drop down list labeled “Processing” select “None”
For extra security 0dB can be selected in both the Preamp sliders.

PLAYING FILES FROM RAM IN FOOBAR2000

For those interested in playing from RAM here is are the required steps to setup Foobar2000 to load the entire file to played in RAM and play it from there instead of the HDD, this way there will no disk access during play avoiding possible mechanical noise, reducing heat and power consumption.

This only works for music files and not for large .ISOs, .CUEs or other “list” files. If a disc is ripped to a single file and loaded into Foobar2000 to play it from RAM it will be impossible to navigate tracks and guessing will be required to find the beginning and the end of each song. This can be avoided by simply ripping to an induvial file per track

When configuring the RAM buffer bear in mind total system memory, most modern PCs come at least with 3 or 4GB which should leave enough for a quite large buffer provided you are not running multiple apps when listening to music. Also, 32bit and 64bit have different requirements the later needing more RAM for system services and apps.

500,000KB (500MB) should be more than enough for an entire CD ripped to a single FLAC. If ripping to WAV the buffer may need to be increased to 800,000KB in order to make sure even the biggest file can be fully loaded. If all your music is in file per track format then 500,000KB should suffice for even 24/192 WAVs or DSD DSF or DIFF files. Note that the value entered is the maximum Foobar2000 will use only if needed, if file being played is smaller it will just use the equivalent to the file size + overhead + Foobar2000’s own code.

On the next pic the path to where to change this setting is shown:

Customizing the current track information in the status bar 

Here is an example of how it is possible customize the displayed information in the status bar (lower left part of the screen) so it shows relevant technical information about the track being played.

Clear whatever the “Status bar” box contains (see screen capture below) and paste the following into it:

%codec% | %samplerate% Hz | $iflonger(%samplerate%,6,’1 bit’,$if(%__bitspersample%,%__bitspersample% bits,’N/A’)) | %channels% | %playback_time%[ / %length%] | %bitrate% kbps | $if($info(hdcd),'(HDCD:’,) $if(%__hdcd%,PE: %__hdcd_peak_extend% LLE: %__hdcd_gain% TF: %__hdcd_transient_filter%’)’)

When applied you will get: file format, sample rate, bit depth, current time/total track time, bit rate and, in case an HDCD encoded file is played, all HDCD information.

Examples of information shown when using the above-mentioned code:

Regular Red Book (aka CD) source FLAC

regular20pcm_zpsjptqklgi

CD sourced HDCD encoded FLAC

the HDCD component decodes to 20bit and patches with ceros to 24bit hence the “24 bits” displayed

hdcd_zpsdl32nagr

High Resolution 24/192 PCM FLAC file

24-192_zpsotqnzyb7

Standard SACD quality (DSD64) file

dsd_zpshalce5f4

Higher resolution DSD256 file

dsd256_zpsrqgv9yti

Standard SACD multi channel (5.1) DSD64 file

51dsd_zps2i0n1et9

High resolution multi channel (5.1) 24/96 PCM FLAC file

51pcm_zpsrw6kbcg2

Configure Bitperfect for SACD

Download SACDDecoder

https://sourceforge.net/projects/sacddecoder/files/foo_input_sacd/

For Bitperfect mode only “foo_input_sacd.fb2k-component” needs to be installed.

First step would be configuring the plugin to use “DSD output” or “DSD+PCM” modes. Go to the menu “File” and click “Preferences”, in the left pane of the window that pops up look for Tools and, if closed, click the “+” sign to the left of the word to expand it and then click on SACD:

The difference between “DSD” and “DSD+PCM” is that the latter will send a converted to PCM stream to Foobar2000 so graphic add-ons like VU-meters, spectrographs and so on will work as they do when playing regular PCM files.

Other available items are:

  • Preferable Area: Options are: – None: it will show all available tracks on the SACD – Stereo: only stereo tracks are displayed – Multi channel: limits shown tracks to multi channel ones
  • Editable tags: Yes/No
  • Edited Master Playback: Yes/No
  • Store Tags With ISO: Yes/No (it actually doesn’t write to the ISO, it stores tag info in the plugin folder)
  • Linked 2CH/MCH Tags: When selected, tag editing of ISO files will apply to both stereo and multi channel versions of the track/tracks saving time.

Second step would be selecting to our preference or our DAC’s driver options either “DSD:ASIO:xxxxxxxxx”, “DSD:WASAPI (Event):xxxxxxxxx” or “DSD:WASAPI (Push):xxxxxxxxx” (where xxxxxxxxx our DAC’s driver name) as Foobar2000’s output device:

Better to use DSD WASAPI Event

Play Wavpack compressed files

To play Wavpack compressed files from DSF to WV in native DSD, you also need to install the plugin foo_dsd_processor.fb2k-component.

But there is another step…You have to rearrange the position of the decoder by dragging the plugin to the top position:

Check that you WV files plays in DSD 1 bit in Foobar2000:

Extra Customization

Add FLAC Converter

In case you need to convert to FLAC sound file, you need to add the FLAC converter. Download it from

https://xiph.org/flac/download.html

Take the Windows version: FLAC for Windows (command-line tools only, the file flac-X.Y.Z-win.zip contains both 32 and 64 bit binaries).

[   ]flac-1.3.2-win.zip2017-01-01 01:581.2M

Extract the 64 bits release anc copy the file to the Foobar2000 Folder. So it will ne usuable next time you need to convert a file using Foobar2000.

Ad plugin Music Spectrum

Download from

https://wiki.hydrogenaud.io/index.php?title=Foobar2000:Components/Musical_Spectrum_(foo_musical_spectrum)

Install it as a standard Foobar2000 plugin:

Play with the layout editing mode to enable it:

Rename and move the tab

Quit Editing mode.

Customize other part of UI, like the font size and color.

Extra information

Convert DFF files to DSF files with DFF to DSF conversion utility

In some case you want to convert DFF files to DSF files to support tagging. A great (and free) tools is made by Signalyst, it can be downloaded at the bottom of the page:

https://www.signalyst.com/professional.html

The tool run in command line. Just run

dff2dsf.exe file.dff file.dsf

You can use TAB autocompletion to save time.

Maria PEREZ, audiophile alcoholic ;>)

P.S The best ressources for HIFI on the Net ?

https://www.audiosciencereview.com

Other great links

https://hydrogenaud.io/

http://dr.loudness-war.info/

https://www.rtings.com/

https://diyaudioheaven.wordpress.com/

http://dr.loudness-war.info/

http://www.sengpielaudio.com/Calculations03.htm


  • -

ATTENTION aux bases de données ISAM & accès fichiers par le réseau

Category:Sécurité,Windows Tags : 

Parmi les logiciels de développement, on trouve couramment une vieille casserole connue ayant eu autrefois son heure de gloire, appelée Visual FoxPro.

Ce RAD inclut aussi un gestionnaire de base de données utilisant la technologie ISAM.

Dans un système de base de données ISAM, c’est le client qui gère ses propres accès aux tables de la base données en accédant directement aux tables ainsi qu’aux index.

Le client se repose donc sur un mécanisme de verrouillage des fichiers pour maintenir l’intégrité et la consistance du jeu de données global.

Cette méthode est simple et efficace en termes de vitesse, et permet de se passer d’un gestionnaire de base de données centralisé comme SQL Server ou Oracle.

Toutefois, par la nature même de cette technologie, la protection des données est très inférieure à un système SGBD centralisé, qui deviennent ainsi extrêmement sensibles aux différentes erreurs d’écritures, pouvant facilement corrompre l’entier des données.

Au début, Windows NT, à travers son protocole réseau SMB 1, mettait en jeu un certains nombres de mécanisme permettant d’accélérer les écritures en réseau au travers de différentes techniques de cache, dont la plus connue appelée Opportunistic locking or oplocks.

Le problème de oplocks est que si plusieurs demande d’accès avaient lieu sur un même fichier, le cache était relâché et les données écrites sur le disque, et potentiellement des corruptions pouvaient se produire dans le dit fichier.

Cette optimisation étant quelquefois non souhaitée, il était possible de la désactiver dans SMB1 (Q219022).

Par la suite, la couche réseau de Windows a passablement évolué. Depuis Windows Vista, le protocole est passé à la version SMB2, et avec Windows 8, SMB3.

L’inconvénient est que dans ses dernières versions SMB2 et SMB3, oplocks ne peut plus être désactivé, et les bases de données reposant sur la technologie ISAM ne fonctionnent plus correctement sans avoir continuellement des problèmes de corruption.

Selon Microsoft (Voir plus bas l’article original en anglais) oplocks ne permet plus de faire fonctionner en toute sécurité des bases de données utilisant la technologie ISAM, et une solution est de désactiver les protocoles récents SMB2 et SMB3 dans Windows 8 ou Windows 10, ainsi que sur le serveur Windows 2016, solution préconisée d’ailleurs par certains éditeurs sur leur site Internet, et de n’utiliser que SMB1.

Cette solution est extrêmement dangereuse, car le protocole SMB1 contient un grand nombre de problèmes de sécurité qui ne sera plus corrigé par Microsoft, au point même que l’éditeur désactive SMB1 dans ses dernières versions de Windows. De plus, cela rend plus lent le fonctionnement du réseau entre les postes clients et le serveur.

La seule solution que nous recommandons est dès lors de ne plus accéder directement aux données d’une base ISAM en passant par le réseau, mais de confiner le programme et ses données dans une session de type Services Bureaux à Distances sur un serveur.

Ainsi, en ne déportant que l’affichage sur les postes clients du logiciel, les informations de la base de données ne transitent plus par le réseau entre le programme et ses fichiers, ce qui élimine les risques de corruption.

La seconde recommandation que nous faisons est claire: Ne plus acquérir de logiciels utilisant la technologie de base de données de type ISAM. Les outils permettant de développer des programmes sur ce modèle, comme Visual Foxpro, sont maintenant totalement dépassés (Visual Foxpro n’est même plus supportés par Microsoft…), car ils n’ont plus la possibilité de suivre les évolutions de Windows.

Avant d’acquérir une solution informatique, il est de votre devoir de connaitre avec quel outil elle a été conçue, ce qui vous donnera une idée sur sa pérennité et son évolutivité,

Des éditeurs créant encore des logiciels avec des RAD utilisant la technologie ISAM prétendent faussement que si leurs solutions connaissent des problèmes de fonctionnement, il s’agit de « problèmes réseaux », mettant ainsi la faute sur les infrastructures des clients, ce qui est évidemment malhonnête, ou pour le moins démontre une méconnaissance totale de l’architecture des systèmes modernes.

“If a multiuser or single user database application accesses a common data store on a Windows NT file server using opportunistic locks (or OPLOCKS), it is possible for a given user to cache partial transactions on the client systems hard drive. This is a performance enhancement to the Windows client redirector to reduce network file I/O between the client and server. The data being cached on the client redirector is later written back to the server. However, in some cases, a client system may stop responding (hang), do a hard reboot, lose its network connection to the server, or experience any number of other technical difficulties. In such cases, the content of the local cache that has not yet been written to the server can be lost. As a result, the transaction integrity of the database structures on the server is compromised and the data on the file server can become corrupted.” (see Q224992)

The only thing that developers utilizing ISAM database systems can do to help mitigate the problem posed by network communications issues and optimistic locking, is to perform more regular flushes (writes of buffered information) to disk.  This process will both lessen performance, but may also still not resolve the issues that can arise from optimistic locking and network communications failures.

Our recommended solution is to place the data access inside a safe environment where file access and requests are not handled over the network at all.  We recommend accessing our software via Remote Desktop Services and to have the data stored directly on the server managing the remote access.  If file access is handled locally, and no network access is handled, the cache / locking / race conditions that can occur during read/write over the network are veritably eliminated.

If network file access is required, following Microsoft suggestion to downgrade to SMB 1.0 and disabling optimistic locking is the recommended solution.  There are known side effects with performance and file access is going to generally be slower after doing this.  This solution may still not eliminate all potential network file access issues, and has no effect on mitigating communications problems or failures leading to data corruption.

Maria Perez


  • -

Performance Vs. Security on Intel Plateform

Category:Sécurité,Windows Tags : 

All this is manipulations are experimentals and may not be used on production environnement. It decrease the security of your computer / server.

By disabling the security againt those threats, in can gain up to 30% of general performance.

All those commands must be run on a command line with « Admin Rights », at your own risks.

To disable mitigations for CVE-2017-5715 (Spectre Variant 2) and CVE-2017-5754 (Meltdown)

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Restart the computer for the changes to take effect.

To disable Variant 2: (CVE-2017-5715  « Branch Target Injection ») mitigation:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 1 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Restart the computer for the changes to take effect.

To disable mitigations for CVE-2018-3639 (Speculative Store Bypass) AND mitigations for CVE-2017-5715 (Spectre Variant 2)  and CVE-2017-5754 (Meltdown)

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 3 /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /fRestart the computer for the changes to take effect.

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f

Restart the computer for the changes to take effect.

Maria Perez, April 2019