Subject:noise remedies - dropping bit depth, sampling rate
Posted by: estamm
Date:4/28/2003 1:25:24 PM
I am doing sound for the GBA (GameBoy Advance) and I'm using a method where aiff. sound files will be "plugged" into midi scores. I only have about 1MB of space to store all sound. Therefore, the aiff. files must at a bit depth of 8 and a sampling rate of anywhere from 11,025 - 16,000kHz. Of course, dropping the bit depth kills the sound - I get all kinds of hiss in my samples. Resampling doesn't seem to mess with the sound quality as much. I've listened to other games on the GBA and they all have hiss to one extent or another, but I want to get the noise as low as possible. I've used the best dither and noise shaping combinations for the bit depth. Another suggestion I got was using EQ's to filter out the extreme highs. i was told the extreme highs are what cause the hiss. I've asked all kinds of people on this subject, but know one seems to really know for certain how to help me. I understand that using a bit depth of 8 is not something people often do. Can anybody here help me? Thanks in advance! -Eric |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: mattaudio
Date:4/28/2003 7:42:19 PM
if you re using a 8 bit depth your sound dynamic will be coded with few steps only. try to get the maximum dynamic amplitude to code your sound with all the range of your 8 bits.do not compress your sound but try to expand it dynamicly.... |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: estamm
Date:4/28/2003 10:59:11 PM
Forgive me, but I'm fairly new to Soundforge. I'm not quite sure what you mean by "coding" my sound to get the maximum "dynamic amplitude". If it's not too complicated, could you briefly explain this to me? That is, the concept of it and what menu functions in Soundforge I would use to achieve it. Thanks for the reply. |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: mattaudio
Date:4/29/2003 3:31:54 AM
when you record a sound , it's quality is determinated by 2 parameters: - the number of "steps" by second it will be sampled :here 11600 -and by the number of "values"it can take at any sample,here 8 bits=2exp8=256 values. the sound is coded "verticaly" with only 256 values.You must try to get the maximum amplitude to take advantage of your 256 values to code your sound. So record your sound in a higher resolution like 44100hz/16 bit then normalize it,then convert it in 11600hz/8 bits.And do not compress your sound cause it will compress the dynamic of your sound ,so it will be "coded" with less "values". hope it make sense... mattaudio |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: estamm
Date:4/29/2003 10:07:00 AM
OK, that does make more sense, thanks. Actually, I have been recording at 44100hz/16 bits, and then dropping them like you said. That was what I was told was best. However, I must compress the sound to aiff. format, there's no way around it. Of course I do it after dropping the sound. As I mentioned, I only have 1MB of space to store ALL sound, (that includes midi mapping, instruments, sfx, and possibly the code to implement it all) and Nintendo's player uses aif. or mod. formats. The audio needs to sound as good as possible, but on the GBA you have to sacrifice some quality for space. I haven't been normalizing, so I'll see how that works! |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: R0cky
Date:4/29/2003 1:30:29 PM
Try using mu-law (u-law) or A-law encoding. This uses a bit depth of 8 and a non-linear transfer function to get you more resolution around zero so it effectively acts like a 12 bit (or more) function for small amplitude signals like hiss. You can select this is the save as dialog in sound forge. Look for CCITT A-law or u-law. The game boy will need a u-law or A-law D/A but this isn't hard to do. They're cheap and readily available as discrete parts. If you're doing a mixed signal ASIC the vendor ought to be able to provide one as IP. Don't know what the restrictions on your hardware design are. |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: estamm
Date:4/29/2003 5:00:26 PM
That sounds good, but we can't add to the GBA's hardware. At least, that sounds like what you're suggesting. This isn't for a hobby, but the company I'm involved with is producing a demo to hand over to an interested publisher. So, with a little luck, the game will be available for the consumer's consoles. Nevertheless, I appreciate the suggestion. I'm not sure what you meant by "ASIC" or "IP". I've been involved with music for a long time, but I've been learning more about game audio as I go. It's a long process, but worth it. |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: R0cky
Date:4/30/2003 2:14:30 PM
ASIC stands for Application Specific Integrated Circuit. It is a mostly custom semiconductor device used in nearly all electronic devices these days. It allows you to integrate the microprocessor with other custom electronics to create a system on a chip. It it the way to get maximum performance electronics in the smallest, cheapest possible form. They are a big investment in engineering and non-recurring expenses (known in the trade as NRE - what you pay the vendor for their part of the engineering and the tooling). I didn't know what part of the product development you were in. The ASIC would be designed by Nintendo as part of the Game Boy hardware. It seems Nintendo isn't interested much in improved sound. IP stands for Intellectual Property. While IP comes in many forms, the way i used it describes a subsystem design (such as an A-law D/A converter) that the ASIC designers buy from a 3rd party if they don't design it themselves. |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: Chienworks
Date:4/30/2003 3:32:58 PM
Mattaudio, actually i disagree with your compression advice. Compression may actually help a lot in this situation. An uncompressed sample may have too large a dynamic range to be encoded well in 8 bits. Since 8 bits has a very limted dynamic range, compression may be necessary to keep the sample within that range. Without compression some parts of the sample may be too quiet and be encoded with too few bits to be recognizable. These sections will sound very noisy indeed! Compression may be necessary to keep the quieter parts loud enough to be encoded well. |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: Rednroll
Date:4/30/2003 5:06:56 PM
I totally agree with what Chienworks said. I would start off in the highest bitrate possible, 32 float/24 bit and record at those bitrates if your soundcard supports it. I would record at the sampling rate that you're finishing at, to avoid the resampling process. So if you want to finish at 11Khz, record at 11Khz. The only thing you lose when recording at a lower sampling rate is a lot of high end frequencies, that you're only going to discard later when you resample down anyways. Record the signal as close to 0dB as possible to ensure you're getting maximum resolution of the bits. Then use Peak normalization and normalize to 0dB. Now try out your bit rate conversion and see how the quality is. If it's acceptable then you're done if not, you're probably hearing the side effects of the lower volume audio aliasing. Therefore, if there's a lot of dynamics range, you might want to try some compression, Wavehammer, RMS normalization, to bring the levels of the lower volume parts of the sound and THEN do the bit rate conversion. The idea here is to start with the maximum bit resolution and then narrow down the dynamics range, because as Chien mentioned, lower volume parts have lower bit resolution, so you need to increase that resolution of those lower volume parts while you're still working in the 24/32 bit realm. |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: estamm
Date:5/1/2003 3:29:07 AM
I haven't tried recording at a bit rate of anything higher than 16 yet. I'll see what happens. I have a CL Soundblaster Platinum ex soundcard - not the best for what I'm doing, but I'm positive it records at a bitrate of 24, if not 32. I'll have to fool around with the compression some, I haven't used it much yet. Everyone's been a tremendous help! Thank you! Chienworks and Rednroll, I'll try your suggestion and see how it comes out... |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: R0cky
Date:5/1/2003 3:02:43 PM
let's not confuse bit depth with bit rate. Bit depth e.g. 8, 16, 24, fixed point (integer) or 32 bit floating point. SAMPLING rate 44.1 KHz etc. Bit rate is the product of bit depth, sampling rate and number of channels. |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: mattaudio
Date:5/1/2003 8:32:32 PM
sorry for my mistake (lack of sleep..), yes compression can help a lot to get a cleanest signal if it's done BEFORE the normalisation process. |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: estamm
Date:5/2/2003 11:07:33 AM
I just got an email back from one GBA developer who said that a 4:1 compression rate is ideal for what I'm doing. What are some of the better compressors out there? Something good for a decent price. Or, is the Graphic Dynamics function on Soundforge good enough? |
Subject:RE: noise remedies - dropping bit depth, sampling rate
Reply by: rraud
Date:5/2/2003 7:30:28 PM
4:1 may be good.... but at what threshold, or how much gain reduction.. Sounds like parrot talk. Ultrafunk makes a nice compressor w/ peak limiter. (about US $50) The iZotope comp is good but only available with the CPU eating mastering package.($199 download) Waves is the tops but... big $$$$. The SF Wave Hammer works good too, but it distorts easily and must be used with care. The Graphic-Dynamics can work but it's takes time to set-up for optimal performance... as does all of the above to a certain extent. |