@bottlenose/rxtranscribe
Version:
👂 Realtime speech-to-text (S2T) transcription with RxJS
41 lines (34 loc) • 1.46 kB
JavaScript
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(["exports", "lodash", "rxjs", "rxjs/operators"], factory);
} else if (typeof exports !== "undefined") {
factory(exports, require("lodash"), require("rxjs"), require("rxjs/operators"));
} else {
var mod = {
exports: {}
};
factory(mod.exports, global.lodash, global.rxjs, global.operators);
global.shortenChunks = mod.exports;
}
})(typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : this, function (_exports, _lodash, _rxjs, _operators) {
"use strict";
Object.defineProperty(_exports, "__esModule", {
value: true
});
_exports.default = void 0;
_lodash = _interopRequireDefault(_lodash);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const sliceBuffer = (buffer, cutoffLength) => index => {
return buffer.slice(index * cutoffLength, (index + 1) * cutoffLength);
};
const shortenChunks = (cutoffLength = 512) => {
return fileChunk$ => fileChunk$.pipe((0, _operators.mergeMap)(fileChunk => {
const numChunks = Math.ceil(fileChunk.length / cutoffLength);
const chunks = _lodash.default.times(numChunks).map(sliceBuffer(fileChunk, cutoffLength));
return (0, _rxjs.of)(...chunks);
}));
};
var _default = shortenChunks;
_exports.default = _default;
});
//# sourceMappingURL=shortenChunks.js.map