[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] Mixer latency
hey,
cool. I'll try and test it later (in about 8 hours).
Sounds like an interesting project :)
On Mon, Mar 31, 2008 at 3:26 PM, Wyatt Olson <wyatt.olson@xxxxxxxxx> wrote:
> Yes, I have tried all sorts of buffer sizes (all the way down to 8). I
> can't see any difference in performance with any of these. As for the
> source, I tool a look at mixer.c, but to be honest I am not as up to
> date on my C as I would like - I have concentrated on higher level
> languages for a bit too long, and have forgotten the details of these
> older ones. 8-(
>
> As for the program, you can access it at
> http://drummaster.thecave.homeunix.org/files/DrumSlave_Minimal.zip .
> This only has one sample (a snare drum) for testing, which is mapped to
> port 0. Other than that, it is exactly as I am using it.
>
> To run, unzip and use the command:
>
> python drum_slave.py --keyboard rock
>
> It should run on python 2.4 or 2.5, with any semi-recent version of pygame.
>
> The application is meant to be the slave for a hardware board I
> developed, which talks to the computer via a serial port. To allow
> testing, I added the keyboard mode, in which you can manually type the
> commands which otherwise would come over the serial port.
>
> Once the application starts, type "0:1023" (without quotes), and hit
> enter. A drum sound will play. I am measuring latency by recording the
> whole thing in an audio recorder, and measuring the difference in time
> between the sound of me hitting enter and the sound of the sample being
> played. In my tests, it seems to average to about 65 or 70 ms, with a
> maximum of about 100ms.
>
> As for program layout, the initialization is done in slave.py.
> drum_slave.py is just the command line wrapper. Pygame Sound objects
> are played in hardware/sensor.py. I don't think that anything else
> would be relevant to this discussion, but it should be simple enough to
> find your way around in, if you are interested - the program is not very
> large.
>
> All my testing so far has been done on OS X. I am planning to try some
> tests on Linux, once I can get a box put together. If anyone does test
> this on a different platform, I would be very interested in hearing the
> results, and how they compare to mine.
>
> Thanks for all your help!
>
> Cheers
>
>
>
> René Dudfield wrote:
> > Hello,
> >
> > Do you have a link to your code?
> >
> > You've tried setting a really small buffer size? Like 512 or something?
> >
> > Have a look at src/mixer.c to see how SDL is used.
> >
> > cheers,
> >
> >
> >
> > On Mon, Mar 31, 2008 at 2:50 PM, Wyatt Olson <wyatt.olson@xxxxxxxxx> wrote:
> >
> >> Upgraded to pygame 1.8 / python 2.5 - still the same latency.
> >>
> >> I am thinking that it may be related to SDL itself, and not the python
> >> wrapper per se... I have seen some suggestions on lowering the chunk size in
> >> SDL. Does this map directly to the buffer size in pygame, or is there some
> >> magic happining behind the scenes?
> >>
> >> Thanks
> >>
> >>
> >>
> >> Wayne Koorts wrote:
> >>
> >> Does anyone have any suggestions on what I can try?
> >>
> >> Wouldn't hurt to upgrade to Pygame 1.8 for a start.
> >>
> >> Regards,
> >> Wayne
> >>
> >>
> >>
>
>