Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Android marshmallow #1

Open
farizaghayev opened this issue Aug 3, 2016 · 4 comments
Open

Android marshmallow #1

farizaghayev opened this issue Aug 3, 2016 · 4 comments

Comments

@farizaghayev
Copy link
Member

Android MaryTTS generated audio is lagging with the version marshmallow.

@farizaghayev
Copy link
Member Author

MaryTTS team used ArrayBlockingQueue(1024) to put and take generated data in class ProducingDoubleDataSource . After a long time monitor can say that putOneDataPoint wait a lot to put new data.

Maybe put function of this blockingQueue wait a lot therefore this queue is full of or maybe take function is running. these two function is executing by different thread. In final we think that there is something wrong in this producer consumer architect. maybe to create a main BlockingQueue reference this for consumer and producers. actually producer and consumer is same class ProducingDoubleDataSource. need to separate this class maybe as consumer and producer.Should fixed a lot of code with starting to delete extend BufferedDoubleDataSource in ProducingDoubleDataSource class. this is our first version to fixe this bug.

Our second option is that generating data for runtime processing not keeping in ram and that is why taking long time htsMLSAVocoder function in class HTSVocoder. Should test these two options

@jo-elimu
Copy link

@farizaghayev Any advice on where we should start when looking into fixing this bug?

@jo-elimu
Copy link

@farizaghayev Where is this ArrayBlockingQueue(1024) code you are referring to? Can you point me to the class file where this is being used?

@farizaghayev
Copy link
Member Author

There is two threads which are working same time:

First thread ProducingDoubleDataSource generates audio data real time and keep these data in LinkedBlockingQueue queue .

Second Thread read data from same queue and put this data to AudioTrack.

Problem is that HTSVocoder which extends ProducingDoubleDataSource class's htsMLSAVocoder method takes long time to generate data with Android API 23 and reader thread wait for a few milliseconds more. Therefore there is lagging with with Android API 23.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants