Phil Burk | 20 Aug 18:14 2015

PortAudio on GitHub


Riot wrote:
I believe the project would grow, and become vastly more accessible, if its primary repository was on Github.  It would make the process of submitting patches far less painful using pull requests, and it would no doubt make the process of review and acceptance / discussion far more streamlined

I have been using GitHub a lot lately and I have to agree. I also use git at work. It took me a few months to get my head around Git. But now I really like it for branching. Also GitHub has great facilities for reviewing code and merging.

I recently moved pForth for GitHub and since then I have had several great contributions from others that were trivial to review and merge. Before that I had to apply and review patch files by hand in SVN.

PForth used to be on Google Code. But Google shut Code down and created an automated migration path to GitHub

Assembla does have a code review system but our PortAudio SVN repo is organized in a way that prevents us from using that. The branches, tags and trunk folder are not at the top.

I have some patches for PortAudio Mac OSX latency that I have been sitting on for over a year. Writing the code was easy but the thought of going through our manual review process has prevented me from moving forward.

Out of curiosity, I did a search for PortAudio on GitHub:


There were 213 hits. I see several mirrors of PortAudio and there are wrappers for Go, Rust, Haskell, Ruby, etc.

Has anyone else had experience, good or bad with GitHub?

Are most PA developers comfortable with the git shell commands?

As an experiment I imported from the PortAudio repo on Assemble into a "portaudio-expt" repo on Git Hub. It took about a minute and was trivial. I called it "portaudio-expt" in case it was messed up. I can delete it and create one called "portaudio". It has all the old commits:


 It may be harder to migrate the Tickets and Wiki.

Phil Burk

_______________________________________________
Portaudio mailing list
Portaudio <at> lists.columbia.edu
https://lists.columbia.edu/mailman/listinfo/portaudio
William Spinelli | 19 Aug 23:20 2015
Picon

Contribution to STARTER tickets?

Hi,

I’ve been using PortAudio for some simple personal programs.  It’s a very cool project and I would like to learn more about it and also to help out if I can...

I have seen that there are some STARTER tickets listed for new contributors, but they are quite old.
Are they still valid?  If yes, I can start with a couple of easy tasks like ticket #201 and #69.

If this could be helpful, please let me know how to proceed.

Thanks
william
_______________________________________________
Portaudio mailing list
Portaudio <at> lists.columbia.edu
https://lists.columbia.edu/mailman/listinfo/portaudio
srinivasan | 8 Aug 10:58 2015
Picon

Port audio - getting crackled, stuttered, poping

Dear All,

I am using port audio (pjproject 2.3) over ALSA on linux kernel 3.14 for establising 3G GSM call

I have the following problem when using PortAudio and ALSA (alsa lib verison 1.0.27.2) on linux 3.14 


1) When the application runs, I get alot of XRUN's:

PaAlsaStream_HandleXrun: restarting Alsa to recover from XRUN
AlsaStop: Dropped frames
AlsaRestart: Restarted audio
Warning: Audio input overflow occurred
PaAlsaStream_HandleXrun: restarting Alsa to recover from XRUN
AlsaStop: Dropped frames
AlsaRestart: Restarted audio
Warning: Audio input overflow occurred
PaAlsaStream_HandleXrun: restarting Alsa to recover from XRUN
AlsaStop: Dropped frames
AlsaRestart: Restarted audio
Warning: Audio input overflow occurred
PaAlsaStream_HandleXrun: restarting Alsa to recover from XRUN
AlsaStop: Dropped frames
AlsaRestart: Restarted audio
Warning: Audio input overflow occurred


And when I use PortAudio to record from the onboard sound card, I hear audio getting crackled, stuttered, poping ie., during 
recording (missing audio). 

Any suggestions

Kind regards

Srinivasan S
_______________________________________________
Portaudio mailing list
Portaudio <at> lists.columbia.edu
https://lists.columbia.edu/mailman/listinfo/portaudio
Connor Gettel | 3 Aug 10:20 2015

Best Real-Time Graph Plotting Library/Application

Hi everyone,

Could anybody recommend a good C library for real time plotting of FFT data? Using FFTW3, C & Linux.

Cheers,

Connor.
Connor Gettel | 3 Aug 10:14 2015

Re: Querying Two Separate Soundcards Simultaneously

Hi Daniel,

Thanks very much for explaining this to me! I’ll definitely be trying this out once my second sound card arrives.

Cheers,

Connor. 

> On 29 Jul 2015, at 17:03, portaudio-request <at> lists.columbia.edu wrote:
> 
> Send Portaudio mailing list submissions to
> 	portaudio <at> lists.columbia.edu
> 
> To subscribe or unsubscribe via the World Wide Web, visit
> 	https://lists.columbia.edu/mailman/listinfo/portaudio
> or, via email, send a message with subject or body 'help' to
> 	portaudio-request <at> lists.columbia.edu
> 
> You can reach the person managing the list at
> 	portaudio-owner <at> lists.columbia.edu
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Portaudio digest..."
> 
> 
> Today's Topics:
> 
>   1. Querying Two Separate Soundcards Simultaneously (Connor Gettel)
>   2. Re: Querying Two Separate Soundcards Simultaneously
>      (Daniel Sch?rmann)
>   3. Re: Querying Two Separate Soundcards Simultaneously
>      (Daniel Sch?rmann)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Wed, 29 Jul 2015 11:07:04 +0100
> From: Connor Gettel <connorgettel <at> me.com>
> To: portaudio <at> music.columbia.edu
> Subject: [Portaudio] Querying Two Separate Soundcards Simultaneously
> Message-ID: <9805493A-36D7-47ED-A2D5-376BC4797690 <at> me.com>
> Content-Type: text/plain; charset=utf-8
> 
> Hey Everyone,
> 
> I was wondering (purely out of curiosity) if it was possible to query two different soundcards at the same
time within the same program? Say for example I had two identical USB soundcards, each with a stereo input
and i wanted them to perform two separate but similar tasks inside the same program, would portaudio be
able to handle this or would it be massively confusing? I suppose a certain threading model might be
needed. I?d try it out myself but I haven?t got a second soundcard. Anybody tried this out before?
> 
> Cheers,
> 
> Connor.
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Wed, 29 Jul 2015 12:33:56 +0200
> From: Daniel Sch?rmann <daschuer <at> mixxx.org>
> To: portaudio <at> lists.columbia.edu
> Cc: Portaudio Mailing List <portaudio <at> music.columbia.edu>
> Subject: Re: [Portaudio] Querying Two Separate Soundcards
> 	Simultaneously
> Message-ID:
> 	<CABVYHNjZzAT0doa00mO5_D_Y350fFL3J+sC1MLPxWv5WGHeT1w <at> mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi Connor
> 
> Mixxx 1.2 beta supports two sound cards using PortAudio.
> 
> The difficult part is that each sound card runs on its own crystal
> frequency. If it is required to feed the same stream to both sound cards,
> you need to sync them.
> The Mixxx engine runs in the master sound card callback and the slave sound
> card is feed from it. If syncing is required, we just drop or duplicate a
> frame.
> 
> Kind regards,
> 
> Daniel
> 
> 
> 2015-07-29 12:07 GMT+02:00 Connor Gettel <connorgettel <at> me.com>:
> 
>> Hey Everyone,
>> 
>> I was wondering (purely out of curiosity) if it was possible to query two
>> different soundcards at the same time within the same program? Say for
>> example I had two identical USB soundcards, each with a stereo input and i
>> wanted them to perform two separate but similar tasks inside the same
>> program, would portaudio be able to handle this or would it be massively
>> confusing? I suppose a certain threading model might be needed. I?d try it
>> out myself but I haven?t got a second soundcard. Anybody tried this out
>> before?
>> 
>> Cheers,
>> 
>> Connor.
>> _______________________________________________
>> Portaudio mailing list
>> Portaudio <at> lists.columbia.edu
>> https://lists.columbia.edu/mailman/listinfo/portaudio
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <https://lists.columbia.edu/pipermail/portaudio/attachments/20150729/e5d25552/attachment-0002.html>
> 
> ------------------------------
> 
> Message: 3
> Date: Wed, 29 Jul 2015 12:33:56 +0200
> From: Daniel Sch?rmann <daschuer <at> mixxx.org>
> To: portaudio <at> lists.columbia.edu
> Cc: Portaudio Mailing List <portaudio <at> music.columbia.edu>
> Subject: Re: [Portaudio] Querying Two Separate Soundcards
> 	Simultaneously
> Message-ID:
> 	<CABVYHNjZzAT0doa00mO5_D_Y350fFL3J+sC1MLPxWv5WGHeT1w <at> mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi Connor
> 
> Mixxx 1.2 beta supports two sound cards using PortAudio.
> 
> The difficult part is that each sound card runs on its own crystal
> frequency. If it is required to feed the same stream to both sound cards,
> you need to sync them.
> The Mixxx engine runs in the master sound card callback and the slave sound
> card is feed from it. If syncing is required, we just drop or duplicate a
> frame.
> 
> Kind regards,
> 
> Daniel
> 
> 
> 2015-07-29 12:07 GMT+02:00 Connor Gettel <connorgettel <at> me.com>:
> 
>> Hey Everyone,
>> 
>> I was wondering (purely out of curiosity) if it was possible to query two
>> different soundcards at the same time within the same program? Say for
>> example I had two identical USB soundcards, each with a stereo input and i
>> wanted them to perform two separate but similar tasks inside the same
>> program, would portaudio be able to handle this or would it be massively
>> confusing? I suppose a certain threading model might be needed. I?d try it
>> out myself but I haven?t got a second soundcard. Anybody tried this out
>> before?
>> 
>> Cheers,
>> 
>> Connor.
>> _______________________________________________
>> Portaudio mailing list
>> Portaudio <at> lists.columbia.edu
>> https://lists.columbia.edu/mailman/listinfo/portaudio
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <https://lists.columbia.edu/pipermail/portaudio/attachments/20150729/e5d25552/attachment-0003.html>
> 
> ------------------------------
> 
> Subject: Digest Footer
> 
> _______________________________________________
> Portaudio mailing list
> Portaudio <at> lists.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/portaudio
> 
> ------------------------------
> 
> End of Portaudio Digest, Vol 1, Issue 2
> ***************************************

_______________________________________________
Portaudio mailing list
Portaudio <at> lists.columbia.edu
https://lists.columbia.edu/mailman/listinfo/portaudio
Connor Gettel | 29 Jul 12:07 2015

Querying Two Separate Soundcards Simultaneously

Hey Everyone,

I was wondering (purely out of curiosity) if it was possible to query two different soundcards at the same
time within the same program? Say for example I had two identical USB soundcards, each with a stereo input
and i wanted them to perform two separate but similar tasks inside the same program, would portaudio be
able to handle this or would it be massively confusing? I suppose a certain threading model might be
needed. I’d try it out myself but I haven’t got a second soundcard. Anybody tried this out before?

Cheers,

Connor.
_______________________________________________
Portaudio mailing list
Portaudio <at> lists.columbia.edu
https://lists.columbia.edu/mailman/listinfo/portaudio
Ross Bencina | 28 Jul 14:15 2015

test

testing.
Douglas Repetto | 15 Jul 18:24 2015

[admin] list blurp

Hi everyone,

Columbia is switching some servers around, so there may be a slight
blip in the list sometime this week. Hopefully no big deal. The list
address should stay the same, and the archives will be preserved.
Everyone will be resubscribed to either normal or digest mode,
although if you've tweaked any of your other settings they will be
lost. And if you're set to "no mail" for some reason, you won't be
transferred. You also won't receive this email, so it'll be a big
mystery!

best,
douglas
Дмитрий | 15 Jul 05:38 2015
Picon

Data loss when playing with portaudio

I think I found a bug. Portaudio at least after rev1535 doesn't play a whole file. It losses a small piece of data in start and end of the file. I use pyaudio for playing files. I'm sure that reason of it is not in pyaudio. I tried to compile different revisions of portaudio and after revision 1535 output data is corrupting. Some info:
  1. Implementation: WMME, WASAPI
  2. OS: Win7 32 and 64 bit
  3. Audio devices: ESI Juli <at> , Realtek High Definition Audio, VIA VT1708S
  4. No error messages to report
  5. How to reproduce. Play audio file with portaudio with revision greater than 1535 and record output on another computer. Then compare it from source file in audio editing tool such as Audacity and you can see data loss in start and end of file. I attached example of this file which is just a set 0 and 1 generated by software and recorded output played by different version of portaudio. Link to zip https://drive.google.com/file/d/0B8btPbTQ1ySFOG1yckhaZU1zUEE/view?usp=sharing.
  6. No strange sounds.
_________________________
Best regards, Dmitry Misharov
_______________________________________________
Portaudio mailing list
Portaudio <at> music.columbia.edu
http://music.columbia.edu/mailman/listinfo/portaudio
Enrique Gomez | 14 Jul 13:37 2015
Picon

Portaudio + wdmks in WindowsXP & Windows7 ?? linking failing


Hi,

I will first describe my scenario and then i will make the questions:

I need a working API in windows XP and windows 7, if i have to choose only one, it will be windows 7. My IO latencys have to be below 20ms,  so that rules out wmme as i am getting decent input latencys but too high output latencys (70 ms).

I started working with PortAudio + MinGW + MSYS + WindowsXP.
   - I was able to get an wmme functional api.
   - Unable to get an WDMKS functional api, (make fails)

I try then WindowsXP + mingw-w64 + MSYS from slowriot (https://github.com/slowriot/portaudio-mingw-w64):
   - Unable to get a PortAudio-WDMKS functional api, (Configure OK but make)

FIRST ERROR:
The was a double inclusion error (not protected) so i have to comment the:
#include <winioctl.h>
in the file:
src/hostapi/wdmks/pa_win_wdmks.c

SECOND ERROR:
There was a syntax error in the Makefile: have to change the reference to pa_win_wdmks_util.o for pa_win_wdmks_utils.o:
##OTHER_OBJS =  src/hostapi/wdmks/pa_win_wdmks.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_wdmks_util.o src/os/win/pa_win_waveformat.o src/hostapi/wmme/pa_win_wmme.o
OTHER_OBJS = src/hostapi/wdmks/pa_win_wdmks.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_wdmks_utils.o src/os/win/pa_win_waveformat.o src/hostapi/wmme/pa_win_wmme.o

THIRD ERROR:
Now is complaining about the libraries inlcuded (relevant part of the errors below):
"linker path does not have real file for library -lwinmm"
"linker path does not have real file for library -luuid"
"linker path does not have real file for library -lsetupapi"
"linker path does not have real file for library -lole32"

And right know i am lost, I modify the makefile again to point the linker the libraries location (as they are in the system as lib<name>.a) but still get the same errors:
DLL_LIBS = -Lc:/Archivos\de\programa/mingw-w64/i686-4.9.2-posix-dwarf-rt_v4-rev2/mingw32/i686-w64-mingw32/lib -L/usr/local/dx7sdk/lib -lwinmm -lm -luuid -lsetupapi -lole32


Could anyone point me in the right direction??

Thanks in advance for your time.

Enrique Gomez.
_______________________________________________
Portaudio mailing list
Portaudio <at> music.columbia.edu
http://music.columbia.edu/mailman/listinfo/portaudio
Naveen Kumar Dharmapuram | 14 Jul 08:26 2015

Re: Portaudio Digest, Vol 76, Issue 8

Hi Ross,

Thanks for the information ...............
but i have some more please have a glance at them ......
> Configuring different playback channels mean i am using a single device
> but playing streams with different playback channels.
>
> I am closing and opening the player to select different channels not
> different devices.

In that case you could consider leaving the device open with all
channels and then selecting the channels you want in your own code.

can you help with an example for  opening of a  device with all the channels as said by you ?
 
presently i am opening the stream as shown below

libExitCode = Pa_OpenStream( &m_pStreamPlayback,
                                     &inputParameters,
                                     &outputParameters,
                                     m_sampleRate,
                                     m_bufferSize,
                                     paClipOff,
                                     ProcessPlayback,
                                     (void*) this
                                   );

in the inputParameters  and outputParameters  are setting the channels
.
outputParameters.channel = playback_channel.(specifing the channels.)
inputParameters.channel = recording_channel.(specifing the channels.)



> Is there any fault in the implementation ? Is so how to play a stream
> using WDM/KS host API. (LIST OF API's in MY SYSTEM ARE MME, WASAPI, WDM/KS)

I don't really understand your question, but also, I can't help you with
WDM/KS. I recommend that you post a new question about WDM/KS and see if
someone else can help you.


> I need a small clarification it may be simple but i think it will be
> useful for me.
>
> How the implementation of general applications will be that supports
> recording and playback.If he wants to play different channel streams
> will he kill the instance and create a new instance with new playback
> channels or is there any API to change the playback channels with out
> killing the instance.

I think it would depend. But it is quite usual to open all channels and
do your own routing. There is no API for this. You just need to copy the
audio data to the output buffer yourself using the channels you need and
making sure to zero the others. Similarly for input, just copy the
channels you need into your own buffer.

Ross.

****************************************



--
Thanks and Regards,
Naveen Kumar .D

_______________________________________________
Portaudio mailing list
Portaudio <at> music.columbia.edu
http://music.columbia.edu/mailman/listinfo/portaudio

Gmane