/** * * @param {Int16Array} data * @returns */ export function alawFromPCM(data: Int16Array | Int8Array): Uint8Array; /** * Convert an A-law value to linear PCM * @param {Int16Array} data * @returns */ export function alawToPCM(data: Uint8Array, bit?: number): Int8Array; export const ulaw_to_linear: any[]; /** * * @param {Int8Array} data * @returns */ export function ulawToPCM(data: Uint8Array, bit?: number): Int8Array; /** * * @param { Int16Array or Int8Array } data */ export function ulawFromPCM(data: Int16Array | Int8Array): Uint8Array; export type NumChannels = 1 | 2; export type SampleBits = 8 | 16; export type SampleRate = 8000 | 11025 | 16000 | 22050 | 24000 | 44100 | 48000; /** * 编码wav,一般wav格式是在pcm文件前增加44个字节的文件头, * 所以,此处只需要在pcm数据前增加下就行了。 * * @param {DataView} bytes pcm二进制数据 * @param {number} sampleRate 输入采样率 * @param {number} numChannels 声道数 * @param {number} sampleBits 输出采样位数 * @param {boolean} littleEndian 是否是小端字节序 * @returns {ArrayBuffer} wav二进制数据 */ export function encodeWAV(bytes: DataView, sampleRate?: SampleRate, numChannels?: NumChannels, sampleBits?: SampleBits, littleEndian?: boolean): ArrayBuffer;