There are many ways to do real time pitch shift, which one is right for you will depend on things like
- what flaws and artifacts you consider acceptable
- your use constraints: pitch shift range, granularity et c
- processor and memory constraints
- the engineering skills and capacity that you have at your disposal

There's a nice review of some fairly advanced techniques, including WSOLA, here:
http://www.mdpi.com/2076-3417/6/2/57/pdf

It's a complex problem, so be prepared for complex solutions!


Martin


On 27/07/18 15:50, Alex Dashevski wrote:
Hi,

a) I tried to understand the tarsosdsp code and read the theory about WSOLA. The formulas difficult to understand.
b) My goal is change frequency the input of audio of android.
c) What is your right solution ?

Thanks,
Alex

2018-07-27 17:37 GMT+03:00 Martin Klang <m...@pingdynasty.com <mailto:m...@pingdynasty.com>>:


    It helps if you let us know a) what you've tried and researched
    already, b) what you plan to use it for, and c) why you think
    WSOLA is the right solution.

    WSOLA doesn't have a 'simple explanation and implementation', but
    if what you want is just some code that does the job and lets you
    worry about other things then how about:
    
https://stackoverflow.com/questions/37386410/realtime-pitch-shifting-using-tarsosdsp-on-android
    
<https://stackoverflow.com/questions/37386410/realtime-pitch-shifting-using-tarsosdsp-on-android>

    And since you've already asked this question on the TarsosDSP
    forum I'm surprised you've not seen that.

    Oh look, here's a time stretch example:
    
https://github.com/JorenSix/TarsosDSP/blob/master/src/examples/be/tarsos/dsp/example/TimeStretch.java
    
<https://github.com/JorenSix/TarsosDSP/blob/master/src/examples/be/tarsos/dsp/example/TimeStretch.java>

    best,

    Martin let-me-google-that-for-you Klang



    On 27/07/18 11:47, Alex Dashevski wrote:
    Hi,
    All materials and code that I found on google and GitHub have not
    real time implementation(that means, signal is known in advance)
    I understand that in this case, I need to do resampling before
    and after.

    Thanks,
    Alex

    2018-07-26 3:22 GMT+03:00 <rolfsassin...@web.de
    <mailto:rolfsassin...@web.de>>:

        Not everbody reads mails every day so it might be an idea to
        wait for replies before pushing.
        I am not an expert on this subject but my company is so I
        would put it this way:
        1) To my mind, there is no simpler explanation than given in
        the Wiki. At least this is an entrypoint to start reading.
        More comprehensive material can be found in several DSP
        literature but they might not be easy since the subject is
        not easy.
        2) There is not only on "WSOLA" implementation. It is all
        about details and requirements. What in detail do you want to do?
        3) Even, if people have code ready fpr your app, they cannot
        give it way that easily because it might be covered by their
        company. Me i am not allow to post code at all.
        I suggest you search the github projects for code coming
        close to your needs?
        Rolf
        *Gesendet:* Mittwoch, 25. Juli 2018 um 20:41 Uhr
        *Von:* "Alex Dashevski" <alexd...@gmail.com
        <mailto:alexd...@gmail.com>>
        *An:* music-dsp@music.columbia.edu
        <mailto:music-dsp@music.columbia.edu>
        *Betreff:* Re: [music-dsp] WSOLA on Real Time
        Hi,
        Could you help ?
        2018-07-24 9:18 GMT+03:00 Alex Dashevski <alexd...@gmail.com
        <mailto:alexd...@gmail.com>>:

            Hi.
            I'm looking for a simple explanation and implementation
            of WSOLA. I tried to google it but I can't understand all
            meaning of inputs and outputs that WSOLA has.
            My goal is to implement it in Real time on Android.
            Possibly, to use pitch shifting in Real Time.
            Thanks,
            Alex

        _______________________________________________ dupswapdrop:
        music-dsp mailing list music-dsp@music.columbia.edu
        <mailto:music-dsp@music.columbia.edu>
        https://lists.columbia.edu/mailman/listinfo/music-dsp
        <https://lists.columbia.edu/mailman/listinfo/music-dsp>

        _______________________________________________
        dupswapdrop: music-dsp mailing list
        music-dsp@music.columbia.edu
        <mailto:music-dsp@music.columbia.edu>
        https://lists.columbia.edu/mailman/listinfo/music-dsp
        <https://lists.columbia.edu/mailman/listinfo/music-dsp>




    _______________________________________________
    dupswapdrop: music-dsp mailing list
    music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu>
    https://lists.columbia.edu/mailman/listinfo/music-dsp
    <https://lists.columbia.edu/mailman/listinfo/music-dsp>


    _______________________________________________
    dupswapdrop: music-dsp mailing list
    music-dsp@music.columbia.edu <mailto:music-dsp@music.columbia.edu>
    https://lists.columbia.edu/mailman/listinfo/music-dsp
    <https://lists.columbia.edu/mailman/listinfo/music-dsp>



_______________________________________________
dupswapdrop: music-dsp mailing list
music-dsp@music.columbia.edu
https://lists.columbia.edu/mailman/listinfo/music-dsp

Reply via email to