• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: More than 1 bus in a Node creating distorded audio?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: More than 1 bus in a Node creating distorded audio?


  • Subject: Re: More than 1 bus in a Node creating distorded audio?
  • From: "Patrick Muringer" <email@hidden>
  • Date: Wed, 25 Aug 2010 17:36:20 +0200

Sound is not distorded but clipped (only for the busses 2
and on) and exit only on the left (from busses 2 and on)

the strange thing is that bus 0 and 1 play correctly.

The code for each bus is the same.

Patrick

----- Original Message -----
Da : Gregory Wieber <email@hidden>
A : Patrick Muringer <email@hidden>,
email@hidden
Oggetto : Re: More than 1 bus in a Node creating distorded
audio?
Data : Wed, 25 Aug 2010 08:29:16 -0700

> I agree with Bill -- particular if the distortion sounds
> like a 'bit reduced' kind of distortion (like the
> 'bitcrusher' distortion plugin for logic) then it's
> probably an ASBD format issue.  Also,  keep in mind that
> you need to keep your levels from clipping, and since the
> mixer is additive,
>  multiple busses can result in clipping.
>
> On Tue, Aug 24, 2010 at 6:04 PM, William Stewart
> <email@hidden> wrote:
>
> >
> > On Aug 23, 2010, at 11:55 PM, Patrick Muringer wrote:
> >
> > > Thanks Bill for your reply,
> > >
> > > You are right, my writing was not clear enough.
> > >
> > > I add the callbacks for each bus manually:
> > > AUGraphSetNodeInputCallback(graph, MixerNode, 0,
> > > &callback); .
> > > .
> > > .
> > > AUGraphSetNodeInputCallback(graph, MixerNode, N,
> > > &callback); should I use the loop instead?
> >
> > no difference
> >
> > But you should make sure that the formats are what you
> > expect on each and every bus.
> >
> > I would guess (from the code below) that you are
> > expecting all of the buses to be mono, but some are
> stereo. >
> >
> > >
> > > In the call back, I have a series of IF statements for
> > > each bus number were I either fill with data or with
> > 0: >
> > > if(inBusNumber == 0) {
> > > if(input.isPlayingTrack1) {
> > >  [input fillBufferWithSampleForBus0:inNumberFrames
> > > :frameBuffer]; }
> > > else {
> > >  [input fillBufferWith0:inNumberFrames :frameBuffer];
> > > }
> > > }
> > > .
> > > .
> > > if(inBusNumber == N) {
> > > ...
> > > }
> > >
> > >
> > > The fillBufferWithSampleForBus (0 to N) does this:
> > >
> > > -(void)
> fillBufferWithSampleForBus0:(UInt32)inNumberFrames
> > > :(UInt32 *) frameBuffer {
> > > int packetCount;
> > > int packetIndex; //Current position in sample
> > >
> > > //loop through the buffer and fill the frames
> > > packetCount = (int)[self.sample1 getPacketCount];
> > > packetIndex = (int)[self.sample1 getIndex];
> > >
> > > self.nbSampleToPlayTrack1 = ((packetCount -
> > > packetIndex) < inNumberFrames)? (packetCount -
> > > packetIndex):inNumberFrames; for (int j = 0; j <
> > >  inNumberFrames; j++){ if(self.nbSampleToPlayTrack1 >
> > >   0) { frameBuffer[j] = [self.sample1 getNextPacket];
> > >   self.nbSampleToPlayTrack1--;
> > >  }
> > >  else {
> > >   self.isPlayingTrack1=FALSE;
> > >   [self.sample1 reset];
> > >   frameBuffer[j] = 0;
> > >  }
> > > }
> > > }
> > >
> >
> > > So I guess I'm filling the buffer for each bus.
> > >
> > > Everything that I "play" on bus 2 and on (correct
> > > behavior for busses 0 and 1) is sent clipped only to
> > > the left of my headset. I taught it was the sample so
> > > I used the same sample for each bus and I had the same
> strange behavior. Anything that I do wrong? >
> > I think its a format issue - make sure you have mono or
> > stereo as you want as the format for each bus you are
> > using. If it si mono, you have one buffer to deal with,
> > if stereo, you have two, and the first buffer is the
> left channel >
> > Bill
> >
> > >
> > > Pat
> > >
> > >
> >
> >  _______________________________________________
> > Do not post admin requests to the list. They will be
> > ignored. Coreaudio-api mailing list
> > (email@hidden) Help/Unsubscribe/Update
> your Subscription: >
> >
>
> >
> > This email sent to email@hidden
> >
>
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: More than 1 bus in a Node creating distorded audio?
      • From: William Stewart <email@hidden>
  • Prev by Date: Re: More than 1 bus in a Node creating distorded audio?
  • Next by Date: IOAudioStream clipIfNecessary messages
  • Previous by thread: Re: More than 1 bus in a Node creating distorded audio?
  • Next by thread: Re: More than 1 bus in a Node creating distorded audio?
  • Index(es):
    • Date
    • Thread