Skip to content
/ silk Public

silk codec for android,support x86,x64,armv7,arm64.

License

Notifications You must be signed in to change notification settings

iHe1u0/silk

Repository files navigation

GitHub Maven Central GitHub issues

silk

A library for encoding and decoding silk file,support Java and Kotlin.

Feature

  • Encode pcm with silk
  • Decode silk to pcm

Getting Started

Installation Via Maven

Add the following lines to build.gradle on your app module:

dependencies {
    implementation 'cc.imorning:silk:1.0.1'
    // replace "1.0.1" with any available version
}

Quick Tutorial

  • Encode pcm file into silk file
MainScope().launch(Dispatchers.IO) {
    val outputPath = SilkEncoder.doEncode(
        pcmFilePath = pcmFile.absolutePath,
        silkFilePath = slkFile.absolutePath,
        sampleRate = AudioConfig.AudioSampleRate.SAMPLE_RATE_16K
    ).orEmpty()
    // ...
}
  • Decode silk file into pcm file
MainScope().launch(Dispatchers.IO) {
    val outputPath = SilkDecoder.doDecode(
        silkFilePath = slkFile.absolutePath,
        pcmFilePath = pcmFile.absolutePath,
        sampleRate = AudioConfig.AudioSampleRate.SAMPLE_RATE_16K
    ).orEmpty()
    // ...
}

FAQ & Feedback

Post an issues if you encounter any problem in using.

Docs:silk docs

License

Copyright 2023 iMorning

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.