PSG samples (Development MSX Forum)MSX Resource Center MSXdev 2008 - MSX1 development bonanza!              
              
English Nederlands Español Português Russian         
 News
   Frontpage
  News archive
  News topics

 Resources
   MSX Forum
  Articles
  Reviews
  Fair reports
  Photo shoots
  Fairs and meetings
  Polls
  Links
  Search

 Software
   Downloads
  Webshop

 MRC
   Who we are
  Join our team
  Donate
  Policies
  Contact us
  Link to Us
  Statistics

 Search
 
  

  

 Login
 

Username

Password




Don't you have an account yet? Become an MSX-friend and register an account now!.


 Statistics
 

There are 54 guests and 2 MSX friends online

You are an anonymous user.
 

MSX Forum


MSX Forum

Development - PSG samples

Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 Next Page )
Author

PSG samples

ARTRAG
msx master
Posts: 1686
Posted: June 03 2005, 16:58   
Ok they are! You're right!
241 values in my table T are repeated values.

Anyway this is non very important as the line

[m,i]= min(abs(T(:,1)-x(n)));

looks for the best index i in T that gives x(n)

Thus in theory nothing change even if I skip the step where
I cancel duplicates.


ARTRAG
msx master
Posts: 1686
Posted: June 03 2005, 17:02   
% cancel duplicates

[h,i] = sort([ QQ , -1, 1e6]);
w = h(find(diff(h)>1e-6));
w = [ w(2:end)];

% store in T non duplicate outputs with the corresponding PSG volumes

T = [];
for i=1:length(w)
j=find(II(:,1)==w(i));
T = [T; II(j(1),: )];
end

% T has 608 different values !
% Sorry :-)
NYYRIKKI
msx master
Posts: 1510
Posted: June 03 2005, 17:10   
Quote:


I did all that in the article on the MAP that I updated yesterday.



So... Wich of the tables is better? I must say, that I can't understand the SNR system that well...

Grauw
msx professional
Posts: 1006
Posted: June 03 2005, 17:14   
I think at least the one on the MAP is sub-optimal , but not by much.

In effect, they will likely both sound similar. Although if ARTRAG takes a base range of 1.45, his output will probably be louder.

I’m still working on using the real error, instead of counting the number of times the deviation passes a threshold. If both my and ARTRAGs calculations are correct, we should end up with the same values.

Btw, the MAP one is sub-optimal in the sense that it might not use the most optimal range (that is, the one with the least amount of errors). The values in the table are all correct though.


~Grauw
NYYRIKKI
msx master
Posts: 1510
Posted: June 03 2005, 17:18   
Ok, next add keyclick bit and start again

Unfortunately I don't think keyclick volume is standard.

Grauw
msx professional
Posts: 1006
Posted: June 03 2005, 17:30   
I don’t think so either...
[WYZ]
msx lover
Posts: 94
Posted: June 03 2005, 17:30   
Quote:


@@Artrag:
do you want to try my table ?
As far as I can understand it
should give an SNR almost
identical to the one of a 8bit
PCM player.




I tried the table and and I don't find differences, only replay speed.
It would be better if we make testing with the same 8bit-mono-unsigned WAV file.(20kb max.)

webs.ono.com/WYZ/8BITart.bin
ARTRAG
msx master
Posts: 1686
Posted: June 03 2005, 17:32   
@Grauw
My samples play louder, but also should also have a lower distortion
As the PSG levels are spaced not uniformely the range you choose for
play the output becomes very important.
AR
ARTRAG
msx master
Posts: 1686
Posted: June 03 2005, 17:33   
@WYZ
Do you want a sample?
[WYZ]
msx lover
Posts: 94
Posted: June 03 2005, 17:37   
Yes, because I'm testing the table with my own 8 bit sample.
But I don't understand this:

db 0,0,0 ; 0 0,0000
...

why 00h 8bit data means 0,0,0 volume in PSG instead of 80h?

ARTRAG
msx master
Posts: 1686
Posted: June 03 2005, 17:47   
Send me an email I'll send you my sample

ARTRAG
msx master
Posts: 1686
Posted: June 03 2005, 17:49   
db 0,0,0 ; 0 0,0000

means that the 8bit PCM value 0 corresponds to the
output level 0,0000 which in turn corresponds to 0,0,0 on the 3 channles
Grauw
msx professional
Posts: 1006
Posted: June 03 2005, 17:56   
ATRAG: I know.

I found the problem why calculating errors didn’t work well, I’ve been declaring my ‘errors’ variable globally instead of locally .

From the updated routine, it seems that a output volume range of 0 ... 1.328 has actually got the best signal-to-noise ratio (read: the least distortion).

Below is a list with cumulative errors for each range, with increments of 0.01 (I’ve actually been testing with 0.001 increments). Divide an error by 256 to find the average error per value.

I think that as you can see from the table, the distortion is pretty much irrelevant, because as you can see in the generated list it stays within acceptable limits for pretty much all volume ranges between 0.5 and 2.0 (out of 3). Which is nice, because then you can base your range on the actual output volume you want.


~Grauw

Total error: 44,23519 (range: 0,01)
Total error: 16,84636 (range: 0,02)
Total error: 9,64568 (range: 0,03)
Total error: 6,28239 (range: 0,04)
Total error: 4,42793 (range: 0,05)
Total error: 3,39897 (range: 0,06)
Total error: 2,68690 (range: 0,07)
Total error: 2,26966 (range: 0,08)
Total error: 1,91377 (range: 0,09)
Total error: 1,65222 (range: 0,1)
Total error: 1,45297 (range: 0,11)
Total error: 1,29424 (range: 0,12)
Total error: 1,17503 (range: 0,13)
Total error: 1,07904 (range: 0,14)
Total error: 1,00098 (range: 0,15)
Total error: 0,93451 (range: 0,16)
Total error: 0,86804 (range: 0,17)
Total error: 0,82759 (range: 0,18)
Total error: 0,79926 (range: 0,19)
Total error: 0,75884 (range: 0,2)
Total error: 0,70973 (range: 0,21)
Total error: 0,67699 (range: 0,22)
Total error: 0,65442 (range: 0,23)
Total error: 0,63096 (range: 0,24)
Total error: 0,60689 (range: 0,25)
Total error: 0,59186 (range: 0,26)
Total error: 0,57259 (range: 0,27)
Total error: 0,55390 (range: 0,28)
Total error: 0,53223 (range: 0,29)
Total error: 0,52242 (range: 0,3)
Total error: 0,51395 (range: 0,31)
Total error: 0,49644 (range: 0,32)
Total error: 0,48656 (range: 0,33)
Total error: 0,47593 (range: 0,34)
Total error: 0,46670 (range: 0,35)
Total error: 0,46656 (range: 0,36)
Total error: 0,45193 (range: 0,37)
Total error: 0,44630 (range: 0,38)
Total error: 0,43068 (range: 0,39)
Total error: 0,40155 (range: 0,4)
Total error: 0,40912 (range: 0,41)
Total error: 0,39539 (range: 0,42)
Total error: 0,39180 (range: 0,43)
Total error: 0,38540 (range: 0,44)
Total error: 0,37862 (range: 0,45)
Total error: 0,36894 (range: 0,46)
Total error: 0,36619 (range: 0,47)
Total error: 0,37171 (range: 0,48)
Total error: 0,37226 (range: 0,49)
Total error: 0,36292 (range: 0,5)
Total error: 0,35934 (range: 0,51)
Total error: 0,35224 (range: 0,52)
Total error: 0,35325 (range: 0,53)
Total error: 0,33895 (range: 0,54)
Total error: 0,34738 (range: 0,55)
Total error: 0,33155 (range: 0,56)
Total error: 0,31900 (range: 0,57)
Total error: 0,31556 (range: 0,58)
Total error: 0,31418 (range: 0,59)
Total error: 0,31948 (range: 0,6)
Total error: 0,31131 (range: 0,61)
Total error: 0,31412 (range: 0,62)
Total error: 0,30191 (range: 0,63)
Total error: 0,30897 (range: 0,64)
Total error: 0,29906 (range: 0,65)
Total error: 0,31641 (range: 0,66)
Total error: 0,29768 (range: 0,67)
Total error: 0,30547 (range: 0,68)
Total error: 0,30165 (range: 0,69)
Total error: 0,29931 (range: 0,7)
Total error: 0,30129 (range: 0,71)
Total error: 0,30367 (range: 0,72)
Total error: 0,28418 (range: 0,73)
Total error: 0,29206 (range: 0,74)
Total error: 0,28506 (range: 0,75)
Total error: 0,28157 (range: 0,76)
Total error: 0,27310 (range: 0,77)
Total error: 0,27442 (range: 0,78)
Total error: 0,27032 (range: 0,79)
Total error: 0,26229 (range: 0,8)
Total error: 0,26094 (range: 0,81)
Total error: 0,25829 (range: 0,82)
Total error: 0,26112 (range: 0,83)
Total error: 0,25177 (range: 0,84)
Total error: 0,24942 (range: 0,85)
Total error: 0,25672 (range: 0,86)
Total error: 0,25522 (range: 0,87)
Total error: 0,25829 (range: 0,88)
Total error: 0,24838 (range: 0,89)
Total error: 0,24611 (range: 0,9)
Total error: 0,25249 (range: 0,91)
Total error: 0,24920 (range: 0,92)
Total error: 0,26177 (range: 0,93)
Total error: 0,22135 (range: 0,94)
Total error: 0,24428 (range: 0,95)
Total error: 0,25329 (range: 0,96)
Total error: 0,25167 (range: 0,97)
Total error: 0,23510 (range: 0,98)
Total error: 0,24791 (range: 0,99)
Total error: 0,24387 (range: 1)
Total error: 0,25408 (range: 1,01)
Total error: 0,25244 (range: 1,02)
Total error: 0,26981 (range: 1,03)
Total error: 0,23293 (range: 1,04)
Total error: 0,23891 (range: 1,05)
Total error: 0,23978 (range: 1,06)
Total error: 0,24048 (range: 1,07)
Total error: 0,23775 (range: 1,08)
Total error: 0,23987 (range: 1,09)
Total error: 0,24111 (range: 1,1)
Total error: 0,22823 (range: 1,11)
Total error: 0,22688 (range: 1,12)
Total error: 0,22653 (range: 1,13)
Total error: 0,23181 (range: 1,14)
Total error: 0,21896 (range: 1,15)
Total error: 0,21020 (range: 1,16)
Total error: 0,22228 (range: 1,17)
Total error: 0,22460 (range: 1,18)
Total error: 0,22700 (range: 1,19)
Total error: 0,22034 (range: 1,2)
Total error: 0,21695 (range: 1,21)
Total error: 0,22254 (range: 1,22)
Total error: 0,22277 (range: 1,23)
Total error: 0,22397 (range: 1,24)
Total error: 0,21076 (range: 1,25)
Total error: 0,21311 (range: 1,26)
Total error: 0,21453 (range: 1,27)
Total error: 0,22634 (range: 1,28)
Total error: 0,21816 (range: 1,29)
Total error: 0,21343 (range: 1,3)
Total error: 0,20568 (range: 1,31)
Total error: 0,23326 (range: 1,32)
Total error: 0,21189 (range: 1,33)
Total error: 0,21937 (range: 1,34)
Total error: 0,22188 (range: 1,35)
Total error: 0,22015 (range: 1,36)
Total error: 0,21533 (range: 1,37)
Total error: 0,22161 (range: 1,38)
Total error: 0,21932 (range: 1,39)
Total error: 0,22349 (range: 1,4)
Total error: 0,22628 (range: 1,41)
Total error: 0,22279 (range: 1,42)
Total error: 0,22360 (range: 1,43)
Total error: 0,22220 (range: 1,44)
Total error: 0,22260 (range: 1,45)
Total error: 0,21568 (range: 1,46)
Total error: 0,21547 (range: 1,47)
Total error: 0,23134 (range: 1,48)
Total error: 0,23381 (range: 1,49)
Total error: 0,22591 (range: 1,5)
Total error: 0,23088 (range: 1,51)
Total error: 0,23085 (range: 1,52)
Total error: 0,22086 (range: 1,53)
Total error: 0,22554 (range: 1,54)
Total error: 0,22043 (range: 1,55)
Total error: 0,23093 (range: 1,56)
Total error: 0,22873 (range: 1,57)
Total error: 0,23862 (range: 1,58)
Total error: 0,24495 (range: 1,59)
Total error: 0,23777 (range: 1,6)
Total error: 0,22956 (range: 1,61)
Total error: 0,24087 (range: 1,62)
Total error: 0,23827 (range: 1,63)
Total error: 0,25010 (range: 1,64)
Total error: 0,26857 (range: 1,65)
Total error: 0,26796 (range: 1,66)
Total error: 0,26575 (range: 1,67)
Total error: 0,25778 (range: 1,68)
Total error: 0,27983 (range: 1,69)
Total error: 0,27124 (range: 1,7)
Total error: 0,27299 (range: 1,71)
Total error: 0,26943 (range: 1,72)
Total error: 0,27029 (range: 1,73)
Total error: 0,27326 (range: 1,74)
Total error: 0,26310 (range: 1,75)
Total error: 0,27293 (range: 1,76)
Total error: 0,26729 (range: 1,77)
Total error: 0,27023 (range: 1,78)
Total error: 0,27555 (range: 1,79)
Total error: 0,27297 (range: 1,8)
Total error: 0,29826 (range: 1,81)
Total error: 0,28601 (range: 1,82)
Total error: 0,28829 (range: 1,83)
Total error: 0,29094 (range: 1,84)
Total error: 0,29220 (range: 1,85)
Total error: 0,30633 (range: 1,86)
Total error: 0,33192 (range: 1,87)
Total error: 0,28438 (range: 1,88)
Total error: 0,30270 (range: 1,89)
Total error: 0,29994 (range: 1,9)
Total error: 0,29962 (range: 1,91)
Total error: 0,30532 (range: 1,92)
Total error: 0,31269 (range: 1,93)
Total error: 0,31540 (range: 1,94)
Total error: 0,32793 (range: 1,95)
Total error: 0,31110 (range: 1,96)
Total error: 0,32536 (range: 1,97)
Total error: 0,33506 (range: 1,98)
Total error: 0,33640 (range: 1,99)
Total error: 0,33353 (range: 2)
Total error: 0,34135 (range: 2,01)
Total error: 0,34238 (range: 2,02)
Total error: 0,33174 (range: 2,03)
Total error: 0,32812 (range: 2,04)
Total error: 0,32695 (range: 2,05)
Total error: 0,34908 (range: 2,06)
Total error: 0,32552 (range: 2,07)
Total error: 0,31970 (range: 2,08)
Total error: 0,32985 (range: 2,09)
Total error: 0,32639 (range: 2,1)
Total error: 0,33628 (range: 2,11)
Total error: 0,33341 (range: 2,12)
Total error: 0,33423 (range: 2,13)
Total error: 0,33698 (range: 2,14)
Total error: 0,35078 (range: 2,15)
Total error: 0,35550 (range: 2,16)
Total error: 0,35267 (range: 2,17)
Total error: 0,35136 (range: 2,18)
Total error: 0,36378 (range: 2,19)
Total error: 0,36829 (range: 2,2)
Total error: 0,35376 (range: 2,21)
Total error: 0,35989 (range: 2,22)
Total error: 0,36921 (range: 2,23)
Total error: 0,36399 (range: 2,24)
Total error: 0,36999 (range: 2,25)
Total error: 0,36514 (range: 2,26)
Total error: 0,37530 (range: 2,27)
Total error: 0,39190 (range: 2,28)
Total error: 0,40033 (range: 2,29)
Total error: 0,42321 (range: 2,3)
Total error: 0,43598 (range: 2,31)
Total error: 0,44684 (range: 2,32)
Total error: 0,46169 (range: 2,33)
Total error: 0,46422 (range: 2,34)
Total error: 0,46343 (range: 2,35)
Total error: 0,45436 (range: 2,36)
Total error: 0,46151 (range: 2,37)
Total error: 0,46923 (range: 2,38)
Total error: 0,47888 (range: 2,39)
Total error: 0,47170 (range: 2,4)
Total error: 0,47948 (range: 2,41)
Total error: 0,47544 (range: 2,42)
Total error: 0,48373 (range: 2,43)
Total error: 0,48164 (range: 2,44)
Total error: 0,50521 (range: 2,45)
Total error: 0,51061 (range: 2,46)
Total error: 0,51910 (range: 2,47)
Total error: 0,52917 (range: 2,48)
Total error: 0,51526 (range: 2,49)
Total error: 0,51017 (range: 2,5)
Total error: 0,52078 (range: 2,51)
Total error: 0,52193 (range: 2,52)
Total error: 0,52795 (range: 2,53)
Total error: 0,54087 (range: 2,54)
Total error: 0,55451 (range: 2,55)
Total error: 0,58646 (range: 2,56)
Total error: 0,58929 (range: 2,57)
Total error: 0,62763 (range: 2,58)
Total error: 0,65096 (range: 2,59)
Total error: 0,69321 (range: 2,6)
Total error: 0,71855 (range: 2,61)
Total error: 0,74487 (range: 2,62)
Total error: 0,77314 (range: 2,63)
Total error: 0,79779 (range: 2,64)
Total error: 0,80361 (range: 2,65)
Total error: 0,80585 (range: 2,66)
Total error: 0,81701 (range: 2,67)
Total error: 0,82162 (range: 2,68)
Total error: 0,82679 (range: 2,69)
Total error: 0,81629 (range: 2,7)
Total error: 0,81614 (range: 2,71)
Total error: 0,81397 (range: 2,72)
Total error: 0,81675 (range: 2,73)
Total error: 0,81551 (range: 2,74)
Total error: 0,82986 (range: 2,75)
Total error: 0,84290 (range: 2,76)
Total error: 0,85899 (range: 2,77)
Total error: 0,87378 (range: 2,78)
Total error: 0,89772 (range: 2,79)
Total error: 0,92300 (range: 2,8)
Total error: 0,95007 (range: 2,81)
Total error: 0,97228 (range: 2,82)
Total error: 1,00343 (range: 2,83)
Total error: 1,04830 (range: 2,84)
Total error: 1,08120 (range: 2,85)
Total error: 1,11709 (range: 2,86)
Total error: 1,15316 (range: 2,87)
Total error: 1,17638 (range: 2,88)
Total error: 1,20349 (range: 2,89)
Total error: 1,22223 (range: 2,9)
Total error: 1,26128 (range: 2,91)
Total error: 1,25397 (range: 2,92)
Total error: 1,26898 (range: 2,93)
Total error: 1,27263 (range: 2,94)
Total error: 1,28741 (range: 2,95)
Total error: 1,29091 (range: 2,96)
Total error: 1,28453 (range: 2,97)
Total error: 1,28541 (range: 2,98)
Total error: 1,28617 (range: 2,99)
Total error: 1,26241 (range: 3)

(lower = better)
ARTRAG
msx master
Posts: 1686
Posted: June 03 2005, 18:08   
Actually your best result is

Total error: 0,20568 (range: 1,31)

and not 1.328

I'm doing the same research I'll tell you my result very soon
AR

PS
my result says that 1.272 maximize the SNR for the linear patter
of 256 evenly spaced samples
[WYZ]
msx lover
Posts: 94
Posted: June 03 2005, 18:10   
Quote:

db 0,0,0 ; 0 0,0000

means that the 8bit PCM value 0 corresponds to the
output level 0,0000 which in turn corresponds to 0,0,0 on the 3 channles



This is a test with your 8bit sample and table:
http://webs.ono.com/WYZ/aleluya8BIT.bin

...And why don't test this table?

WAV - PSG

00h - F,E,E
...
80h - 0,0,0
...
FFh - F,E,E


 
Goto page ( Previous Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 Next Page )
 







(c) 1994 - 2008 MSX Resource Center Foundation. MSX is a trademark of MSX Licensing Corporation.