JorenSix / TarsosDSP

A Real-Time Audio Processing Framework in Java
http://0110.be/tag/TarsosDSP
GNU General Public License v3.0
1.97k stars 472 forks source link

Compress #191

Open vivekpchrome opened 4 years ago

vivekpchrome commented 4 years ago

Hi, Anyone can tell me how to compress the audio file size since the recording gives me a bigger file

qzic commented 4 years ago

Monkeys Audio compresses audio files on PC. Flac audio format is another solution, not sure if it's open source.

vivekpchrome commented 4 years ago

Thank you for your response but the file is recording on Android phone and I have to upload it to the server since the size of the file is too much so I need that the file size will reduce , as per I have checked the writerProcessor is processing direct data that's why it is high in size .

On Thu, 27 Aug, 2020, 7:08 pm Quentin Meek, notifications@github.com wrote:

Monkeys Audio compresses audio files on PC. Flac audio format is another solution, not sure if it's open source.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/JorenSix/TarsosDSP/issues/191#issuecomment-681954454, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJW7PTUJX3LZ3WKEEWZQKY3SCZOVJANCNFSM4QMSFN4A .

qzic commented 4 years ago

Maybe you could extract the compression code and port to Java/Android from here https://github.com/xiph/flac

vivekpchrome commented 4 years ago

I have changed my logic, I am not using Tarso for the recording in Android I have used my class to record the audio and I need pitch also while recording, I have data in a byte from the audio recorder Can you tell me how I will convert into the float buffer so I can use Tarso pitch Detection Handler

public void audioData(byte[] audioRecordData){

    TarsosDSPAudioFormat format = getTargetAudioFormat(44100);
    TarsosDSPAudioFloatConverter converter = TarsosDSPAudioFloatConverter.getConverter(format);
 //converter.toFloatArray(audioRecordData, 0, audioFloatBuffer, 0, bufferSize-1); //this line parameters  in tarso it is inside AudioDispatcher

// I will get the pitch like this -: PitchDetector pitchDetector = new FastYin(44100, 8000); pitchDetector.getPitch(final float[] audioBuffer); //I will pass the float buffer here

//Am I right?

}