|
2 bytes --> short * irgendwas --> 2 bytes
|
|
 03 Sep 2009, 19:38
|

busy office        
Punkte: 1655
seit: 30.06.2006
|
Zitat(stth @ 03 Sep 2009, 19:36) schlecht... letzeres ist die verstärkung... akt. wert in double, malnehmen, zurück nach int wenn float gain = 0.5f gegaehnt = (int)((float)gegaehnt * gaehn);  Also vllt kams ja falsch an: ich will lediglich die lautstärke der einzelnen kanäle manipulieren. Auf das gesamte ist das kein Problem, dafür gibts die Gain control in der API. Aber wie ich das auf die einzelnen kanäle abwälzen soll ist mir unklar...
--------------------
Grüße sn3ek
|
|
|
|
|
 03 Sep 2009, 19:55
|

der vierkonsonantige         
Punkte: 3812
seit: 12.12.2003
|
Zitat(sn3ek @ 03 Sep 2009, 19:38) Aber wie ich das auf die einzelnen kanäle abwälzen soll ist mir unklar...  na linksgaehn und rechtsgaehn statt gaehn verwenden  mich verwirrt noch, dass du da keinen graden ton mehr rausbekommst €: grade nochmal nachgerechnet... meinen zahlen nach kommts binär richtig raus. frage ist, ob die vllt anders codieren, um es leichter rechnen zu können das würde die verfälschung/rauschen Dieser Beitrag wurde von stth: 03 Sep 2009, 20:02 bearbeitet
|
|
|
|
|
 04 Sep 2009, 00:52
|

busy office        
Punkte: 1655
seit: 30.06.2006
|
Zitat(stth @ 03 Sep 2009, 19:55) na linksgaehn und rechtsgaehn statt gaehn verwenden  mich verwirrt noch, dass du da keinen graden ton mehr rausbekommst €: grade nochmal nachgerechnet... meinen zahlen nach kommts binär richtig raus. frage ist, ob die vllt anders codieren, um es leichter rechnen zu können das würde die verfälschung/rauschen  Ich hab keine Ahnung, ich kann mir das rauschen auch nicht erklären.
|
|
|
|
|
 04 Sep 2009, 10:17
|

busy office        
Punkte: 1655
seit: 30.06.2006
|
Zitat(stth @ 04 Sep 2009, 07:45) heißt das rauschen eigentlich, dass nur rauschen ist, oder einfach nur ein rauschen drunter liegt? fall 2teres: da kanns daran liegen, dass die signal-quantisierung logaritmisch ist und wir das signal linear verstärken. das geht natürlich schief. müsste man mal die wav-spec lesen. fall1teres: was sagt denn das java doc der gain control api über die codierung? €: hast du da mal in den code geguckt, wenn der offen ist?  es liegt ein rauschen drunter. ich hab mir die openjdk heruntergeladen aber keine sound api gefunden (die da mit drin sein müsste). das gain control wird jedenfalls logarithmisch angesteuert. die gain control für die komplette line liegt zwischen -79 und +6 db. Aber wie sollte ich das denn auf den kanal umwelzen?ä
|
|
|
|
|
 04 Sep 2009, 10:34
|

busy office        
Punkte: 1655
seit: 30.06.2006
|
Wow geil es funktioniert hab jetzt das gemacht - also Rauschunterdrückung ist jetzt drin, ist noch nicht komplett weg. Aber da muss ich noch bisschen herumspielen vllt krieg ich das noch hin. CODE for(int c=0; c<Constants.getBufferlength()-4; c+=4) { arrayLeft[c] = (byte) Math.min(Math.max((arrayLeft[c]*(Math.exp(leftGain*2)-1)/(Math.E-1)), -128), 127); arrayLeft[c+1] = (byte) Math.min(Math.max((arrayLeft[c+1]*(Math.exp(leftGain*2)-1)/(Math.E-1)), -128), 127); arrayRight[c+2] = (byte) Math.min(Math.max((arrayRight[c+2]*(Math.exp(leftGain*2)-1)/(Math.E-1)),-128),127); arrayRight[c+3] = (byte) Math.min(Math.max((arrayRight[c+3]*(Math.exp(rightGain*2)-1)/(Math.E-1)), -128), 127); }
|
|
|
|
|
 04 Sep 2009, 12:14
|

busy office        
Punkte: 1655
seit: 30.06.2006
|
Zitat(sn3ek @ 04 Sep 2009, 10:34) Wow geil es funktioniert hab jetzt das gemacht - also Rauschunterdrückung ist jetzt drin, ist noch nicht komplett weg. Aber da muss ich noch bisschen herumspielen vllt krieg ich das noch hin. CODE for(int c=0; c<Constants.getBufferlength()-4; c+=4) { arrayLeft[c] = (byte) Math.min(Math.max((arrayLeft[c]*(Math.exp(leftGain*2)-1)/(Math.E-1)), -128), 127); arrayLeft[c+1] = (byte) Math.min(Math.max((arrayLeft[c+1]*(Math.exp(leftGain*2)-1)/(Math.E-1)), -128), 127); arrayRight[c+2] = (byte) Math.min(Math.max((arrayRight[c+2]*(Math.exp(leftGain*2)-1)/(Math.E-1)),-128),127); arrayRight[c+3] = (byte) Math.min(Math.max((arrayRight[c+3]*(Math.exp(rightGain*2)-1)/(Math.E-1)), -128), 127); }  // edit mein chef meint dass das falsch wäre die pegelanpassung mit logarithmischen werten zu füttern. WTF?! ich seh echt nicht mehr durch
|
|
|
|
|
 04 Sep 2009, 12:57
|

dLikP       
Punkte: 1497
seit: 06.10.2006
|
Zitat(sn3ek @ 04 Sep 2009, 12:14) // edit mein chef meint dass das falsch wäre die pegelanpassung mit logarithmischen werten zu füttern. WTF?! ich seh echt nicht mehr durch  Und was soll richtig sein? Is doch ansich piepegal ob man das linear oder logarithmisch macht, kommt doch aufs gleiche raus.
--------------------
flickrUnd wenn sie kommt, fährt sie an uns vorbei -RaT-
|
|
|
2 Nutzer liest/lesen dieses Thema (2 Gäste)
0 Mitglieder:
|