Born Dead #01
24 октября 1998 |
|
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:
legends come to life - On the exit logs ZX-Power # 3 and Oberon # 5. |
new world of sounds - O problems of quality digital audio AY. |
From the authors - On the first issue of the newspaper of Samara. |
Similar articles:
В этот день... 23 November