Ga naar Nederlandstalige tekst
Profiel van André Kappert weergeven
A sort of Mifare Classic Tool for uFR Classic: ufr_Bold
Sound recordings are mixed for listening with speakers. Even the
best headphones can’t hide this. It is as looking through a
fishbowl, but than in sound. Strongly enlarged, but also strongly
bent, with strong dispersion of frequencies. If a sound source
moved in a straight line from the left speaker to the right
speaker, it will sound with a headphone as if this movement is
circular with a variable speed, from ear to ear. The speed of this
movement is also frequency dependent. In figure 1 you see the
arrangement of an ordinary sound system with 2 speakers. Let's
suppose you are listening to a choir with 120 members. The members
seems to be evenly distributed behind the speakers, the angle
limited by the angle of the speakers. What happens when listening
this with headphones is reflected in figure 2.
Figure 1: Virtual image, build from the sound information from
speakers
Figure 2: How the Speaker recording sounds, listened with
headphones
Problem 1:Every ear is reached by the sound of both speakers but
the sound of the opposite speaker is somehow damped. The higher the
frequency of the sound ,the more the damping. Because with speakers
the sound of 2 sources reaches the ear, the sound is amplified. The
amplification of the lower frequencies is stronger. This doesn’t
happen with headphones so the lower frequencies seems to come from
a longer distant the higher frequencies(red is representing the
lower frequencies, blue the higher frequencies, in the speaker
figure these spots overlap) . Every sound is a compound of higher
and lower frequencies. With headphones these sound don’t seem come
from one point but comes from an area. The different frequencies
are split. Not only the distant will vary but also the angle will
be different because the HRTF (human ratio transfer function) is a
function of frequency and angle. Some headphones compensate for the
weak low frequencies but this don’t work for the diffraction as
function of the angle.
Problem 2:When all the signal is on one channel, with speakers the
source seems to be come from behind one speaker, this is the
largest possible angle, and it still sounds natural. When listening
with headphones the sounds originated directly in one ear. The
other ear is in totally silence. This normally only happens when a
mosquito is near your ear and don’t sound pleasant. It can causes
even stress because these sound sources seems to come from very
close.
Problem 3:The hearing system is trying to calculate the position of
the sound source. It is doing this by using the difference in
amplitude and by using the difference in phase. Two different
systems with the best result for different frequency-bands. But
there is overlap at certain frequencies. For these frequencies the
systems had to come for the same result as location. These
frequencies are located in the most import frequency-band where the
hearing is most sensible (1000 Hz to 5000HZ). With headphones these
two system don’t give coherent results any more. It is tiring for
the hearing system to make sense from these 2 different results. It
should also be the reason that with listening to headphones the
sound always seems to come from behind.
Solution: Add to the signal of one channel of the headphone, with a
delay and filtered according the HRTF, the signal of the other
channel. A sort of artificial head recording. The signal is now as
it should be with listening with speakers. The delay takes care of
the right phase, the HRTF takes care of the right amplitude. The
problem is to find the right HRTF It can be found with testing with
a simple sinus test signal. My program DVDtoHP can be used for fine
adjustment of the HRTF.
I made a LADSPA filter for doing this job. It can be used with
sound editing programs or media players, able to supporting LADSPA
filters. In figure 3 is a graphical representation of a test signal
of pink noise. Figure 4 is the resulting filtered version. The
difference is considerable.
Figure 3: Example consistent of pink noise
Figure 4:With stereotobinaural LADSPA treated example
The same technique is used in the program DVDtoHP, but expanded to
the rear speakers and the front and LFE speakers so you can listen
to 5.1 recording with headphone. The sound still seems to come from
behind so I guess that this is not caused by discrepancy between
phase and amplitude information, so there is still possibility for
improvements if I understand what is causing this. But the
spreading of the sound is much improved. You now can pinpoint the
instruments exactly to the location, the separation of the
instrument is improved.
A similar product is the bs2b filter (Bauer stereophonic-to-binaural
DSP). The major difference is that my version is specially made
for 5.1 recordings, in the form of AC3 and DTS files(Linux
version), and it is also usable for stereo. Both are crossfeeder,
but bs2b seems to simulate an original analog filter. My version
keeps it simple, it uses a delay and a filter, almost the same as
in natural. Bs2b excludes the effect of comb filter in the upper
range of frequencies through the nonlinear property of
phase-frequency response of these filters. I see the comb filter
effect as unavoidable as in a normal speaker situation. With 2
speakers it is also happening. The provided delay gives a simulated
position of the speakers, the damping had to be adjusted so that
the damping and the delay leads to the same position. The filter is
a convolution filter.
The Linux version is a .deb installation program also used by
Ubuntu. For Linux there is a VST and LADSPA version, for Windows
there is a VST version. When working with a DAW, good monitors are
necessary to listen the result. With this filter (stereotoheadphone
filter) plugged in the master, it is also possible to mix and
master with headphones (and remove the filter in the final result
else the recording only sounds great when listened with headphones
and not with speakers).
The surroundtoheadphone version is more difficult. In Ardour,
create a 5 channel audio bus. Install the surroundtoheadphone
plugin in this bus. The plugin has 5 input channels and 2 output
channels. Right click the filter and select “Pin connections”.
Activate “Manual Config” and adjust the “Audio out” number to 2.
The bus output will be binaural. The 5 input channels will
represent the speaker positions from left to right. Use the
“routing grid” of the output of the instruments to connect to the
different channels of the 5 channel bus. The same thing with
surroundPosition (a panning plugin) plugin, create a 1 channel
audio bus. Install the surroundLocation plugin in this bus. The
plugin has 1 input channel and 5 output channels. Right click the
filter and select “Pin connections”. Activate “Manual Config” and
adjust the “Audio out” number to 5. The bus output will be
surround. Bypass the standard panning device (the circle). Connect
output with the surroundtoheadphone (5 channels) bus.
Download VST plugins for Windows 7,8
and 10
Download LADSPA plugins and
VST plugins for Linux
DVDtoHP is meant to convert (and has a tab for extract audio
from DVD) audio tracks to binaural This is about the Linux version,
but the Windows version is almost the same. There is also a Windows
and a Macintosh version (old, not updated) to download. The audio
information on DVD is mostly available in different forms. The best
quality is the .dts(5.1) track, second choice is the .ac3(5.1)
track. Sometimes there is a stereo track available (in ac3 or lpcm
format). The stereo tracks are often not the best quality, too much
compression and even clipping. It isn’t possible to recreate the
sound-image of 6 speakers with 2 speakers or it should be an
artificial head recording (or binaural recording) in a
surround-sound setup, listened with headphones. DVDtoHP simulates
an artificial head recording. Sound from a left channel reaches
first the left ear and with a delay it also reaches the right ear.
Higher frequencies are muffled more than lower frequencies. This is
simulated by deliver the signal from the left side filtered and
delayed to the right side and visa versa. The rear and front
channels get a different delay and filter. The rear channels get a
longer delay and are more muffled than the front channels.
It is difficult to predict how this will sound to different people.
Every person has a different HRTF, Head Related Transfer Function
caused by different size and build of head and ears. In fact, a
normal stereo recording shouldn't be listen-able with a headphone.
Sound is delivered totally independent to the ears, in normal
situations this only happening when a bee is buzzing in one of your
ears. The human brain is still capable of processing these sounds.
I believe the human brain is even better capable to process the
sound from the artificial human head used in this program.
An example: take a recording of a low frequency signal with one
channel in anti-phase with the other channel. When listening with
speakers you will hear almost nothing (sometimes this actual
happened when the wires of a speaker are wrongly connected), when
listening with headphone, you will hear the full power of the
recording. A proof that a recording can sound totally different
when listened with headphone. When processed by this program you
will hear almost nothing as if you where listen to it with
speakers.
The program is able to convert not only 5.1 audio but also stereo
files ( wav, flac, mp3 etc.). Listening to the converted files,
sound as if you are listening to speakers, giving the intended
sound experience as meant by the mixer. The CD's are mixed for
speakers in the normal configuration, not for headphones.
The program is capable of converting multiple files at the same
time, using the multi-core processors optimal. Multiple files can
be selected in the “Open” dialog. The converting could be done in
the background of normal computer use.
The program has 4 tabs.
In the first tab are the conversion buttons. A button for
conversion to headphone audio and a button for conversion to normal
stereo(from multichannel audio or an unusual format). The second
tab has the conversion to headphone audio with using sofalizer from
ffmpeg.The conversion starts with selecting audio input file
(multiple files selectable), second it asks for the saving file
name. If the extension is mp3 or flac it will ask for meta data,
and automatically compress the audio file. Then a wait screen will
start with the progress. This is an independent window, allowing
you to start another conversions from the control program.
The program uses ffmpeg ( from ffmpeg package )to decompress the
file to a 6 channels floating points file.Then my program will
convert this file to a 2 Channels floating points file. Then it
will normalize and convert it to an ordinary microsoft wav 16 bits,
2 channels file. Last step. it could be compressed with lame
program or flac program if extension was flac or mp3.
The program depends on the program ffmpeg of package ffmpeg for
decompressing dts and ac3 files to floating points. For ripping the
DVD it uses mplayer of package mplayer. For compression it use Lame
of package lame and Flac of package flac. All these programs will
automatic installed by the deb installation program. For other
Linux versions the bare program is provided. The dependencies must
be provided by the user.
It is unclear for me if Package libdvdread4 (you have to
activate it with sudo /usr/share/doc/libdvdread4/install-css.sh in
terminal) needs to be installed. This is necessary for descrambling
DVD. Somehow this package was installed always automatically on my
computer, so I never checked the necessity of this Package (I had
even forgotten the existence of the package).
In the thirth tab you can start a window in which you can choose which audio track you want to extract from the DVD. It will be saved in the original format, no conversion will take place. The file will be saved in the original dts, ac3 or wav format. The program uses mplayer program to extract, so package mplayer must be installed.Most time it automatically can find the right location of the DVD.
Fourth tab:Added the ability to create and load a personalized version of the HRTF (head related transfer function). In the first version I had used a HRTF obtained from the Internet, randomly taken from a graphic found by coincidence. First version I had no big attention for an exact HRTF, because this would be a different function for every human and it is not easy to measure a personalized version of the HRTF. All listening with headphones sounds as if you were sitting with your back to the orchestra (a phenomenon normal for listening with headphone!). This problem should be caused by a not exactly correct HRTF, sadly this problem is not solved. I have tried versions with extra phase control and extra delay control, but this didn't solved it. The spreading of the sound over the space is now improved and it sounds more natural.
Delayfront: the delay caused by the longer distant from the left
front speaker to the right ear in comparison from the distance to
the left ear. 2.5e-4 seconds is 11 samples at 44100 samplingrate,
and it means 7.5 cm extra distant. I suggest not to change it, if
to large all the sounds seems to come from very near.
DelayBack: The delay from the speaker on the left side to right ear
in comparison to the left ear. 6.12e-4 sec. Is 27 samples with
44100 samplingrate and means 18 cm.
Beeplength:Length of the testbeep.
SampleFreq: Sampling frequency of testbeep, not important.
Testlength: Testbeep is repeated from left to right, this is the
total length of testsound.
The list headed “List of HRTF”: The actual HRTF ,first number is
frequency, second number is the damp for the front speakers, the
third is the damp of the speakers on the right and left side. Last
frequency in list is always 24000 Hz, because DVD recordings has a
bandwidth of 24000 Hz .
The list headed “Testfreq Width”:First number is frequency of
testbeep, second number is bandwidth of testbeep. More frequencies
(lines) are possible. I suggest to keep a bandwidth of 1 hz and
only one frequency.
HalfPulse checkbox:gives testbeep sharp attack, only use it in
final testing because it increases bandwidth
Nameof:Here you can choose a name for the HRTF
Use headphone, push button “Test Front Audio”. If adjustment is
correct, the sound you hear should originated from speakers at an
angle of 30 degrees behind of you. If the sounds seems to come more
from the center, you had to make the second number for that
frequency in the HRTF list smaller. If the sound seems to come from
to far sideways, you have to make it larger. Repeat this for every
frequency in the HRTF list. If necessary add extra frequencies to
the list. The test signal should sound symmetrical. At frequencies
between 1000 HZ and 4000Hz something strange could happen. For my
ears the test signal was not longer symmetrical. This was caused by
a wrong HRTF for this frequency. The delay leads to another sound
direction than the information of the damping. The brain could not
solve this sound-image and comes for every ear with a different
solution. Adjusting the level of damping to the right HRTF level
made this more symmetrical, because the information from delay and
the information of damping are no longer conflicting. Exactly this
is the reason for creating your own HRTF, and why headphone
listening with the sound-processing from this program is more
pleasant.
With “Test Side Audio” button the testbeep should become from your
side. First try to make the number of the last column for the
testfreq larger. If the sound seems to come from a point not
exactly from the side (more centered) then make this number again
smaller. Find this boundary. If you make it to small the origin
seems to getting to close to your head, and this is difficult to
hear from the test signal. (These numbers are not used with stereo
recordings, only DVD has this channels). Repeat this for all the
frequencies in the HRTF list.
Test both buttons for all frequencies again with the “HalfPulse
checkbox” checked.
In the list of test frequencies you can set the testfrequency, The
second number is the bandwidth of the testfrequency. The
testfrequency is generated by filtering a delta function or white
noise width the bandwidth. The source is chosen by checkbox white
noise.
Save the result with the “save file” button. If saved with the
name”default.hrtf” in the home directory, the HRTF will be
automatically loaded every time with the start of program.
The examples are just from stereo recordings, because it should
be royalty free. The best quality should come from DTS recordings.
The recording(Example1) is made with Hydrogen drumcomputer, just
the stick and the kick moving from left to the right. The original
sound as if the first hit comes from a point near your left ear,
the next from an unclear point in the middle, the last from a point
near the right ear. The converted file sounds as if the instrument
made a normal trajectory. The most extreme positioning (absolutely
left or right) doesn't come from a point near to your ear. The
converted to binaural audio examples sound much more natural. The
original versions sound annoying if listened with headphone.
Sometimes it sounds as 2 mono signals. A more extreme example is
Example2, Noise on one channel. In the original, the sound
originate in your ear and is totally unnatural. The converted
version sound as if its originate of a speaker at an angle of 30
degrees right behind you, and is much natural. It is still coming
from behind you, but nicely placed in space. At home I listen only
to converted recordings with headphone because I find it more
pleasant. If the original was a 5.1 recording the binaural
converted recording should sound much wider. There exists a version
of 'Aero' of Jean Michel Jarre specified as a 'Dolby headphone'
version. I think for making this, they used a similar process. I
thought my version from ripping the DVD sounds better.
Example1: Original and Converted
Binaural
Example2 (Extreme example):Sound
moving between speakers, sounds wrong on headphone, compare
original with converted version
For the same effect I have created a LADSPA (experimental) filter version. In goes the normal stereo or 5.1 version, out comes a version adapted for listening with headphone. Windows version is 32bits also working in windows 64 bits. For working with Audacity, place the stereotobinaural.dll file in the directory “C:\Program files(x86)\Audacity\Plug_Ins” . Enable it in the Effect menu. The effect is now visible as “stereo to binaural”. In Linux, just double click the deb installation file. For visibility in Audacity, enable it in the Effect menu. In OSX place the libstereotoheadphone.so in the directory “Application/Audacity/Plug-Ins”. For visibility in Audacity, enable it in the Effect menu. The effect is now visible as “stereo to binaural”.
Updated 11 july 2018:(Linux)Dependencies libav-tools and libqt4pas5 removed because not available in modern repository of Linux Mint.
Updated 14 august 2018:(Linux,Windows)Added support for DSF and DFF files (from Super Audio CD's)
Updated 07 july 2019:(Linux,Windows)Added support for not only stereo and 5.1, but also every format between (like 5.0)
Update 05 august 2019: Added support for sofalizer from ffmpeg. For experimenting with sofa files. First try, I found ClubFritz1.sofa gives a good result. I tried with ClubFritz6 and ClubFritz11 with gives distortion. I tried dtf_nh2.sofa which gives a result without frequencies below 300Hz. So be careful which sofa files you choose. Solved: problem was with type=time, now use type=freq option.
Update 07 september 2019:added support for opus format, import and export.
Update 05 november 2019:Open dialog has now support for multiple file selection. Multiple files or all files in map can now be converted in one batch.
Update 01 January 2020 Created OS X version. Tested in Mojave.
Update 11 July 2020: Deb installation wouldn’t install on last Mint version (20 and probably Ubuntu20). There was a problem with libdvdread4 dependencies (moved to libdvdread7). Updated dvdtohp3_4_1 Linux versions.
Update 21 May 2021:Added audio extraction from files like mp4, vob, webm and iso. Version 3.5
Update 1 July 2021:More stable version 3.5.2
Update 16 August 2021: Command line interface (only the conversion part)
Update 09 October 2022:3.5.3 version, Length of audiostreams of DVD is shown in DVD ripping section.
Update 13 Sep. 2024 :3.5.4 solution for the error 'No supported
audio available' for wav stereo files.
Download address for sofa files
Download dvdtohp3.5.3 Windows and Linux version with all dependencies
Download dvdtohp3_5_2 Windows, Linux and OSX version with all dependencies
Download dvdtohp3.5.4_amd64.deb GUI version.
Download dvdtohp3.5.3_amd64.deb GUI version.
Download dvdtohp3_5_2_amd64.deb GUI version.
Download dvdtohp3_5_2_OSX_x86_64.zip
Download dvdtohpcli1_1_1_amd64.deb CLI Linux version (usage: dvdtohpcli –help).
Portable Application Description (PAD), dvdtohp.xml
Download VST plugins for Windows.
Download LADSPA and VST
plugins for Linux
The Windows version uses ffmpeg.exe, mplayer.exe, sox.exe, lame.exe
and flac.exe. They are all placed in the download file because
their locations and versions are more controllable. Downloads and
info of the used programs are on the next websites.
Download location for ffmpeg (ffmpeg.exe)
Download location for mplayer.exe (I used the generic version)
A location to download lame.exe
The OS X version uses ffmpeg, mplayer. They are all placed in the download file because their locations and versions are more controllable. Downloads and info of the used programs are on the next websites.
Download location for ffmpeg (ffmpeg)
With use of mfcuk, mfoc and nfc-mfclassic you can make a copy of Mifare classic 1k cards. Even if you don’t know all the keys. These programs make use of a weakness in the design of the card.
The ufr Classic from D-Logic isn’t capable of this. A disadvantage. A simple copy of a Mifare card with an unknown key is impossible. But Mifare Classic tool (for android)uses a different approach. It don’t use the weakness in design, but the laziness of the users of the cards. The 6 bytes keys gives 2^48 possible values. They seem to use only a few. Just try to use keys from a key list until you get a positive result. My program uses this approach.
The program can’t copy the manufacturer block/UID. It is a limitation from the device or driver. And to be fair, it is not in the specification of the Mifare Card. It is a hack. But the device can check if the card UID is changeable. That’s also not in the specification. And Mifare Classic tool has also problems copying the 0 block.
If you need to make such a copy: This program can copy the content to file in the format used by mfcuk, mfoc and nfc-mfclassic.
And you will need a special ‘Magic’ Chinese Mifare card.
The DL533N device from D-Logic is capable for copying the manufacturer block.
Linux:
The program is expecting the libuFCoder-x86_64.so driver on location '/usr/local/lib/libuFCoder-x86_64.so'. The same location I installed the FTDI drivers.
D-Logic is a little unclear on the right location of the driver. You can make a copy there or the program will ask you, every time the program starts, the location.
Windows:
libuFCoder-x86_64.dll driver is and should be in same directory of program.
Last update 23 may 2024
Download linux version ufr_Bold 0.5.0
Download Windows version ufr_Bold 0.5.0
Download Windows and Linux version ufr_Bold 0.5.0
AppImage version, should work without blacklisting something or to install drivers,
you need to be member of the dialout group, it was tested in Linux Mint Mate 20.3 and 22.1 virtual system from
virtualbox (and a 22.1 normal install). Strange thing was that the USB3.0 controller setting of the virtual box needed to be xHCI, with
the OHCI+ EHCI, it didn't work. Testing in the normal Mint Mate 22 worked directly(I was already member of dialout group).)
ufrbold-linux-x86_64.AppImage Linux version ufr_Bold 0.5.0
Portable Application Description (PAD), ufrbold.xml
A graphical interface for cdparanoia. The program gets CD info with
abcde, if it is not on the CDDB server it search for CD text info
with cd-info from package libcdio-utils and compresses the ripped
audio file with LAME to mp3 or with flac to flac files. It
automatic places the cd info in the mp3 file. While ripping a new
track it compresses at the same time the previous ripped tracks,
making use of more cores of the processor. If there were any errors
during ripping it displaces the errors location in a clear way. The
messages of cdparanoia aren’t always that clear. The button Rip Cd
to Headphone audiofile rips the whole Cd in one file and also
creates a binaural soundfile for headphone( see DVDtoHP). This is
my personal favorite button.
Linux Ubuntu or Mint deb installation file 64 bit Download
Small screen images
Large screen image
Iaddi (1+1 in letters) Calculator with text input, 3 variables.
Calculates numerical integration and numerical differentiation.
Creates a graphic of the function. Does not need any
permissions.
Functions: *, / , + , - , ^ ( power of), sin(), cos(), tan, asin,
acos, atan, sinh, cosh, tanh, asinh, acosh, atanh, sqr, sqrt, exp,
ln, log, abs, rnd, random, rndg (random met Gaussian distribution),
cot, csc, sec, acot, acsc, asec, coth, csch, sech, acoth, acsch,
asech, sign, round, torad (from degree to rad), todegr (from rad to
degree).
Boundaries for drawing graphic and integration can be given by
using Start x, End x, start y and end y.
If start x and end x are the same, the boundaries for y are
calculated automatically.
If start y and end y are the same, the boundaries for y are
calculated automatically.
Warning:Integration can not recognize singularities, input of
infinity is not possible. When a graphic with a singularity is
drawn it is necessary to restrict the y boundaries by fill in start
y and end y
Updated 17 November 2022:checked for latest android.
Download android version iaddi_android (zip file)
Download android version iaddi_android (apk file)
A send in letter from me was publicized in the Dutch magazine “Elektuur” January 2001. This letter regards the recording quality of cd's, especially about clipping. On the Internet I found there where a few translations or summarizing in German ,French and English. Recently I found a few references in Germany to this letter. That's why I placed the original letter and English translation on this site.
Dear Editor — roughly a year ago you had an article in Elektor Electronics about CDs that were supposedly recorded with overdriven signals. An oscilloscope was used to look at the outputsignal of a CD player playing Jean Michel Jarre’s ‘Oxygen 7- 13’. It was clear that the peaks of the waveform were flat where the signal was greater than what could be reproduced by the CD. This is also known as clipping. Using an oscilloscope in this way can’t really tell us how much the CD player affects the signal quality. Between the CD and oscilloscope will be an oversampling digital filter, a digital-to-analogue converter and finally an analogue filter. The most accurate way to check a CD is to extract the track digitally and store it as a WAV file. This will be an exact digital copy of the CD, assuming there were no read errors. The creation of the WAV file shouldn’t be a problem since it is a function that is found in most current CD ‘rippers’. A computer program can then be used to analyse the contents of this WAV file. A WAV file consists of a header followed by the thousands of samples that make up the digitised sound. The 16-bit format used on CDs gives these samples a range from -32768 to 32767. In order to have a closer look at these WAV files I have written a program that can analyse them. As the first step, the program creates a histogram of the WAV file. This counts how often each sample value occurs in the WAV file, and gives a display as shown in Figure 1.
Figure 1
The values near zero occur most often; the more you go to the extremes of –32768 and 32767, the less often they occur. If there was any clipping at the recording stage, all strong signals will be rounded to the extremes of -32768 and 32767, which results in two peaks at the ends of the histogram. This way you can see if there is any clipping present and at what level (it is possible for it to occur at different values than -32768 and 32767, due to badly set up A/D converters). Next, the program displays the actual waveform stored in the WAV file. This window has a search facility that searches for clipping values, as determined by the previous histogram function. I have used this program to analyse the track “...Baby One More Time” by Britney Spears, from her CD “...baby one more time”. It was obvious that there was a lot of clipping in this track, but the display returned by the histogram was the most surprising. This is shown in Figure 2.
Figure 2
It contains the number of occurrences in the WAV file for samples with values from 4 to 515. After every two values that occur over a 1000 times, there follows a value that rarely or never occurs at all. You could only get such a histogram when a 16-bit recording is re-recorded after amplification by a factor of 1.5. Samples with values of 1, 2, 3, 4, 5, 6, 7 etc. are multiplied by 1.5 to give 1.5, 3.0, 4.5, 6.0, 7.5, 9.0, 10.5 etc. These values then have to be rounded to integers before being written to the CD. This gives the result 2, 3, 5, 6, 8, 9, 11 etc. You’ll see that every third value is missing from this series of numbers. By looking at the waveform where clipping occurs, it is possible to deduce by how much the recording of the CD was overdriven. I estimate this to be a factor of about 1.5. From this I conclude that the original mix, which was recorded perfectly, was remixed with an amplification of 1.5, causing clipping in the new recording. The track “Gloria, lonely boy” on the CD “Metamorphose” by Jean Michel Jarre was then analysed, in order to see if his latest CD had signs of clipping. Here too it seemed that the recording was overdriven. But once more it was the histogram that returned some fascinating information (Figure 3).
Figure 3
The smallest and largest samples found in the recording were -32022 and 32021 respectively (0.977 of the maximum range). These were also the levels at which clipping occurred. From the histogram it can be seen that every fortieth value is twice as large as its neighbours are. From these observations you can conclude that this CD is a remix of an original CD recording. The samples have been multiplied by 0.977 before being converted back into CD format. This raises the question why this meaningless conversion was carried out on the recording. The only reason I can think of is that the remix was made to hide the fact that the recording was overdriven. Anybody who uses an oscilloscope to look for clipping would set the trigger level at the largest possible signal level, about 99.9% of the maximum signal possible. The remix would cause the signal to remain below this level so the oscilloscope would never trigger and the clipping would remain undetected. The person making the remix would have known that clipping occurred and was determined to hide this fact. The correct procedure would have been to make a slightly softer remix from the master tape and avoid any clipping that way. The record industry is currently promoting the new Super Audio CD (SACD), which has an improved quality. They would be better off stopping the messing around with the recordings. These fudges also sound bad in SACD format and making careful recordings in CD format will result in bigger improvements than the change to SACD format.
A. Kappert, Deventer
Some people think that these results are caused by compression. But at making cd's, compression means reinforcing the weak passages, reinforcing the strong passages is not possible because these already reach their limit. With a sound editing program the wave shape can be examined. Here is the result made with the provided program of”… baby one more time” at the position 114.885 sec.
Figure 4
Every pixel to the right is a new sample. One of the channels shows clear clipping over a large length and in severe degree. The wave shape have been clearly damaged because of this. Compression will change the envelope of a signal but won't affect the shape. Long before the signal becomes to large the volume will be slowly turned down to prevent clipping. An estimation can be made over the original signal size,I estimate it 1.5 larger. Remains the question about why this signal is strengthens. It appears that by comparison of sound quality of Hi Fi signals, the first preference goes out to the strongest signal. Also at radio broadcasts, the recordings with the largest sound strength attract the most attention.
Figure 5
To addition in figure 5 “oxygen 7”of J. M. Jarre on 27.37 seconds. Here clearly the “saw tooth” is cut off, in this way losing a lot of harmonics in the sound. At “Methamorphoses” the signal appeared to be weakened with 2,5%. It appeared that cd mastering equipment is protected against clipping. To get around this protection, it is necessary to weaken the signal, but at that moment it is known that clipping occurred.
To Download ( updated ) analyse program (cdwavanalyse,windows 7, 32bits)
To Download ( updated ) analyse program (cdwavanalyse,linux Ubuntu or Mint, 64 bits deb)
Old windows version with only wav file support
To Download analyse program
(cdwavanalyse,windows, 32bits)
This program draws Mandelbrot fractals. With a left mouse click you can zoom in, with a right mouse click you can zoom out. It is possible to zoom in with factor 1E16.
For training Python programming I made a Python version of Mandelbrot program. I used numpy module for the calculation, Pil (or actually Pillow fork ) for the image building and PyInstaller for creating an one file executable. The best version I made was 2 times slower then the Lazarus (Free Pascal) version. But this version used multiprocessing, so actually it was 6 times slower. The multiprocessing module had problems after being processed by PyInstaller (strangely no problem in the uncompiled version). The python file needed an extra addition for the right form of spawning. Another problem was the inability to use a more precise version of float64 in Windows. Intel processors use internally float80. Free pascal has not a problem with this (extended type), so using the intel processor more efficient. Under Linux Mint I had to use float128, while internally the precision was only float80. A strange use of types? It makes it unclear what floating version to use and the actual precision version used.