|
|
Atari coding BBS
Re: Lance's 50 KHz playroutine |
Posted by: ljbk
|
Mar,08.2013-13:12
|
Here are some details related to mixing result combinations:
When mixing two 7 bit values from from -64 to 63 into 8 bit(-128 to 126), one gets 99% of the add results in the 231 middle values of the 8 bit space (-128/127). We have then a 231/256 = 90.2% usage of the 8 bit space of the DACs. This is the normal 4 voices mixing in stereo (2x2).
When mixing three 6.41 bit values from from -42 to 42 into 8 bit(-126 to 126), one gets 99% of the add results in the 203 middle values of the 8 bit space (-128/127). We have then a 203/256 = 79.3% usage of the 8 bit space of the DACs. This would be a 6 voices mixing in stereo (2x3).
When mixing four 6 bit values from from -32 to 31 into 8 bit(-128 to 124), one gets 99% of the add results in the 181 middle values of the 8 bit space (-128/127). We have then a 181/256 = 70.7% usage of the 8 bit space of the DACs. This would be a 8 voices mixing in stereo (2x4).
A simple high level language algorithm will give you those results.
The situation is even worse because the sample data is not evenly distributed over the 8 bit space.
For example, the Illusion.mod from Chromix sample data has 40% of its data in the 12.5% middle 8 bit values from -15 to 15, 50% of its data in the 23% middle 8 bit values, 60% of its data in the 35% middle 8 bit values and 70% of its data in the 55% middle 8 bit values.
So you can easyly square those DAC 8 bit space usage values.
This means that with 4 voices we use around 80% of the DAC 8 bit space, with 6 voices we would use around 65% of the DAC 8 bit space and with 8 voices we would use around 50% of the DAC 8 bit space. This is why Hextracker uses amplification ...
To give you examples:
- the Illusion.mod is best played with a 1.5 (in hex 1.3125 in decimal) amplification factor. Without that only 100/1.3125 = 76% of the DACs 8 bit space will be used;
- Quantum Fluctuations, a recent (2013) 6 voices mod by Yerzmyey(http://ym-digital.i-demo.pl/music.html) is best played with 4.D (in hex 4.8125 in decimal) amplification factor. Without that only 100/4.8125 = 21% of the DACs 8 bit space will be used;
- Funky ST, a 8 voices mod by Yerzmyey(http://ym-digital.i-demo.pl/music.html and SV2011) is best played with 5.3 (in hex 5.1875 in decimal) amplification factor. Without that only 100/5.1875 = 19% of the DACs 8 bit space will be used;
So again the 8 voices replay using Lance strategy means:
- 6 bit samples as input;
- LCM usage (with non linear 4.5 bits) to handle the volume control of 2 of the 8 voices (6 bit linear value);
- only about 50% usage of the DACs 8 bit space values => low volume and low quality as it is only in fact a 7 bit output signal;
=> so all together this is a low quality replay !
To include the amplification on the Lance strategy would have costs at speed level and we would have to remove the LCM usage.
One time free solution for this is to boost the volume of the input samples but you can not overdo that othewise you will destroy the quality of the input samples.
Hextracker does it like this:
- 7 or 8 bit samples are volumed into 8 bit to 11 bit values depending on the number of voices in use (4 voices in stereo(2 to 1 mixing) -> 11bit);
- those samples are mixed into a 12 bit value: this limits the mixer to 16 voices (12 bit - 8 bit = 4bit) so in fact Hextracker could have 32 voices in stereo (2 times 16 to 1 mixing) but at 5 or 6 KHz :D ;
- only a fraction of that 12-bit space is selected to be converted to the 8 bit DAC value (this is where we have the amplification);
Enjoy,
Paulo.
|
[All messages in this thread] [Start new thread]
Topic
|
Posted by
|
Date
|
Lance's 50khz playroutine
|
Bod/STAX
|
Feb,18.2013-17:35
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,18.2013-20:42
|
Re: Lance's 50khz playroutine
|
ggn
|
Feb,18.2013-20:53
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Feb,18.2013-21:28
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,18.2013-23:05
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,18.2013-23:16
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,19.2013-02:21
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Feb,22.2013-17:08
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,25.2013-20:36
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,25.2013-23:54
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Feb,26.2013-11:23
|
Re: Lance's 50khz playroutine
|
evil
|
Feb,26.2013-12:04
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,26.2013-14:45
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,26.2013-21:46
|
Re: Lance's 50khz playroutine
|
evil
|
Feb,27.2013-17:01
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-13:24
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-13:28
|
Re: Lance's 50khz playroutine
|
gwEm
|
Feb,28.2013-14:07
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Feb,28.2013-21:41
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-22:42
|
Sem assunto
|
ljbk
|
Mar,01.2013-13:27
|
Lance's 50 KHz playroutine
|
ljbk
|
Mar,01.2013-15:49
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,01.2013-17:34
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,01.2013-17:36
|
Re: Lance's 50 KHz playroutine
|
evil
|
Mar,01.2013-19:03
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,02.2013-00:18
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,04.2013-17:39
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-02:21
|
Re: Lance's 50 KHz playroutine
|
gwEm
|
Mar,06.2013-13:23
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-15:57
|
Re: Lance's 50 KHz playroutine
|
evil
|
Mar,06.2013-16:48
|
Re: Lance's 50 KHz playroutine
|
ggn
|
Mar,06.2013-17:31
|
Re: Lance's 50 KHz playroutine
|
evil
|
Mar,06.2013-17:48
|
Re: Lance's 50 KHz playroutine
|
ggn
|
Mar,06.2013-23:54
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-18:18
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-21:51
|
Re: Lance's 50 KHz playroutine
|
ggn
|
Mar,06.2013-23:59
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,07.2013-02:31
|
Re: Lance's 50 KHz playroutine
|
ggn
|
Mar,07.2013-12:34
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,07.2013-14:00
|
Re: Lance's 50 KHz playroutine
|
gwEm
|
Mar,07.2013-18:00
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,07.2013-18:51
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,08.2013-02:10
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,08.2013-13:12
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,09.2013-00:17
|
Re: Lance's 50 KHz playroutine
|
ljbk
|
Mar,06.2013-19:28
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-15:47
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-15:51
|
Re: Lance's 50khz playroutine
|
ljbk
|
Feb,28.2013-18:56
|
Re: Lance's 50khz playroutine
|
nativ
|
Mar,24.2013-00:07
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,13.2013-01:21
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,16.2013-16:12
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,19.2013-12:14
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,22.2013-14:54
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,25.2013-19:03
|
Re: Lance's 50khz playroutine
|
ggn
|
Apr,25.2013-21:03
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,26.2013-09:18
|
Re: Lance's 50khz playroutine
|
ggn
|
Apr,26.2013-11:28
|
Re: Lance's 50khz playroutine
|
ljbk
|
Apr,26.2013-12:13
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,01.2013-22:30
|
Re: Lance's 50khz playroutine
|
evil
|
May,02.2013-14:46
|
Re: Lance's 50khz playroutine
|
gwEm
|
May,02.2013-20:00
|
Re: Lance's 50khz playroutine
|
Damo
|
May,02.2013-21:00
|
Re: Lance's 50khz playroutine
|
evil
|
May,03.2013-13:00
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,08.2013-17:50
|
Re: Lance's 50khz playroutine
|
Cyprian
|
May,10.2013-13:01
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,11.2013-00:22
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,11.2013-08:54
|
Re: Lance's 50khz playroutine
|
Cyprian
|
May,11.2013-15:18
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,11.2013-15:35
|
Re: Lance's 50khz playroutine
|
Lance
|
May,23.2013-00:02
|
Re: Lance's 50khz playroutine
|
ljbk
|
May,23.2013-14:44
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Jun,06.2013-20:32
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Jun,06.2013-20:39
|
Re: Lance's 50khz playroutine
|
ljbk
|
Jun,07.2013-00:09
|
Re: Lance's 50khz playroutine
|
Bod/STAX
|
Jun,07.2013-18:38
|
Re: Lance's 50khz playroutine
|
ljbk
|
Jun,07.2013-21:46
|
What's the anti-troll code? That's your personal code to be able to add comments and messages on the dhs.nu site.
Don't have a code or forgot it? Fix it here.
|
|
|