Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: Streaming Vorbis and audio processing (Read 5337 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Streaming Vorbis and audio processing

Okay,

I've been noticing problems with Ogg Vorbis (aotuv b5, b4.51, b4 and xiph 1.1, 1.1.1, 1.1.2, 1.2) and I can't figure out the cause. I have some ideas on what it could be, but I'd like to get some advice on it first.

I do a live stream via Icecast. I use darkice to push to the icecast server, aotuv as the encoding library, and I'm using a Santa Cruz to capture from line-in, which comes from my audio processing computer (500mhz ipaq celeron system dedicated to running soundsolution via winamp line-in), processing the output from my mixing board, which completes its run around the audio processing chain by pulling the audio input from the santa cruz card in my linux computer for music playback (line-in output disabled to avoid feedback). Confusing setup, takes about 30 mins to set it all up when I feel like streaming. However, I don't suspect the Linux computer or the mixing board, I suspect the audio processing and encoder not playing nicely together. The reason I bring this up here is because I'm pretty sure that the encoder is optimized for something that my audio processing setup is completely going against. I know it's not a problem with the encoder itself, since I use the same exact library to encode my CDs with at q4, they sound fantastic and have very reasonable bitrates around where they should be (120-130kbps)

On average, if I set the stream quality level to q0, the bitrate averages 100kbps and everything sounds extremely fat and warbly. The lowest 'listenable' quality level is 2, with average bitrate around 130-150kbps. I can't figure out what is causing the bitrates to inflate. I thought it was possible that the audio processing was sending out some interference since it's a mostly analog chain, but I enabled a low pass and high pass to chop off 'unusable' frequencies to no avail. I set the max frequency as low as 15khz in the audio processing, still highly inflated bitrates and poor sound quality. I've even tried using the ac'97 card in my linux computer for input, no change (besides the fact that the ac'97 sucks for sound quality and everything sounds dull). Bypassing the audio processing system works, but the audio processing really does sound good, despite it eating up almost double the bandwidth. I'd assume that any processing will inflate the bitrate, but almost double the bitrate is way too much imo. I've been able to reproduce this problem with oddcast on windows with a soundblaster input, so it's not a problem with my soundcard or the darkice program.

The audio processing is responsible for stereo expansion, bass shelving, 5 band dynamic range compression (light compression, since i play dozens of different types of music and want the sound to be somewhat consistent), gating (also lightly), and a little bit of leveling. I can't figure out which of these could inflate the bitrate. I've disabled stereo expansion since I suspected it was messing with the lossy stereo coupling, no significant change.

I guess my main questions are could the dynamic range compression be messing with the encoder? Could it likely be bad output from the ipaq i'm using for audio processing? Perhaps bad wiring causing an unhearable artifact that the encoder is picking up on?

I'm so out of ideas on how to fix this. I've been having this issue for quite a while and I just want to fix it. MP3 sounds fantastic at 128kbit, vorbis loses at the same bitrates. I love vorbis, though, and want to keep using it. I just want to know if there is a way to fix this.

I can provide a sample clip tomorrow so you can see what I'm talking about (at work right now, no internet at home until tomorrow), but if anyone has any ideas, please post them. I'm just hoping someone who knows vorbis very well can tell me what to look for in terms of the audio stream itself. I want to optimize my audio processing to accent vorbis, not fight it, but I haven't even been able to break even yet.

I've streamed with MP3 a few times, once at 192kbps, another at 128kbps. Both times people commented on how much better the stream sounded, which really gives vorbis a black eye. Is there anything obvious I'm missing here? Does vorbis rely on a lot of dynamic range? Maybe it's too good and is picking up an undesirable and unhearable artifact somewhere in the chain? I'm really having a hard time figuring this out, but I'll post a sample clip tomorrow and maybe someone who knows what to listen for can tell me why this problem is still around, or maybe someone can figure out whats going on just from my description?

Thanks in advance.
q4 AoTuV Vorbis is my friend.

Streaming Vorbis and audio processing

Reply #1
I do a live stream via Icecast. I use darkice to push to the icecast server, aotuv as the encoding library, and I'm using a Santa Cruz to capture from line-in, which comes from my audio processing computer (500mhz ipaq celeron system dedicated to running soundsolution via winamp line-in), processing the output from my mixing board, which completes its run around the audio processing chain by pulling the audio input from the santa cruz card in my linux computer for music playback (line-in output disabled to avoid feedback). Confusing setup,


It really seems like you have a lot of things going on here.  Before you can solve your problem you'll need to break it into smaller components.

The Vorbis encoder using 100kbit/sec for -q0 sure sounds very wrong.  It makes me wonder how many channels you are feeding the encoder. (i.e. 4? :) )

What I think you should do is swap the Vorbis encoder in your streaming rig with something that writes a wav file to disk.  Listen to the wav file, does it sound okay?  If not, start cutting your signal chain in half until you find the guilty part.  If the wav sounds fine, Vorbis encode it. Does it get a good bitrate? Does the result sound okay?  If not, post a link to the file online. If it does then it sounds like the breakdown is something in how you invoke Vorbis.

Good luck and report back!

 

Streaming Vorbis and audio processing

Reply #2
Sorry, drama with my internet at home. I finally got everything squared away with that (and have 16mbit download, 2mbit up, woo!). I'll hook up all of my equipment tonight and start recording short samples to post, with different settings and various things removed from the processing chain to see how that affects the bitrate. Will also post mp3 samples so you can see what I'm talking about.

I really would appreciate it if people could take a listen and see if they can identify why the bitrate is so ridiculous and why the quality is so crappy when I post the samples.
q4 AoTuV Vorbis is my friend.