new world of sounds - O problems of quality digital audio AY.
NEW IN THE WORLD OF SOUNDS AY
In this section, we propose to familiarize readers
interested in the problems of high-quality digital sound on his
regular co-processor, with the work of the famous Moscow
spektrumista Dmitry Grigoryev aka Oldman. Just below you can
read authoritative commentary a recognized expert in the field
of DIGITAL SOUND ON AY - MONSTER'a and UnBEL! EVER'a. We now
give the floor to the author:
-------------------------------------------------- -------------
(C) Oldman
Thus, a fairly long under General Discussion sabzh "8bit->
4bit" forced me to take up the soldering iron ... ugh ... climb
in MASM in search of empirical evidence own assertions.
Evidence I have not actually found, but the result was born
original idea;) But let's start again ... The assertion that
multiple parcel at the port AY same value improves the playback
quality - nonsense! I repeat for the third time and if anyone
else I have this error accuse ... I'll bite:) With regard to
tables and formulas ... The only true (or all documentation to
lie AY) transformation formula:
LET AY = (LN (V +1) / LN 2) * 2-1: IF AY <0 THEN LET AY
= 0
where AY - AY value for a range of 0-15, and V - linear volume
level (0-255)
But! The correct formula does not guarantee the best
performance! Actually, a decent quality on the four bits can
only be trying different formulas, artificially limiting the
dynamic range of the original sampling, and even just
vykusyvaya individual pulses that make the greatest distortion.
Then is, would not prevent a decent editor of samples on the
Spectrum, but now is not about that;) method proposed by Dennis
Sotchenko (calculation of two values, arithmetic mean the sum
of which is closest to the right and alternating discarding
them in the port AY) did not give significant improvement in
the quality of play and foniroval SO whistles that ... However,
I'm probably just careless to realize it (the values were
replaced with a frequency of 22kHz and calculated very roughly)
... In any case, not in the nature of Russian coders to develop
other people's development, when there own ;-) So, I represent:
UltraSound4x3 method for AY chips
(C) OLDMAN 1998
--------------------------------
The idea is simple as the design of a broom - at AY three
channels of 4 bits, therefore, combining the volume of all
three channels can be easily achieved more than 16 unique and,
most importantly, very close to the corresponding 8-bit scale
of 0-255, the volume levels! Actually, I did it calculate from
160 to 206 levels (but the latter has slightly increased signal
to noise ratio). Speaking of noise ... Noisy fun;) But the
distortions of wheezing and squeals aurally quite noticeably,
and this will agree, progress! From the noise - it is clear.
Channels are not processed at the same time - they still need
to switch. Obviously, the noise can be reduced by minimizing
the time between records in the ports. But one who can expedite
below piece of code will need to put a monument for life;)
LD BC, # FFFD
EXX
LD BC, # BFFD
EXX; 4
OUT (C), L; 12
EXX; 4
OUT (C), D; 12
EXX; 4
OUT (C), H; 12
EXX; 4
OUT (C), E; 12
EXX; 4
OUT (C), D; 12
EXX; 4
OUT (C), L; December 1996
Well, I explained briefly, and then those who need it,
ourselves sorted out. In a pinch, I can always ask (weeks 2 I
shall remember all the details:) In any case, if someone
technique is useful and he wants to use it in their papers
mention: technique, pieces of code, source and timing of the
program - absolutely frivarny! Do whatever it pleases, but, if
not broke, mention the name of the method (you can briefly U43)
and its author's copyright, running lines, or where you have
there documentation to your program. And do not forget to
inform me - poteshte old man) Well, the most brazen, even hello
to me pass;)
--------------------------------------------------
-------------( We skip the detailed description of the archive
is distributed OLDMAN'om programs to support the method
ULTRAS4X3. Note only that the set includes two players (11 and
22kNZ) sources players, with a small demo program digitize
speech and generating the table. (See below)
--------------------------------------------------
------------- tabcalc. - Horrible program! Computes three
values
for the three ports of AY, the amount of which
corresponds to
0-255 and writes them into three tables. By
road chart displays, where X - 0-255, by Y -
the amount of loudness of the three channels.
When you run requires
enter a factor. As would be easier to explain ...
k = 256 / 3 - it is as if we equally divide the
scale of 0-255
on three channels and get 160 unique
"Volume". k = 128 - we are a bit reduced
coefficient were 206 "volume", but the general
the sound level dropped to third (and noise - no).
Prog written in 100% BASIC, operates
exact dimension of arrays of numbers to 1024,
so it works very slowly. P120, emulator
Shalaev at maximum speed - and a half hours.
On a real Spectrum advise you to run on
weekend;)
That's all that was to work for almost a month.
Hopefully, this will leave something worthwhile ...
Best regards, Dmitry (Oldman)
InterNet: oldman@i-connect.ru
FidoNet: 2:5020 / 689.31
ZXNet: 095/100.1
-------------------------------------------------- -------------
MMA> After the first audition demo program method leaves a
favorable impression. There is a certain noise, but
three-dimensional sound amazing. However, the real audition
samplov with the supplied player reveals the opposite. The same
samplov being converted old ancestral ways, plays like 4bit and
much cleaner. Furthermore, even when listening to supplied demo
programs on the qualitative technique (at home MMCM'a) where
clearly audible low frequency noise is dominant, and the
okazyvaetsya sound somewhere in the "background" ... And
instead of storing 8bit 4bit is wasteful in terms of memory and
the amount of playing sound. In a word uniquely characterize
the method is difficult, MONSTER hopefully be able to dot the
i. ..
MONSTER> method is cool of course, but buggy. Too high
noise spoils the impression. By the way, I was able to reduce
the most time-critical piece of code from 96 to 77 (!) cycles,
which in fact did not increase the quality of play!
(For some reason, which actually did not realize Oldman)
Details - in the next issue ...
-------------------------------------------------- -------------
Authors in this issue:
-------------------------------------------------- -------------
___
MONSTER / / SAGE GROUP - all codes, some text
MMCM ___ / / SAGE GROUP - music, logo
MARKET SOFT \ \ / / SAGE GROUP - intro gfx, correction
UnBEL! EVER \ \ / / EXTREME - all texts, main idea
\ \ /
\ __ \ / Rulez forever
-------------------------------------------------- -------------
Contact addresses:
-------------------------------------------------- -------------
443074 SAMARA POBox 9966 Muchkaevu Maxim Alekseevich (UnBEL!
EVER) (8462) 941595 Sergei (MMCM)
speed_co@yahoo.com
-------------------------------------------------- -------------
Other articles:
|
|
new world of sounds - O problems of quality digital audio AY.
|
|
|