[Cs-dev] Problem with Realtime Render Cutting Short
Date | 2010-01-19 05:10 |
From | Steven Yi |
Subject | [Cs-dev] Problem with Realtime Render Cutting Short |
Attachments | tempCsd57850.csd None None |
Hi All, I think I found somewhat of a showstopper bug. I am testing using the latest Csound code from CVS and in rendernig this in realtime it cuts off the last bit of the last note with a pop. If I render this to disk it is fine. I'm on Windows XP. If I use MME, it cuts off fairly early in the last note; if I use PortAudio, it cuts off near the end of the note. The score renders to completion with no errors reported. My guess is that Csound isn't waiting for the audio to flush before exiting, but I am just guessing. Does anyone have any ideas? Could someone try this on other platforms to see if the problem occurs there too? Thanks, steven |
Date | 2010-01-19 08:26 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Did not hear anything wrong; Linux OpenSuSE11.1/x86_64 using Alsa and Portaudio But my ears are not good ==John ff > Hi All, > > I think I found somewhat of a showstopper bug. I am testing using the > latest Csound code from CVS and in rendernig this in realtime it cuts > off the last bit of the last note with a pop. If I render this to > disk it is fine. I'm on Windows XP. If I use MME, it cuts off fairly > early in the last note; if I use PortAudio, it cuts off near the end > of the note. > > The score renders to completion with no errors reported. My guess is > that Csound isn't waiting for the audio to flush before exiting, but I > am just guessing. Does anyone have any ideas? Could someone try this > on other platforms to see if the problem occurs there too? > > Thanks, > steven > ------------------------------------------------------------------------------ > Throughout its 18-year history, RSA Conference consistently attracts the > world's best and brightest in the field, creating opportunities for > Conference > attendees to learn about information security's most important issues > through > interactions with peers, luminaries and emerging and established > companies. > http://p.sf.net/sfu/rsaconf-dev2dev_______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel > ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2010-01-19 08:45 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Same here OSX with doubles version (I have not yet built a floats one) (I hear no problems). I'll build the floats and test. Victor On 19 Jan 2010, at 08:26, jpff@cs.bath.ac.uk wrote: > Did not hear anything wrong; Linux OpenSuSE11.1/x86_64 using Alsa and > Portaudio > > But my ears are not good > ==John ff > >> Hi All, >> >> I think I found somewhat of a showstopper bug. I am testing using >> the >> latest Csound code from CVS and in rendernig this in realtime it cuts >> off the last bit of the last note with a pop. If I render this to >> disk it is fine. I'm on Windows XP. If I use MME, it cuts off >> fairly >> early in the last note; if I use PortAudio, it cuts off near the end >> of the note. >> >> The score renders to completion with no errors reported. My guess is >> that Csound isn't waiting for the audio to flush before exiting, >> but I >> am just guessing. Does anyone have any ideas? Could someone try >> this >> on other platforms to see if the problem occurs there too? >> >> Thanks, >> steven >> ------------------------------------------------------------------------------ >> Throughout its 18-year history, RSA Conference consistently >> attracts the >> world's best and brightest in the field, creating opportunities for >> Conference >> attendees to learn about information security's most important issues >> through >> interactions with peers, luminaries and emerging and established >> companies. >> http://p.sf.net/sfu/rsaconf-dev2dev_______________________________________________ >> Csound-devel mailing list >> Csound-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/csound-devel >> > > > > ------------------------------------------------------------------------------ > Throughout its 18-year history, RSA Conference consistently attracts > the > world's best and brightest in the field, creating opportunities for > Conference > attendees to learn about information security's most important > issues through > interactions with peers, luminaries and emerging and established > companies. > http://p.sf.net/sfu/rsaconf-dev2dev > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2010-01-19 08:58 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Same with floats version, no audible problem, disk and dac versions are the same. On 19 Jan 2010, at 08:45, Victor Lazzarini wrote: > Same here OSX with doubles version (I have not yet built a floats > one) (I hear no problems). I'll build the floats and test. > > Victor > On 19 Jan 2010, at 08:26, jpff@cs.bath.ac.uk wrote: > >> Did not hear anything wrong; Linux OpenSuSE11.1/x86_64 using Alsa and >> Portaudio >> >> But my ears are not good >> ==John ff >> >>> Hi All, >>> >>> I think I found somewhat of a showstopper bug. I am testing using >>> the >>> latest Csound code from CVS and in rendernig this in realtime it >>> cuts >>> off the last bit of the last note with a pop. If I render this to >>> disk it is fine. I'm on Windows XP. If I use MME, it cuts off >>> fairly >>> early in the last note; if I use PortAudio, it cuts off near the end >>> of the note. >>> >>> The score renders to completion with no errors reported. My guess is >>> that Csound isn't waiting for the audio to flush before exiting, >>> but I >>> am just guessing. Does anyone have any ideas? Could someone try >>> this >>> on other platforms to see if the problem occurs there too? >>> >>> Thanks, >>> steven >>> ------------------------------------------------------------------------------ >>> Throughout its 18-year history, RSA Conference consistently >>> attracts the >>> world's best and brightest in the field, creating opportunities for >>> Conference >>> attendees to learn about information security's most important >>> issues >>> through >>> interactions with peers, luminaries and emerging and established >>> companies. >>> http://p.sf.net/sfu/rsaconf-dev2dev_______________________________________________ >>> Csound-devel mailing list >>> Csound-devel@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/csound-devel >>> >> >> >> >> ------------------------------------------------------------------------------ >> Throughout its 18-year history, RSA Conference consistently attracts >> the >> world's best and brightest in the field, creating opportunities for >> Conference >> attendees to learn about information security's most important >> issues through >> interactions with peers, luminaries and emerging and established >> companies. >> http://p.sf.net/sfu/rsaconf-dev2dev >> _______________________________________________ >> Csound-devel mailing list >> Csound-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/csound-devel > > > ------------------------------------------------------------------------------ > Throughout its 18-year history, RSA Conference consistently attracts > the > world's best and brightest in the field, creating opportunities for > Conference > attendees to learn about information security's most important > issues through > interactions with peers, luminaries and emerging and established > companies. > http://p.sf.net/sfu/rsaconf-dev2dev > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2010-01-19 09:06 |
From | Andres Cabrera |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Attachments | First note.jpg Second note.jpg None None |
Hi, I can confirm this problem on Linux. I ran through QuteCsound but using the terminal, to make sure it was not an problem with QuteCsound. I used Jack to connect the output of Csound to Audacity, there were no xruns and I used this csd: |
Date | 2010-01-20 04:12 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Hi Andres, Thanks for going through the steps you went through. I'm pretty concerned about this. I just started looking at Csound code but am just getting re-familiarized with Engine code so may take me a while. Not yet sure what is going on. steven On Tue, Jan 19, 2010 at 4:06 AM, Andres Cabrera |
Date | 2010-01-20 09:34 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
I'm holding off releasing binaries until this is sorted. As I said I can't see a problem on OSX, but it's better to be sure. Victor On 20 Jan 2010, at 04:12, Steven Yi wrote: > Hi Andres, > > Thanks for going through the steps you went through. I'm pretty > concerned about this. I just started looking at Csound code but am > just getting re-familiarized with Engine code so may take me a while. > Not yet sure what is going on. > > steven > > On Tue, Jan 19, 2010 at 4:06 AM, Andres Cabrera > |
Date | 2010-01-20 13:36 |
From | Rene Djack |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Attachments | ksmps.csd End_note1.jpg End_note2.jpg None None |
Hi, I can see the problem in real time and also in rendering when ksmps is high. My test csd is: <CsoundSynthesizer> <CsOptions> -Wfd -+rtaudio=null -+rtmidi=null --expression-opt </CsOptions> <CsInstruments> sr = 44100 ksmps = 1024 nchnls = 1 0dbfs = 1 instr 2 aout oscil 0.5, 100, 1 out aout endin </CsInstruments> <CsScore> f 1 0 1024 10 1 i 2 0 2 i 2 3 2 e </CsScore> </CsoundSynthesizer> Output is: new alloc for instr 2: B 0.000 .. 3.000 T 2.995 TT 2.995 M: 0.50000 B 3.000 .. 5.000 T 4.992 TT 4.992 M: 0.50000 Score finished in csoundPerform(). Note 1 start at 0.000s end at 1.996s Note 2 start at 2.995s end at 4.992s Tested on csound 5.11.1 float and double, UbuntuStudio 9.10 Best, René 2010/1/20 Victor Lazzarini <Victor.Lazzarini@nuim.ie> I'm holding off releasing binaries until this is sorted. As I said I |
Date | 2010-01-20 14:25 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Attachments | None None |
Just use lower ksmps. Your events will be quantised to control period boundaries, that's how Csound works. Victor On 20 Jan 2010, at 13:36, Rene Djack wrote: Hi, |
Date | 2010-01-20 19:19 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Even if it quantizes, it shouldn't cut off the note but rather extends past the end. Event quantizing also wouldn't explain how this renders to completion to disk but not in realtime. I'm still having trouble finding where Csound is using the realtime audio playback hooks. (grep shows where it gets set but not used.) I also wonder how long this problem has been here if it is showing up for Rene in 5.11.1. Perhaps it has to do with the change to work in samples for time? If so, then that means the problem would have been around for a long while. On Wed, Jan 20, 2010 at 9:25 AM, Victor Lazzarini |
Date | 2010-01-20 19:29 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Steven, my comment was only to do with the post I replied to. What you report is a separate issue and very much a bug. I can't reproduce it on OSX, though. But I will wait until this issue is fixed. I guess if I have some time tomorrow or Friday I will build Csound on Linux to check. Victor On 20 Jan 2010, at 19:19, Steven Yi wrote: > Even if it quantizes, it shouldn't cut off the note but rather extends > past the end. Event quantizing also wouldn't explain how this renders > to completion to disk but not in realtime. > > I'm still having trouble finding where Csound is using the realtime > audio playback hooks. (grep shows where it gets set but not used.) I > also wonder how long this problem has been here if it is showing up > for Rene in 5.11.1. Perhaps it has to do with the change to work in > samples for time? If so, then that means the problem would have been > around for a long while. > > On Wed, Jan 20, 2010 at 9:25 AM, Victor Lazzarini > |
Date | 2010-01-20 19:40 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Hi Victor, Sounds good. Wondering about OSX: is the driver callback-based or blocking? I checked and using -+rtaudio=pa_cb I get the clipped sound on Windows XP but with -+rtaudio=pa_bl I do not. I'm hoping this will help narrow down the problem. What driver did you use for OSX? Could you perhaps try with pa_bl, pa_cb, and coreaudio if you have a chance? Thanks! steven On Wed, Jan 20, 2010 at 2:29 PM, Victor Lazzarini |
Date | 2010-01-20 20:48 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
it does not happen with either pa_cb or pa_bl, but happens with coreaudio. It seems the device is closed before being flushed. Looks like it's an RT module issue then. Victor On 20 Jan 2010, at 19:40, Steven Yi wrote: > Hi Victor, > > Sounds good. Wondering about OSX: is the driver callback-based or > blocking? I checked and using -+rtaudio=pa_cb I get the clipped sound > on Windows XP but with -+rtaudio=pa_bl I do not. I'm hoping this will > help narrow down the problem. > > What driver did you use for OSX? Could you perhaps try with pa_bl, > pa_cb, and coreaudio if you have a chance? > > Thanks! > steven > > On Wed, Jan 20, 2010 at 2:29 PM, Victor Lazzarini > |
Date | 2010-01-20 21:04 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
It seems to be fixed (on rtcoreaudio.c, if I just place a sleep(1) before stopping the audio callback. In the case of pa_cb, it could be the same problem. The callback is being stopped before it's completely done. Same on linux(?) I guess this is more apparent with large buffers. Victor On 20 Jan 2010, at 20:48, Victor Lazzarini wrote: > it does not happen with either pa_cb or pa_bl, but happens with > coreaudio. It seems the device is closed before being flushed. > Looks like it's an RT module issue then. > > Victor > On 20 Jan 2010, at 19:40, Steven Yi wrote: > >> Hi Victor, >> >> Sounds good. Wondering about OSX: is the driver callback-based or >> blocking? I checked and using -+rtaudio=pa_cb I get the clipped sound >> on Windows XP but with -+rtaudio=pa_bl I do not. I'm hoping this >> will >> help narrow down the problem. >> >> What driver did you use for OSX? Could you perhaps try with pa_bl, >> pa_cb, and coreaudio if you have a chance? >> >> Thanks! >> steven >> >> On Wed, Jan 20, 2010 at 2:29 PM, Victor Lazzarini >> |
Date | 2010-01-20 21:49 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Was this in 5/.11 or has something shaken? > It seems to be fixed (on rtcoreaudio.c, if I just place a sleep(1) > before stopping the audio callback. > In the case of pa_cb, it could be the same problem. The callback is > being stopped before it's completely done. > Same on linux(?) I guess this is more apparent with large buffers. > > Victor > ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2010-01-20 21:51 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Hi John, Rene reported the issue in 5.11.1 for both float and double on Ubuntu Studio 9.10. steven On Wed, Jan 20, 2010 at 4:49 PM, |
Date | 2010-01-20 21:51 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
I never noticed it with 5.11, but then all's well with the default IO module on OSX, and I had not been testing rtcoreaudio.c at all before. Victor On 20 Jan 2010, at 21:49, jpff@cs.bath.ac.uk wrote: > Was this in 5/.11 or has something shaken? > >> It seems to be fixed (on rtcoreaudio.c, if I just place a sleep(1) >> before stopping the audio callback. >> In the case of pa_cb, it could be the same problem. The callback is >> being stopped before it's completely done. >> Same on linux(?) I guess this is more apparent with large buffers. >> >> Victor >> > > > > > ------------------------------------------------------------------------------ > Throughout its 18-year history, RSA Conference consistently attracts > the > world's best and brightest in the field, creating opportunities for > Conference > attendees to learn about information security's most important > issues through > interactions with peers, luminaries and emerging and established > companies. > http://p.sf.net/sfu/rsaconf-dev2dev > _______________________________________________ > Csound-devel mailing list > Csound-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/csound-devel ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2010-01-20 21:57 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
No. I think what he reported has nothing to do with this. His test was with high ksmps and the problem was rendering to disk. I think the behaviour he reports is the expected. What you have reported is with normal conditions of ksmps and shows a difference between rendering to disk and RT. There are no reports this was happening on 5.11. That does not mean it was not. Victor On 20 Jan 2010, at 21:51, Steven Yi wrote: > Hi John, > > Rene reported the issue in 5.11.1 for both float and double on Ubuntu > Studio 9.10. > > steven > > On Wed, Jan 20, 2010 at 4:49 PM, |
Date | 2010-01-20 22:10 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
I just reread Rene's email and he mentioned: "I can see the problem in real time and also in rendering when ksmps is high." I did not see any mention of rendering to disk anywhere. On Wed, Jan 20, 2010 at 4:57 PM, Victor Lazzarini |
Date | 2010-01-20 22:16 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
I think rendering means 'to disk'. His CSD had a very large ksmps. There is no other CSD example with normal ksmps. I understood 'the problem when ksmps is high' in 'realtime and rendering [to disk]' is what he meant. Victor On 20 Jan 2010, at 22:10, Steven Yi wrote: > I just reread Rene's email and he mentioned: > > "I can see the problem in real time and also in rendering when ksmps > is high." > > I did not see any mention of rendering to disk anywhere. > > On Wed, Jan 20, 2010 at 4:57 PM, Victor Lazzarini > |
Date | 2010-01-20 22:33 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Well, even if ksmps is high, it should still render in realtime completely through the event, and may be a clue. I'm going to test on fedora and ubuntu virtual machines. I think Fedora has csound 5.10 and will use whatever is in Ubuntu (i assume 5.11.1 from Rene's setup). I'll use the same test.csd I originally posted. Will report back when I have results. On Wed, Jan 20, 2010 at 5:16 PM, Victor Lazzarini |
Date | 2010-01-20 22:46 |
From | Rene Djack |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Attachments | None None |
YES I have included my test csd in my previous message <CsOptions> -Wfd -+rtaudio=null -+rtmidi=null --expression-opt </CsOptions> is rendering to disk. Of course my test ksmps is very high, it was just to show better the "problem". In QuteCsound i use high ksmps for instrument reading the gui (ksmps=256 for SteamPipe.csd i recently post in user list) Anyway you say it is normal, that's all. Sorry for the the noise, it's my last message on this dev-list. René 2010/1/20 Victor Lazzarini <Victor.Lazzarini@nuim.ie> I think rendering means 'to disk'. His CSD had a very large ksmps. |
Date | 2010-01-20 23:01 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
No worries, I think I misunderstood what Victor was getting at as well, as I didn't realize the test csd didn't have an envelope on the oscillator. I appreciate your contribution to this thread, for what it's worth. On Wed, Jan 20, 2010 at 5:46 PM, Rene Djack |
Date | 2010-01-20 23:17 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Okay I just tested using: Csound version 5.10 beta (float samples) Dec 3 2009 This is on Fedora 12, using what is in the RPM repository which is: csound-5.10.1-14.fc12.i686 I tested with alsa using -b1024 -B4096 and heard the premature click. I ran it using pulseaudio and heard the click. It seems to be not consistent to my ear how much of a click, which makes me think there's thread timing involved where more of the audio may or may not get thorough before closing. In addition, I rendered it to disk and played using the gnome media player and it did not have a click. Note, the build is a float build. (My tests on WinXP are with a doubles build). Going to test on Ubuntu now. steven On Wed, Jan 20, 2010 at 5:33 PM, Steven Yi |
Date | 2010-01-20 23:44 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Why don't you try to stick a sleep() or similar call before any call to Pa_StopStream(dev->handle) just to check if that changes things (as it does in rtcoreaudio())? Victor On 20 Jan 2010, at 23:17, Steven Yi wrote: > Okay I just tested using: > > Csound version 5.10 beta (float samples) Dec 3 2009 > > This is on Fedora 12, using what is in the RPM repository which is: > > csound-5.10.1-14.fc12.i686 > > I tested with alsa using -b1024 -B4096 and heard the premature click. > I ran it using pulseaudio and heard the click. It seems to be not > consistent to my ear how much of a click, which makes me think there's > thread timing involved where more of the audio may or may not get > thorough before closing. > > In addition, I rendered it to disk and played using the gnome media > player and it did not have a click. > > Note, the build is a float build. (My tests on WinXP are with a > doubles build). > > Going to test on Ubuntu now. > > steven > > On Wed, Jan 20, 2010 at 5:33 PM, Steven Yi |
Date | 2010-01-21 00:25 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
On Ubuntu, the version of Csound I have installed must not be the latest from repos but perhaps that's better. The reported version is: Csound version 5.10 (double samples) Jul 29 2009 It gives issues again with pa_bl, alsa, and pulse audio. No problems with pa_cb (opposite of what I found on Windows I think). On Wed, Jan 20, 2010 at 6:17 PM, Steven Yi |
Date | 2010-01-21 00:29 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Well, from the looks of it, it seems a problem that is existing in multiple drivers. I'm wondering if the problem lies elsewhere and is a flaw in Csound that if fixed would fix all the issue at once. It seems to go back to at least 5.10 from what I found on Ubuntu. I want to understand the interaction between Csound and the audio output a bit more as I'd like to know exactly why this is happening. I'm worried if we just put in a sleep that it may mask the problem and that it may come up again elsewhere if we don't address the core issue. (Not to say that we may just need to do a sleep in the end, but at the moment I just don't know what the root cause is.) On Wed, Jan 20, 2010 at 6:44 PM, Victor Lazzarini |
Date | 2010-01-21 00:50 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Okay, I'm seeing that csound_main.c calls csoundDestroy but does not call csoundCleanup. I'm pretty sure it is supposed to: can anyone confirm? Going go test this now. On Wed, Jan 20, 2010 at 7:29 PM, Steven Yi |
Date | 2010-01-21 01:00 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Sorry for the false alarm, I see that csoundReset is called from csoundDestroy. (Sidenote: The csound.h header probably needs updating as there is a comment there that csoundReset should be called directly). Looking into csoundReset now. On Wed, Jan 20, 2010 at 7:50 PM, Steven Yi |
Date | 2010-01-21 01:46 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Hi All, I'm looking at libsnd.c, particularly sfcloseout. It has this code: if ((nb = (O->outbufsamps - ST(outbufrem)) * sizeof(MYFLT)) > 0) { /* flush outbuffer */ csound->nrecs++; csound->audtran(csound, ST(outbuf), nb); } On this machine I had O->outbufsamps = 8192, and using this before the statement block above: csound->Message(csound, ">>>> %d", ST(outbufrem)); I got an outbufrem of 136854. The code looks like this all the way back the first revision of libsnd.c in CVS but at that time outbufrem was a static variable and I assume was used elsewhere (in that version of the file, it is only used in this block of code, not set anywhere). I am wondering if something here changed causing an issue? I also saw that in the oldest code, it was: if ((nb = (O.outbufsamps-outbufrem) * O.outsampsiz) > 0)/* flush outbuffer */ using sample size, but it seemed to have changed to MYFLT at some point. steven On Wed, Jan 20, 2010 at 8:00 PM, Steven Yi |
Date | 2010-01-21 02:48 |
From | jpff@cs.bath.ac.uk |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
The only change I can think of was the change from counting in seconds (floating point) to counting in samples There could be a > or >= prpoblem there. Mainly in musmon.c That does not seem to be enough to explain i tthough ==John ff > Hi All, > > I'm looking at libsnd.c, particularly sfcloseout. It has this code: > > if ((nb = (O->outbufsamps - ST(outbufrem)) * sizeof(MYFLT)) > 0) { > /* flush outbuffer */ > csound->nrecs++; > csound->audtran(csound, ST(outbuf), nb); > } > > On this machine I had O->outbufsamps = 8192, and using this before the > statement block above: > > csound->Message(csound, ">>>> %d", ST(outbufrem)); > > I got an outbufrem of 136854. The code looks like this all the way > back the first revision of libsnd.c in CVS but at that time outbufrem > was a static variable and I assume was used elsewhere (in that version > of the file, it is only used in this block of code, not set anywhere). > I am wondering if something here changed causing an issue? I also > saw that in the oldest code, it was: > > if ((nb = (O.outbufsamps-outbufrem) * > O.outsampsiz) > 0)/* flush outbuffer */ > > using sample size, but it seemed to have changed to MYFLT at some point. > ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2010-01-21 02:49 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Hmm... not sure if this is a red herring for me. I rendered to disk and outbufrem was again 136854. On Wed, Jan 20, 2010 at 8:46 PM, Steven Yi |
Date | 2010-01-21 03:43 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Yeah, I'm thinking now though if that was a problem then it'd affect output to disk. I should have thought earlier to remember that since one of the audio drivers is working here (pa_bl) then it would mean csound's code should be fine. I'm beginning to think that we just need to go through each audio driver and make sure it is flushing properly before closing. I was experimenting with modifications to rtwinmm.c's rtclose and managed to hear more of the output though still slightly chopped off. I also noticed the pulseaudio driver does not do a flush with pa_simple_drain() before close (going to try this out now on Fedora on my netbook). On Wed, Jan 20, 2010 at 9:48 PM, |
Date | 2010-01-21 04:46 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Adding the flush to pulseaudio fixed the issue for that driver (committed to CVS). I am guessing at this point it is a problem that is in different drivers and we'll have to go and check each. Seems like we should just go through all of the drivers and see if the audio API each driver is using has some means of draining or flushing out the buffer before closing, and if we're doing it correctly. On Wed, Jan 20, 2010 at 10:43 PM, Steven Yi |
Date | 2010-01-21 17:40 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Hi All, I've fiddled with the portaudio driver callback closing this morning and haven't managed to find a way to get it properly wait to close. Strangely enough, I've added Pa_Sleep all around the closing code in rtclose_ and it doesn't seem to remove the pop. I've tried all manner of changes. I'm going to give up on this for now and move to see about removing pops in the other drivers. Thanks! steven On Wed, Jan 20, 2010 at 11:46 PM, Steven Yi |
Date | 2010-01-21 17:51 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Really strange that it does not happen on OSX. It is probably the underlying API (mme, alsa) behind portaudio. Does it happen with ASIO or just with MME? Victor On 21 Jan 2010, at 17:40, Steven Yi wrote: > Hi All, > > I've fiddled with the portaudio driver callback closing this morning > and haven't managed to find a way to get it properly wait to close. > Strangely enough, I've added Pa_Sleep all around the closing code in > rtclose_ and it doesn't seem to remove the pop. I've tried all manner > of changes. I'm going to give up on this for now and move to see > about removing pops in the other drivers. > > Thanks! > steven > > On Wed, Jan 20, 2010 at 11:46 PM, Steven Yi |
Date | 2010-01-21 22:09 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
I only have MME here for PA. ASIO4ALL causes some weird issue on this computer. I think you're right though that it must have to do with the underlying API. Interesting to note the blocking API works with MME. I may take a look at what is going on in the portaudio blocking for MME to fix up our MME driver. I'll try to take a look at Jack next as Andres reported that being an issue. On Thu, Jan 21, 2010 at 12:51 PM, Victor Lazzarini |
Date | 2010-01-21 23:29 |
From | Victor Lazzarini |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Again, Jack is OK on OSX as I did the same test as Andres and did not see anything wrong. It seems OSX escaped most of the issues you reported (apart from the coreaudio module, but that is fixed now). Do you think I can move to build the binaries or should I wait? Are the sources going to be retagged? Victor On 21 Jan 2010, at 22:09, Steven Yi wrote: > I only have MME here for PA. ASIO4ALL causes some weird issue on this > computer. I think you're right though that it must have to do with > the underlying API. Interesting to note the blocking API works with > MME. I may take a look at what is going on in the portaudio blocking > for MME to fix up our MME driver. I'll try to take a look at Jack > next as Andres reported that being an issue. > > On Thu, Jan 21, 2010 at 12:51 PM, Victor Lazzarini > |
Date | 2010-01-22 00:21 |
From | Steven Yi |
Subject | Re: [Cs-dev] Problem with Realtime Render Cutting Short |
Hmmm... I just tried my test file with jack on Fedora 12 and did not get the pops. If you all want to go ahead with release, that's fine with me. It may take me some time to go through the other drivers. I don't know about retagging, that would be up to John I think. I would say if you have a fix for coreaudio and I put in the call to drain for pulseaudio, then might as well get those fixes in at least. On Thu, Jan 21, 2010 at 6:29 PM, Victor Lazzarini |