File size: 82,874 Bytes
54a30e5
1
{"version":3,"file":"js/app.35b31ce6.js","mappings":"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","sources":["webpack://espnet_onnx_demo/./src/App.vue","webpack://espnet_onnx_demo/./src/components/DemoHeader.vue","webpack://espnet_onnx_demo/src/components/DemoHeader.vue","webpack://espnet_onnx_demo/./src/components/DemoHeader.vue?6c1c","webpack://espnet_onnx_demo/./src/components/DemoHeader.vue?bb6d","webpack://espnet_onnx_demo/./src/components/DemoFooter.vue","webpack://espnet_onnx_demo/src/components/DemoFooter.vue","webpack://espnet_onnx_demo/./src/components/DemoFooter.vue?fd59","webpack://espnet_onnx_demo/./src/components/DemoFooter.vue?db02","webpack://espnet_onnx_demo/./src/components/EspnetOnnxDemo.vue","webpack://espnet_onnx_demo/./src/components/MenuBar.vue","webpack://espnet_onnx_demo/src/components/MenuBar.vue","webpack://espnet_onnx_demo/./src/components/MenuBar.vue?aaa0","webpack://espnet_onnx_demo/./src/components/MenuBar.vue?fa57","webpack://espnet_onnx_demo/./src/components/ASRDemoSheet.vue","webpack://espnet_onnx_demo/./src/utils/ASR_models.js","webpack://espnet_onnx_demo/src/components/ASRDemoSheet.vue","webpack://espnet_onnx_demo/./src/components/ASRDemoSheet.vue?d13f","webpack://espnet_onnx_demo/./src/components/ASRDemoSheet.vue?a49e","webpack://espnet_onnx_demo/./src/components/TTSDemoSheet.vue","webpack://espnet_onnx_demo/./src/components/AudioPalyer.vue","webpack://espnet_onnx_demo/src/components/AudioPalyer.vue","webpack://espnet_onnx_demo/./src/components/AudioPalyer.vue?69d5","webpack://espnet_onnx_demo/./src/components/AudioPalyer.vue?7e6e","webpack://espnet_onnx_demo/src/components/TTSDemoSheet.vue","webpack://espnet_onnx_demo/./src/components/TTSDemoSheet.vue?87d7","webpack://espnet_onnx_demo/./src/components/TTSDemoSheet.vue?7384","webpack://espnet_onnx_demo/src/components/EspnetOnnxDemo.vue","webpack://espnet_onnx_demo/./src/components/EspnetOnnxDemo.vue?d93f","webpack://espnet_onnx_demo/./src/components/EspnetOnnxDemo.vue?6c9d","webpack://espnet_onnx_demo/src/App.vue","webpack://espnet_onnx_demo/./src/App.vue?7e46","webpack://espnet_onnx_demo/./src/App.vue?0e40","webpack://espnet_onnx_demo/./src/plugins/vuetify.js","webpack://espnet_onnx_demo/./src/main.js","webpack://espnet_onnx_demo/webpack/bootstrap","webpack://espnet_onnx_demo/webpack/runtime/chunk loaded","webpack://espnet_onnx_demo/webpack/runtime/compat get default export","webpack://espnet_onnx_demo/webpack/runtime/define property getters","webpack://espnet_onnx_demo/webpack/runtime/global","webpack://espnet_onnx_demo/webpack/runtime/hasOwnProperty shorthand","webpack://espnet_onnx_demo/webpack/runtime/make namespace object","webpack://espnet_onnx_demo/webpack/runtime/jsonp chunk loading","webpack://espnet_onnx_demo/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-app',[_c('v-main',[_c('DemoHeader'),_c('EspnetOnnxDemo'),_c('DemoFooter')],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-card',{staticClass:\"mt-4\",attrs:{\"flat\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('a',{attrs:{\"href\":\"https://github.com/espnet/espnet\"}},[_c('img',{attrs:{\"src\":\"https://masao-someki.github.io/espnet_onnx_demo/image/espnet-logo.png\",\"width\":\"100%\"}})])]),_c('v-spacer'),_c('v-col',{staticStyle:{\"text-align\":\"right\"},attrs:{\"cols\":\"1\"}},[_c('a',{attrs:{\"href\":\"https://github.com/espnet/espnet_onnx\"}},[_c('img',{attrs:{\"src\":\"https://masao-someki.github.io/espnet_onnx_demo/image/github-mark.png\",\"width\":\"100%\"}})])])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <v-container>\n    <v-card flat class=\"mt-4\">\n      <v-row>\n        <v-col cols=\"3\">\n          <a href=\"https://github.com/espnet/espnet\">\n            <img src=\"https://masao-someki.github.io/espnet_onnx_demo/image/espnet-logo.png\" width=\"100%\" />\n          </a>\n        </v-col>\n        <v-spacer></v-spacer>\n        <v-col cols=\"1\" style=\"text-align: right\">\n          <a href=\"https://github.com/espnet/espnet_onnx\">\n            <img src=\"https://masao-someki.github.io/espnet_onnx_demo/image/github-mark.png\" width=\"100%\" />\n          </a>\n        </v-col>\n      </v-row>\n    </v-card>\n  </v-container>\n</template>\n\n<script>\nexport default {\n  name: \"DemoHeader\",\n  data: () => ({\n    hoverFlag: false,\n  }),\n  methods: {\n    hover() {\n      this.hoverFlag = true;\n    },\n    out() {\n      this.hoverFlag = false;\n    },\n  },\n};\n</script>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DemoHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DemoHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DemoHeader.vue?vue&type=template&id=1bf56fb9&\"\nimport script from \"./DemoHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./DemoHeader.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-footer',{attrs:{\"padless\":\"\",\"absolute\":\"\"}},[_c('v-row',{attrs:{\"justify\":\"center\",\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"py-4 text-center\",attrs:{\"color\":\"#BFBFBF\",\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(new Date().getFullYear())+\" — \"),_c('strong',[_vm._v(\"ESPnet-ONNX\")])])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <v-container>\n    <v-footer padless absolute>\n      <v-row justify=\"center\" no-gutters>\n        <v-col class=\"py-4 text-center\" color=\"#BFBFBF\" cols=\"12\">\n          {{ new Date().getFullYear() }} — <strong>ESPnet-ONNX</strong>\n        </v-col>\n      </v-row>\n    </v-footer>\n  </v-container>\n</template>\n<script>\n\nexport default {\n  name: 'DemoFooter',\n}\n</script>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DemoFooter.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DemoFooter.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./DemoFooter.vue?vue&type=template&id=60669fe3&\"\nimport script from \"./DemoFooter.vue?vue&type=script&lang=js&\"\nexport * from \"./DemoFooter.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card-title',[_c('span',{staticClass:\"text-h3\"},[_vm._v(\"ESPnet-ONNX demo\")])]),_c('v-card-text',{staticClass:\"body-1\"},[_vm._v(\" This is a demonstration space of ESPnet-ONNX project. Please select ASR or TTS to play! \")])],1),_c('MenuBar',{staticClass:\"mt-6 mx-auto\",attrs:{\"options\":_vm.options},on:{\"select\":_vm.menuChanged},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),_c('v-sheet',{staticClass:\"mb-10\"},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menuSelected == 'ASR'),expression:\"menuSelected == 'ASR'\"}]},[_c('ASRDemoSheet',{staticClass:\"mt-3\"})],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menuSelected == 'TTS'),expression:\"menuSelected == 'TTS'\"}]},[_c('TTSDemoSheet',{staticClass:\"mt-3\"})],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"btn-containrt_foreground\",style:(_vm.cssVariables)},[_c('div',{staticClass:\"btn-containrt\"},_vm._l((_vm.localOptions),function(button,index){return _c('div',{key:`menu-label-${index}`,class:{\n        [`btn-item-${index} labels`]: true,\n        ['checked']: button.isActive,\n        ['unchecked']: !button.isActive,\n      },on:{\"click\":function($event){return _vm.handleLabelClick(button)}}},[_c('div',{staticClass:\"active-label\"},[(button.badge)?_c('div',{staticClass:\"btn-badge\"},[_vm._v(\" \"+_vm._s(button.badge)+\" \")]):_vm._e(),(_vm.hasSlot('icon'))?_vm._t(\"icon\",null,{\"props\":button}):[_c('v-icon',[_vm._v(\" \"+_vm._s(button.icon)+\" \")])]],2),_c('div',{staticClass:\"btn-title\"},[(_vm.hasSlot('title'))?_vm._t(\"title\",null,{\"props\":button}):[_vm._v(\" \"+_vm._s(button.title)+\" \")]],2)])}),0)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"btn-containrt_foreground\" :style=\"cssVariables\">\n    <div class=\"btn-containrt\">\n      <div\n        v-for=\"(button, index) in localOptions\"\n        :key=\"`menu-label-${index}`\"\n        :class=\"{\n          [`btn-item-${index} labels`]: true,\n          ['checked']: button.isActive,\n          ['unchecked']: !button.isActive,\n        }\"\n        @click=\"handleLabelClick(button)\"\n      >\n        <div class=\"active-label\">\n          <div class=\"btn-badge\" v-if=\"button.badge\">\n            {{ button.badge }}\n          </div>\n          <slot name=\"icon\" v-if=\"hasSlot('icon')\" :props=\"button\" />\n          <template v-else>\n            <v-icon> {{ button.icon }} </v-icon>\n          </template>\n        </div>\n\n        <div class=\"btn-title\">\n          <slot name=\"title\" v-if=\"hasSlot('title')\" :props=\"button\" />\n          <template v-else>\n            {{ button.title }}\n          </template>\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  model: {\n    prop: \"value\",\n    event: \"update\",\n  },\n  props: {\n    value: {\n      default: null,\n    },\n    options: {\n      type: Array,\n      default: () => [],\n    },\n    badgeColor: {\n      type: String,\n      default: \"#FBC02D\",\n    },\n  },\n  data: () => ({\n    localOptions: [],\n    showable: false,\n  }),\n  created() {\n    this.localOptions = this.options.map((option) => ({\n      ...option,\n      isActive: this.isActive(option),\n    }));\n  },\n  computed: {\n    cssVariables() {\n      return {\n        \"--color-badge\": this.badgeColor,\n      };\n    },\n    hasActiveClass() {\n      return this.localOptions.some((option) => option.isActive);\n    },\n  },\n  methods: {\n    handleLabelClick(button) {\n      if (!this.showable) {\n        this.toggleClass();\n      }\n      this.updateValue(button.id);\n      this.$emit(\"select\", button.title);\n    },\n    updateValue(value) {\n      this.localOptions.forEach(\n        (option) => (option.isActive = this.isActive(option, value))\n      );\n      this.$emit(\"update\", value);\n    },\n    toggleClass() {\n      this.showable = !this.showable;\n    },\n    isActive(button, value = this.value) {\n      return (\n        button.id == value ||\n        (button.childs || []).find((child) => child.id == value)\n      );\n    },\n    hasSlot(slotName) {\n      return this.$slots[slotName] || this.$scopedSlots[slotName];\n    },\n  },\n};\n</script>\n\n<style scoped>\n.btn-super-parant {\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  position: absolute;\n  bottom: 55px;\n  width: 100%;\n  height: 60px;\n  z-index: -1;\n}\ninput {\n  display: none;\n}\n.btn-containrt_foreground {\n  direction: ltr;\n  display: flex;\n  align-items: flex-end;\n  width: 80%;\n  height: 60px;\n  background: var(--color-foreground);\n}\n.btn-containrt {\n  direction: ltr;\n  display: flex;\n  justify-content: space-around;\n  background-color: #fff;\n  width: 100%;\n  height: 55px;\n}\n.active-label {\n  width: 45px;\n  height: 45px;\n  border-radius: 40%;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  transition: all 300ms ease;\n  top: 10px;\n  background: #fff !important;\n  color: rgba(0, 0, 0, 0.54);\n}\n.btn-title {\n  color: rgba(0, 0, 0, 0.6);\n  font-size: 12px;\n  text-align: center;\n}\n.btn-badge {\n  width: 18px;\n  height: 18px;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  position: absolute;\n  top: 0px;\n  left: 25px;\n  border-radius: 50%;\n  font-size: 12px;\n  color: #fff;\n  background: var(--color-badge);\n}\n.checked .active-label {\n  transform: translateY(-10px);\n  border-color: #d1d9e6 !important;\n  border-radius: 15px;\n  box-shadow: 2px 2px 4px #b8b9be, -2px -2px 4px #ffffff;\n}\n.checked .btn-title {\n  animation: fadein 200ms;\n  top: 50px;\n}\n.unchecked .active-label {\n  background: transparent;\n}\n.unchecked .btn-title {\n  visibility: hidden;\n}\n@media screen and (min-width: 576px) {\n  .labels {\n    cursor: pointer;\n  }\n}\n@keyframes fadein {\n  from {\n    opacity: 0;\n    transform: translateY(20px);\n  }\n  to {\n    opacity: 1;\n    transform: translateY(0px);\n  }\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./MenuBar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MenuBar.vue?vue&type=template&id=002ef1c4&scoped=true&\"\nimport script from \"./MenuBar.vue?vue&type=script&lang=js&\"\nexport * from \"./MenuBar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MenuBar.vue?vue&type=style&index=0&id=002ef1c4&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"002ef1c4\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-sheet',{staticClass:\"mt-6 mx-3\"},[_c('v-row',[_c('v-col',{staticClass:\"py-auto\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"3\",\"height\":\"100%\"}},[_c('span',{staticClass:\"text-h6\"},[_vm._v(\" Language \")])]),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('v-combobox',{attrs:{\"items\":_vm.models,\"error\":_vm.selectError,\"auto-select-first\":\"\",\"dense\":\"\"},model:{value:(_vm.lang),callback:function ($$v) {_vm.lang=$$v},expression:\"lang\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"outlined\":\"\",\"width\":\"100%\",\"loading\":_vm.loadingFlag},on:{\"click\":_vm.loadModel}},[_vm._v(\" Load \")])],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-auto\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"3\",\"height\":\"100%\"}},[_c('div',{staticClass:\"my-auto\"},[_c('span',{staticClass:\"text-h6\"},[_vm._v(\" Upload audio \")])])]),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('audio-recorder',{staticStyle:{\"box-shadow\":\"none\",\"background\":\"none\"},attrs:{\"attempts\":3,\"time\":1,\"sample-rate\":\"16000\",\"show-download-button\":false,\"show-upload-button\":false,\"format\":\"mp3\",\"select-record\":_vm.selectRecord,\"after-recording\":_vm.afterRecord}})],1),_c('v-col',{staticClass:\"d-flex flex-column\",attrs:{\"cols\":\"2\"}},[_c('v-spacer'),_c('v-btn',{staticClass:\"mt-auto\",attrs:{\"outlined\":\"\",\"width\":\"100%\",\"loading\":_vm.ASRLoadingFlag},on:{\"click\":_vm.runModel}},[_vm._v(\" Run \")])],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-auto\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"3\",\"height\":\"100%\"}},[_c('span',{staticClass:\"text-h6\"},[_vm._v(\" Text \")])]),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('v-textarea',{attrs:{\"dense\":\"\",\"readonly\":\"\"},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1)],1),_c('v-row',{staticClass:\"mt-6\"},[_c('v-col',{staticClass:\"py-auto\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"3\",\"height\":\"100%\"}},[_c('span',{staticClass:\"text-h6\"},[_vm._v(\" Detail \")])]),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-simple-table',[_c('tbody',_vm._l((_vm.modelInfo[_vm.lang]),function(item){return _c('tr',{key:item.name},[_c('td',[_vm._v(_vm._s(item.name))]),(item.url)?_c('td',[_c('a',{attrs:{\"href\":item.url}},[_vm._v(_vm._s(item.value))])]):_c('td',[_vm._v(_vm._s(item.value))])])}),0)])],1)],1)],1)],1),_c('v-alert',{attrs:{\"value\":_vm.showAlert,\"type\":_vm.barType,\"colored-border\":\"\",\"border\":\"top\",\"elevation\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.message))])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const asr_model_info = {\n  English: [\n    {\n      name: \"dataset\",\n      value: \"Librispeech 960h\",\n      url: \"https://www.openslr.org/12\",\n    },\n    {\n      name: \"tag\",\n      value: \"asapp/e_branchformer_librispeech\",\n      url: \"https://huggingface.co/asapp/e_branchformer_librispeech\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"E-Branchformer(17)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"result\",\n      url: \"https://github.com/espnet/espnet/tree/master/egs2/librispeech/asr1#e-branchformer\",\n    },\n  ],\n  Bengali: [\n    {\n      name: \"dataset\",\n      value: \"Large bengali ASR training dataset\",\n      url: \"https://openslr.org/53/\",\n    },\n    {\n      name: \"tag\",\n      value: \"espnet/bn_openslr53\",\n      url: \"https://huggingface.co/espnet/bn_openslr53\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"Transformer(12)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"results\",\n      url: \"https://github.com/espnet/espnet/tree/master/egs2/bn_openslr53/asr1#results\",\n    },\n  ],\n  Chinese: [\n    {\n      name: \"dataset\",\n      value: \"AISHELL-ASR0009-OS1 Open Source Mandarin Speech Corpus\",\n      url: \"https://www.aishelltech.com/kysjcp\",\n    },\n    {\n      name: \"tag\",\n      value: \"pyf98/aishell_e_branchformer\",\n      url: \"https://huggingface.co/pyf98/aishell_e_branchformer\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"E-Branchformer(12)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"branchformer-initial\",\n      url: \"https://github.com/espnet/espnet/tree/master/egs2/aishell/asr1#branchformer-initial\",\n    },\n  ],\n  French: [\n    {\n      name: \"dataset\",\n      value: \"Swiss French Polyphone corpus\",\n      url: \"http://catalog.elra.info/en-us/repository/browse/ELRA-S0030_02/\",\n    },\n    {\n      name: \"tag\",\n      value:\n        \"adolfvonkleist/polyphone_swiss_french_asr_train_asr_conformer_raw_bpe800_sp_valid.acc.ave\",\n      url: \"https://zenodo.org/record/4319575#.ZGOSDJHP1H4\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"Conformer(12)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"asr_train_asr_conformer_raw_bpe800_spl\",\n      url: \"https://github.com/espnet/espnet/tree/master/egs2/polyphone_swiss_french/asr1#asr_train_asr_conformer_raw_bpe800_spl\",\n    },\n  ],\n  Nahuatl: [\n    {\n      name: \"dataset\",\n      value:\n        \"Highland Puebla Nahuatl corpus (endangered language in central Mexico)\",\n      url: \"https://www.openslr.org/92/\",\n    },\n    {\n      name: \"tag\",\n      value: \"espnet/ftshijt_espnet2_asr_puebla_nahuatl_transfer\",\n      url: \"https://huggingface.co/espnet/ftshijt_espnet2_asr_puebla_nahuatl_transfer\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"HuBERT\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"Transformer(12)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"result\",\n      url: \"https://github.com/espnet/espnet/blob/master/egs2/puebla_nahuatl/asr1/RESULTS.md#result\",\n    },\n  ],\n  Japanese: [\n    {\n      name: \"dataset\",\n      value: \"Japanese speech corpus of Saruwatari-lab., University of Tokyo\",\n      url: \"https://sites.google.com/site/shinnosuketakamichi/publication/jsut\",\n    },\n    {\n      name: \"tag\",\n      value: \"pyf98/jsut_e_branchformer\",\n      url: \"https://huggingface.co/pyf98/jsut_e_branchformer\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"E-Branchformer(16)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"e-branchformer\",\n      url: \"https://github.com/espnet/espnet/tree/master/egs2/jsut/asr1#e-branchformer\",\n    },\n  ],\n  Korean: [\n    {\n      name: \"dataset\",\n      value: \"KsponSpeech (Korean spontaneous speech) corpus\",\n      url: \"https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=123\",\n    },\n    {\n      name: \"tag\",\n      value:\n        \"Yushi Ueda/ksponspeech_asr_train_asr_conformer8_n_fft512_hop_length256_raw_kr_bpe2309_valid.acc.best\",\n      url: \"https://zenodo.org/record/5154341#.ZGOV9pHP1H4\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"Conformer(12)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"conformertransformer-lm\",\n      url: \"https://github.com/espnet/espnet/tree/master/egs2/ksponspeech/asr1#conformertransformer-lm\",\n    },\n  ],\n  Russian: [\n    {\n      name: \"dataset\",\n      value: \"Russian Open Speech To Text (STT/ASR) Dataset\",\n      url: \"https://github.com/snakers4/open_stt\",\n    },\n    {\n      name: \"tag\",\n      value:\n        \"Pavel Denisov/ru_open_stt_asr_train_asr_conformer_raw_ru_bpe100_valid.acc.ave\",\n      url: \"https://zenodo.org/record/4541727#.ZGOZBJHP1H4\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"Conformer(12)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"the-first-conformer-result\",\n      url: \"https://github.com/espnet/espnet/tree/master/egs2/ru_open_stt/asr1#the-first-conformer-result\",\n    },\n  ],\n  Sinhala: [\n    {\n      name: \"dataset\",\n      value: \"Sinhala speech recognition corpus\",\n      url: \"https://drive.google.com/file/d/17_e0JhMW4_FPxfh93foplnxb4OQp8zh3/view\",\n    },\n    {\n      name: \"tag\",\n      value: \"espnet/Karthik_sinhala_asr_train_asr_transformer\",\n      url: \"https://huggingface.co/espnet/Karthik_sinhala_asr_train_asr_transformer\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"Conformer(12)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"result\",\n      url: \"https://github.com/espnet/espnet/tree/master/egs2/sinhala/asr1#using-transformer-based-encoder-decoder-predicting-transcript-along-with-intent\",\n    },\n  ],\n  Sundanese: [\n    {\n      name: \"dataset\",\n      value: \"Large Sundanese ASR training data set\",\n      url: \"http://www.openslr.org/36\",\n    },\n    {\n      name: \"tag\",\n      value: \"su_openslr36\",\n      url: \"https://zenodo.org/record/5090135#.ZGOacJHP1H4\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"Conformer(12)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"result\",\n      url: \"https://github.com/espnet/espnet/tree/master/egs2/su_openslr36/asr1#results\",\n    },\n  ],\n  Totonac: [\n    {\n      name: \"dataset\",\n      value: \"Highland Totonac corpus (endangered language in central Mexico)\",\n      url: \"http://www.openslr.org/107/\",\n    },\n    {\n      name: \"tag\",\n      value: \"espnet/ftshijt_espnet2_asr_totonac_transformer\",\n      url: \"https://huggingface.co/espnet/ftshijt_espnet2_asr_totonac_transformer\",\n    },\n    {\n      name: \"Frontend\",\n      value: \"DefaultFrontend\",\n    },\n    {\n      name: \"Encoder\",\n      value: \"Conformer(12)\",\n    },\n    {\n      name: \"Decoder\",\n      value: \"Transformer(6)\",\n    },\n    {\n      name: \"Metrics\",\n      value: \"result\",\n      url: \"https://github.com/espnet/espnet/blob/master/egs2/totonac/asr1/RESULTS.md#results\",\n    },\n  ],\n};\n","<template>\n  <v-container>\n    <v-sheet class=\"mt-6 mx-3\">\n      <v-row>\n        <v-col\n          cols=\"3\"\n          style=\"text-align: center\"\n          class=\"py-auto\"\n          height=\"100%\"\n        >\n          <span class=\"text-h6\"> Language </span>\n        </v-col>\n        <v-col cols=\"7\">\n          <v-combobox\n            v-model=\"lang\"\n            :items=\"models\"\n            :error=\"selectError\"\n            auto-select-first\n            dense\n          >\n          </v-combobox>\n        </v-col>\n        <v-col cols=\"2\">\n          <v-btn\n            @click=\"loadModel\"\n            outlined\n            width=\"100%\"\n            :loading=\"loadingFlag\"\n          >\n            Load\n          </v-btn>\n        </v-col>\n      </v-row>\n      <v-row>\n        <v-col\n          cols=\"3\"\n          style=\"text-align: center\"\n          class=\"py-auto\"\n          height=\"100%\"\n        >\n          <div class=\"my-auto\">\n            <span class=\"text-h6\"> Upload audio </span>\n          </div></v-col\n        >\n        <v-col cols=\"7\">\n          <audio-recorder\n            :attempts=\"3\"\n            :time=\"1\"\n            sample-rate=\"16000\"\n            :show-download-button=\"false\"\n            :show-upload-button=\"false\"\n            format=\"mp3\"\n            :select-record=\"selectRecord\"\n            :after-recording=\"afterRecord\"\n            style=\"box-shadow: none; background: none\"\n          />\n        </v-col>\n        <v-col cols=\"2\" class=\"d-flex flex-column\">\n          <v-spacer />\n          <v-btn\n            @click=\"runModel\"\n            outlined\n            width=\"100%\"\n            :loading=\"ASRLoadingFlag\"\n            class=\"mt-auto\"\n          >\n            Run\n          </v-btn>\n        </v-col>\n      </v-row>\n      <v-row>\n        <v-col\n          cols=\"3\"\n          style=\"text-align: center\"\n          class=\"py-auto\"\n          height=\"100%\"\n        >\n          <span class=\"text-h6\"> Text </span></v-col\n        >\n        <v-col cols=\"9\">\n          <v-textarea v-model=\"text\" dense readonly></v-textarea>\n        </v-col>\n      </v-row>\n      <v-row class=\"mt-6\">\n        <v-col\n          cols=\"3\"\n          style=\"text-align: center\"\n          class=\"py-auto\"\n          height=\"100%\"\n        >\n          <span class=\"text-h6\"> Detail </span>\n          <!-- <v-spacer></v-spacer> -->\n        </v-col>\n        <v-col cols=\"9\">\n          <v-card flat>\n            <v-simple-table>\n              <tbody>\n                <tr v-for=\"item in modelInfo[lang]\" :key=\"item.name\">\n                  <td>{{ item.name }}</td>\n\n                  <td v-if=\"item.url\">\n                    <a :href=\"item.url\">{{ item.value }}</a>\n                  </td>\n                  <td v-else>{{ item.value }}</td>\n                </tr>\n              </tbody>\n            </v-simple-table>\n          </v-card>\n        </v-col>\n      </v-row>\n    </v-sheet>\n    <v-alert\n      :value=\"showAlert\"\n      :type=\"barType\"\n      colored-border\n      border=\"top\"\n      elevation=\"2\"\n    >\n      {{ message }}</v-alert\n    >\n  </v-container>\n</template>\n<script>\nimport axios from \"axios\";\nimport { asr_model_info } from \"../utils/ASR_models.js\";\n\nconsole.log(asr_model_info);\nexport default {\n  name: \"ASRDemoSheet\",\n  data: () => ({\n    lang: \"\",\n    models: Object.keys(asr_model_info),\n    modelInfo: asr_model_info,\n    loadingFlag: false,\n    text: \"\",\n    ASRLoadingFlag: false,\n    showAlert: false,\n    message: \"\",\n    barType: \"success\",\n    selectError: false,\n    audioFile: \"\",\n    audioError: false,\n    soundSrc: [],\n    record: null,\n  }),\n  methods: {\n    hide_alert: function () {\n      // `event` is the native DOM event\n      window.setInterval(() => {\n        this.showAlert = false;\n      }, 3000);\n    },\n    loadModel() {\n      this.loadingFlag = true;\n      if (this.lang === \"\" || !this.models.includes(this.lang)) {\n        this.showAlert = true;\n        this.selectError = true;\n        this.message = \"Please select a language from list\";\n        this.loadingFlag = false;\n        this.barType = \"error\";\n        this.hide_alert();\n        return;\n      }\n      this.selectError = false;\n      axios\n        .get(\"/api/asr/load_model\", {\n          params: {\n            model_name: this.modelInfo[this.lang][1].value,\n          },\n        })\n        .then(() => {\n          this.message = \"Successfully loaded model\";\n          this.barType = \"success\";\n          this.loadingFlag = false;\n          this.alert = true;\n          this.modelLoaded = true;\n          this.showAlert = true;\n          this.hide_alert();\n        })\n        .catch((error) => {\n          this.message = \"Error happened while loading model\";\n          this.loadingFlag = false;\n          this.alert = true;\n          this.barType = \"error\";\n          this.showAlert = true;\n          this.hide_alert();\n          console.log(error);\n        });\n    },\n    runModel() {\n      this.ASRLoadingFlag = true;\n      if (!this.modelLoaded) {\n        this.showAlert = true;\n        this.selectError = true;\n        this.message = \"Please load a model before generating audio.\";\n        this.ASRLoadingFlag = false;\n        this.barType = \"error\";\n        this.hide_alert();\n        return;\n      }\n      if (!this.record) {\n        this.showAlert = true;\n        this.audioError = true;\n        this.message = \"Please record at least one audio.\";\n        this.ASRLoadingFlag = false;\n        this.barType = \"error\";\n        this.hide_alert();\n        return;\n      }\n\n      let formData = new FormData();\n      formData.append(\"audio\", this.record.blob, `${this.record.filename}.mp3`);\n\n      axios\n        .post(\"/api/asr/recognize\", formData, {\n          headers: {\n            \"Content-Type\": \"multipart/form-data\",\n          },\n        })\n        .then((res) => {\n          this.message = \"Recognition finished.\";\n          this.barType = \"success\";\n          this.ASRLoadingFlag = false;\n          this.alert = true;\n          this.text = res.data.text;\n          this.hide_alert();\n        })\n        .catch((error) => {\n          this.message = \"Error happened while executing model\";\n          this.ASRLoadingFlag = false;\n          this.alert = true;\n          this.barType = \"error\";\n          this.hide_alert();\n          console.log(error);\n        });\n    },\n    selectRecord(r) {\n      this.record = r;\n    },\n    afterRecord(r) {\n      this.record = r;\n    },\n  },\n};\n</script>\n<style>\n.ar-records {\n  height: auto !important;\n}\n\n.ar-records__record--selected {\n  border: 1px solid #1f1e33 !important;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ASRDemoSheet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ASRDemoSheet.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ASRDemoSheet.vue?vue&type=template&id=459f179c&\"\nimport script from \"./ASRDemoSheet.vue?vue&type=script&lang=js&\"\nexport * from \"./ASRDemoSheet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ASRDemoSheet.vue?vue&type=style&index=0&id=459f179c&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-sheet',{staticClass:\"mt-6 mx-3\"},[_c('v-row',[_c('v-col',{staticClass:\"py-auto\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"3\",\"height\":\"100%\"}},[_c('span',{staticClass:\"text-h6\"},[_vm._v(\" Select model \")])]),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('v-select',{attrs:{\"items\":_vm.models,\"dense\":\"\",\"error\":_vm.selectError},model:{value:(_vm.model),callback:function ($$v) {_vm.model=$$v},expression:\"model\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"outlined\":\"\",\"width\":\"100%\",\"loading\":_vm.loadingFlag},on:{\"click\":_vm.loadModel}},[_vm._v(\" Load \")])],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-auto\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"3\",\"height\":\"100%\"}},[_c('span',{staticClass:\"text-h6\"},[_vm._v(\" Write text \")])]),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('v-textarea',{attrs:{\"dense\":\"\",\"clearable\":\"\",\"rows\":\"2\",\"counter\":\"\",\"error\":_vm.textError,\"rules\":_vm.textLengthRules},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"outlined\":\"\",\"width\":\"100%\",\"loading\":_vm.TTSLoadingFlag},on:{\"click\":_vm.runModel}},[_vm._v(\" Generate \")])],1)],1),_c('v-row',[_c('v-col',{staticClass:\"py-auto\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"3\",\"height\":\"100%\"}},[_c('span',{staticClass:\"text-h6\"},[_vm._v(\" Generated audio \")])]),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('AudioPlayer',{ref:\"audioPlayer\"})],1)],1),_c('v-row',{staticClass:\"mt-6\"},[_c('v-col',{staticClass:\"py-auto\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"3\",\"height\":\"100%\"}},[_c('span',{staticClass:\"text-h6\"},[_vm._v(\" Model Detail \")])]),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-simple-table',[_c('tbody',_vm._l((_vm.modelInfo[_vm.model]),function(item){return _c('tr',{key:item.name},[_c('td',[_vm._v(_vm._s(item.name))]),_c('td',[_vm._v(_vm._s(item.value))])])}),0)])],1)],1)],1)],1),_c('v-alert',{attrs:{\"value\":_vm.showAlert,\"type\":_vm.barType,\"colored-border\":\"\",\"border\":\"top\",\"elevation\":\"2\"}},[_vm._v(\" \"+_vm._s(_vm.message))])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"player\"},[_c('v-row',{staticClass:\"player-controls ma-0\"},[_c('v-col',{staticClass:\"pa-2\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"1\",\"title\":\"Stop\"}},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.stop}},[_c('v-icon',[_vm._v(\"mdi-stop\")])],1)],1),_c('v-col',{staticClass:\"pa-2\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"1\",\"title\":\"Play/Pause\"}},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.playing = !_vm.playing}}},[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.playing),expression:\"!playing\"}]},[_vm._v(\"mdi-play\")]),_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.playing),expression:\"playing\"}]},[_vm._v(\"mdi-pause\")])],1)],1),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"player-progress\",attrs:{\"title\":\"Time played : Total time\"},on:{\"click\":_vm.seek}},[_c('div',{staticClass:\"player-seeker\",style:({ width: this.percentComplete + '%' })})]),_c('div',{staticClass:\"player-time\"},[_c('div',{staticClass:\"player-time-current\"},[_vm._v(_vm._s(_vm.currentTime))]),_c('div',{staticClass:\"player-time-total\"},[_vm._v(_vm._s(_vm.durationTime))])])]),_c('v-col',{staticClass:\"pa-2\",staticStyle:{\"text-align\":\"center\"},attrs:{\"cols\":\"4\"}},[_c('v-slider',{attrs:{\"prepend-icon\":\"mdi-volume-high\",\"max\":\"100\",\"width\":\"100%\",\"dense\":\"\",\"hide-details\":\"auto\"},model:{value:(_vm.volume),callback:function ($$v) {_vm.volume=$$v},expression:\"volume\"}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"player\">\n    <v-row class=\"player-controls ma-0\">\n      <v-col cols=\"1\" class=\"pa-2\" style=\"text-align: center;\" title=\"Stop\">\n        <v-btn icon @click=\"stop\">\n          <v-icon>mdi-stop</v-icon>\n        </v-btn>\n      </v-col>\n      <v-col cols=\"1\" class=\"pa-2\" style=\"text-align: center;\" title=\"Play/Pause\">\n        <v-btn icon @click=\"playing = !playing\" >\n          <v-icon v-show=\"!playing\">mdi-play</v-icon>\n          <v-icon v-show=\"playing\">mdi-pause</v-icon>\n        </v-btn>\n      </v-col>\n      <v-col cols=\"6\" class=\"pa-0\" >\n        <div\n          v-on:click=\"seek\"\n          class=\"player-progress\"\n          title=\"Time played : Total time\"\n        >\n          <div\n            :style=\"{ width: this.percentComplete + '%' }\"\n            class=\"player-seeker\"\n          ></div>\n        </div>\n        <div class=\"player-time\">\n          <div class=\"player-time-current\">{{ currentTime }}</div>\n          <div class=\"player-time-total\">{{ durationTime }}</div>\n        </div>\n      </v-col>\n      <v-col cols=\"4\" style=\"text-align: center;\" class=\"pa-2\" >\n        <v-slider\n            v-model=\"volume\"\n            prepend-icon=\"mdi-volume-high\"\n            max=\"100\"\n            width=\"100%\"\n            dense\n            hide-details=\"auto\"\n        ></v-slider>\n      </v-col>\n    </v-row>\n  </div>\n</template>\n<script>\nconst convertTimeHHMMSS = (val) => {\n\tlet hhmmss = new Date(val * 1000).toISOString().substr(11, 8);\n\n\treturn hhmmss.indexOf(\"00:\") === 0 ? hhmmss.substr(3) : hhmmss;\n};\n\nexport default {\n  name: \"ASRDemoSheet\",\n  props: {\n    file: {\n      type: String,\n      default: null,\n    },\n    autoPlay: {\n      type: Boolean,\n      default: false,\n    },\n    loop: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  data: () => ({\n    audio: undefined,\n    currentSeconds: 0,\n    durationSeconds: 0,\n    innerLoop: false,\n    loaded: false,\n    playing: false,\n    previousVolume: 35,\n    showVolume: false,\n    volume: 100,\n  }),\n  computed: {\n    currentTime() {\n      return convertTimeHHMMSS(this.currentSeconds);\n    },\n    durationTime() {\n      return convertTimeHHMMSS(this.durationSeconds);\n    },\n    percentComplete() {\n      return parseInt((this.currentSeconds / this.durationSeconds) * 100);\n    },\n    muted() {\n      return this.volume / 100 === 0;\n    },\n  },\n  watch: {\n    playing(value) {\n      if (value) {\n        return this.audio.play();\n      }\n      this.audio.pause();\n    },\n    volume() {\n      this.showVolume = false;\n      this.audio.volume = this.volume / 100;\n    },\n  },\n  methods: {\n    download() {\n      this.stop();\n      window.open(this.file, \"download\");\n    },\n    load() {\n      if (this.audio.readyState >= 2) {\n        this.loaded = true;\n        this.durationSeconds = parseInt(this.audio.duration);\n        return (this.playing = this.autoPlay);\n      }\n\n      throw new Error(\"Failed to load sound file.\");\n    },\n    mute() {\n      if (this.muted) {\n        return (this.volume = this.previousVolume);\n      }\n\n      this.previousVolume = this.volume;\n      this.volume = 0;\n    },\n    seek(e) {\n      if (!this.playing || e.target.tagName === \"SPAN\") {\n        return;\n      }\n\n      const el = e.target.getBoundingClientRect();\n      const seekPos = (e.clientX - el.left) / el.width;\n\n      this.audio.currentTime = parseInt(this.audio.duration * seekPos);\n    },\n    stop() {\n      this.playing = false;\n      this.audio.currentTime = 0;\n    },\n    update() {\n      this.currentSeconds = parseInt(this.audio.currentTime);\n    },\n    reload() {\n      this.audio = new Audio(\"/static/sample.wav\");\n      this.audio.addEventListener(\"timeupdate\", this.update);\n      this.audio.addEventListener(\"loadeddata\", this.load);\n      this.audio.addEventListener(\"pause\", () => {\n        this.playing = false;\n      });\n      this.audio.addEventListener(\"play\", () => {\n        this.playing = true;\n      });\n      this.playing = false;\n      this.durationSeconds = parseInt(this.audio.duration);\n    }\n  },\n  created() {\n    this.innerLoop = this.loop;\n  },\n};\n</script>\n<style lang=\"scss\">\n@import url(\"https://fonts.googleapis.com/css?family=Nunito:400,700\");\n\nbody {\n  font-family: \"Nunito\", sans-serif;\n}\n\n$player-bg: #fff;\n$player-border-color: darken($player-bg, 12%);\n$player-link-color: darken($player-bg, 75%);\n$player-progress-color: $player-border-color;\n$player-seeker-color: $player-link-color;\n$player-text-color: $player-link-color;\n\n.player-wrapper {\n  align-items: center;\n  background-color: $player-bg;\n  background-image: linear-gradient(90deg, #fff 0, darken(#fff, 12%));\n  display: flex;\n  justify-content: center;\n  // height: 100vh;\n}\n\n.player {\n  background-color: $player-bg;\n  border: 1px solid $player-border-color;\n  border-radius: 5px;\n  // box-shadow: 0 5px 8px rgba(0, 0, 0, 0.15);\n  color: $player-text-color;\n  display: inline-block;\n  // line-height: 1.5625;\n  width:100%;\n}\n\n.player-controls {\n  display: flex;\n\n  > div {\n    border-right: 1px solid $player-border-color;\n\n    &:last-child {\n      border-right: none;\n    }\n\n    a {\n      color: $player-link-color;\n      display: block;\n      // line-height: 0;\n      // padding: 1em;\n      text-decoration: none;\n    }\n  }\n}\n\n.player-progress {\n  background-color: $player-progress-color;\n  cursor: pointer;\n  height: 50%;\n  min-width: 200px;\n  position: relative;\n\n  .player-seeker {\n    background-color: $player-seeker-color;\n    bottom: 0;\n    left: 0;\n    position: absolute;\n    top: 0;\n  }\n}\n\n.player-time {\n  display: flex;\n  // font-size: 18px;\n  justify-content: space-between;\n\n  .player-time-current {\n    font-weight: 700;\n    padding-left: 5px;\n  }\n\n  .player-time-total {\n    opacity: 0.5;\n    padding-right: 5px;\n  }\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioPalyer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AudioPalyer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AudioPalyer.vue?vue&type=template&id=0bdac3d0&\"\nimport script from \"./AudioPalyer.vue?vue&type=script&lang=js&\"\nexport * from \"./AudioPalyer.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AudioPalyer.vue?vue&type=style&index=0&id=0bdac3d0&prod&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n  <v-container>\n    <v-sheet class=\"mt-6 mx-3\">\n      <v-row>\n        <v-col\n          cols=\"3\"\n          style=\"text-align: center\"\n          class=\"py-auto\"\n          height=\"100%\"\n        >\n          <span class=\"text-h6\"> Select model </span>\n        </v-col>\n        <v-col cols=\"7\">\n          <v-select\n            v-model=\"model\"\n            :items=\"models\"\n            dense\n            :error=\"selectError\"\n          ></v-select>\n        </v-col>\n        <v-col cols=\"2\">\n          <v-btn\n            @click=\"loadModel\"\n            outlined\n            width=\"100%\"\n            :loading=\"loadingFlag\"\n          >\n            Load\n          </v-btn>\n        </v-col>\n      </v-row>\n      <v-row>\n        <v-col\n          cols=\"3\"\n          style=\"text-align: center\"\n          class=\"py-auto\"\n          height=\"100%\"\n        >\n          <span class=\"text-h6\"> Write text </span></v-col\n        >\n        <v-col cols=\"7\">\n          <v-textarea\n            v-model=\"text\"\n            dense\n            clearable\n            rows=\"2\"\n            counter\n            :error=\"textError\"\n            v-bind:rules=\"textLengthRules\"\n          >\n          </v-textarea>\n        </v-col>\n        <v-col cols=\"2\">\n          <v-btn\n            @click=\"runModel\"\n            outlined\n            width=\"100%\"\n            :loading=\"TTSLoadingFlag\"\n          >\n            Generate\n          </v-btn>\n        </v-col>\n      </v-row>\n      <v-row>\n        <v-col\n          cols=\"3\"\n          style=\"text-align: center\"\n          class=\"py-auto\"\n          height=\"100%\"\n        >\n          <span class=\"text-h6\"> Generated audio </span></v-col\n        >\n        <v-col cols=\"9\">\n          <AudioPlayer ref=\"audioPlayer\"></AudioPlayer>\n        </v-col>\n      </v-row>\n      <v-row class=\"mt-6\">\n        <v-col\n          cols=\"3\"\n          style=\"text-align: center\"\n          class=\"py-auto\"\n          height=\"100%\"\n        >\n          <span class=\"text-h6\"> Model Detail </span>\n          <!-- <v-spacer></v-spacer> -->\n        </v-col>\n        <v-col cols=\"9\">\n          <v-card flat>\n            <v-simple-table>\n              <tbody>\n                <tr v-for=\"item in modelInfo[model]\" :key=\"item.name\">\n                  <td>{{ item.name }}</td>\n                  <td>{{ item.value }}</td>\n                </tr>\n              </tbody>\n            </v-simple-table>\n          </v-card>\n        </v-col>\n      </v-row>\n    </v-sheet>\n    <v-alert\n      :value=\"showAlert\"\n      :type=\"barType\"\n      colored-border\n      border=\"top\"\n      elevation=\"2\"\n    >\n      {{ message }}</v-alert\n    >\n  </v-container>\n</template>\n<script>\nimport AudioPlayer from \"./AudioPalyer.vue\";\nimport axios from \"axios\";\n\nexport default {\n  name: \"ASRDemoSheet\",\n  components: {\n    AudioPlayer,\n  },\n  data: () => ({\n    model: \"\",\n    models: [\"kan-bayashi/ljspeech_vits\"],\n    modelInfo: {\n      \"kan-bayashi/ljspeech_vits\": [\n        {\n          name: \"url\",\n          value: \"https://huggingface.co/espnet/kan-bayashi_ljspeech_vits\",\n        },\n        {\n          name: \"model\",\n          value: \"VITS\",\n        },\n        {\n          name: \"sample_rate\",\n          value: 22050,\n        },\n      ],\n    },\n    counter: {\n      max: 20,\n    },\n    loadingFlag: false,\n    text: \"\",\n    TTSLoadingFlag: false,\n    textLengthRules: [\n      (text) => text.length <= 100 || \"Maximum 100 characters allowed\",\n    ],\n    showAlert: false,\n    message: \"\",\n    modelLoaded: false,\n    textError: false,\n    barType: \"success\",\n    selectError: false,\n  }),\n  methods: {\n    hide_alert: function () {\n      // `event` is the native DOM event\n      window.setInterval(() => {\n        this.showAlert = false;\n      }, 3000);\n    },\n    loadModel: function () {\n      this.loadingFlag = true;\n      if (this.model === \"\") {\n        this.showAlert = true;\n        this.selectError = true;\n        this.message = \"Please select a model\";\n        this.loadingFlag = false;\n        this.barType = \"error\";\n        this.hide_alert();\n        return;\n      }\n      this.selectError = false;\n      axios\n        .get(\"/api/tts/load_model\", {\n          params: {\n            model_name: this.model,\n            fs: this.modelInfo[this.model][2].value,\n          },\n        })\n        .then(() => {\n          this.message = \"Successfully loaded model\";\n          this.barType = \"success\";\n          this.loadingFlag = false;\n          this.alert = true;\n          this.modelLoaded = true;\n          this.showAlert = true;\n          this.hide_alert();\n        })\n        .catch((error) => {\n          this.message = \"Error happened while loading model\";\n          this.loadingFlag = false;\n          this.alert = true;\n          this.barType = \"error\";\n          this.showAlert = true;\n          this.hide_alert();\n          console.log(error);\n        });\n    },\n    runModel: function () {\n      this.TTSLoadingFlag = true;\n      if (!this.modelLoaded) {\n        this.showAlert = true;\n        this.selectError = true;\n        this.message = \"Please load a model before generating audio.\";\n        this.TTSLoadingFlag = false;\n        this.barType = \"error\";\n        this.hide_alert();\n        return;\n      }\n      if (!this.text) {\n        this.showAlert = true;\n        this.textError = true;\n        this.message = \"Please write text.\";\n        this.TTSLoadingFlag = false;\n        this.barType = \"error\";\n        this.hide_alert();\n        return;\n      }\n      this.selectError = false;\n      axios\n        .post(\"/api/tts/generate\", {\n          text: this.text,\n        })\n        .then(() => {\n          this.message = \"Successfully generated audio\";\n          this.barType = \"success\";\n          this.TTSLoadingFlag = false;\n          this.alert = true;\n          this.hide_alert();\n          this.$refs.audioPlayer.reload();\n        })\n        .catch((error) => {\n          this.message = \"Error happened while loading model\";\n          this.TTSLoadingFlag = false;\n          this.alert = true;\n          this.barType = \"error\";\n          this.hide_alert();\n          console.log(error);\n        });\n    },\n  },\n};\n</script>\n<style>\n.v-alert {\n  position: fixed;\n  left: 50%;\n  bottom: 50px;\n  transform: translate(-50%, -50%);\n  margin: 0 auto;\n}\n</style>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TTSDemoSheet.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TTSDemoSheet.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TTSDemoSheet.vue?vue&type=template&id=7bd18c8c&\"\nimport script from \"./TTSDemoSheet.vue?vue&type=script&lang=js&\"\nexport * from \"./TTSDemoSheet.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TTSDemoSheet.vue?vue&type=style&index=0&id=7bd18c8c&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n  <v-container>\n    <v-card flat>\n      <v-card-title>\n        <span class=\"text-h3\">ESPnet-ONNX demo</span>\n      </v-card-title>\n      <v-card-text class=\"body-1\">\n        This is a demonstration space of ESPnet-ONNX project. Please select ASR\n        or TTS to play!\n      </v-card-text>\n    </v-card>\n\n    <MenuBar\n      :options=\"options\"\n      v-model=\"selected\"\n      v-on:select=\"menuChanged\"\n      class=\"mt-6 mx-auto\"\n    />\n    <v-sheet class=\"mb-10\">\n      <div v-show=\"menuSelected == 'ASR'\">\n        <ASRDemoSheet class=\"mt-3\"></ASRDemoSheet>\n      </div>\n      <div v-show=\"menuSelected == 'TTS'\">\n        <TTSDemoSheet class=\"mt-3\"></TTSDemoSheet>\n      </div>\n    </v-sheet>\n  </v-container>\n</template>\n<script>\nimport MenuBar from \"./MenuBar.vue\";\nimport ASRDemoSheet from \"./ASRDemoSheet.vue\";\nimport TTSDemoSheet from \"./TTSDemoSheet.vue\";\n\nexport default {\n  name: \"EspnetOnnxDemo\",\n  components: {\n    MenuBar,\n    ASRDemoSheet,\n    TTSDemoSheet,\n  },\n  data: () => ({\n    selected: 1,\n    options: [\n      { id: 1, icon: \"mdi-microphone-message\", title: \"ASR\" },\n      { id: 2, icon: \"mdi-speaker-message\", title: \"TTS\" },\n    ],\n    menuSelected: \"ASR\",\n  }),\n  methods: {\n    menuChanged: function (e) {\n      if (this.menuSelected != e) {\n        this.menuSelected = e;\n      }\n    },\n  },\n};\n</script>\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EspnetOnnxDemo.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EspnetOnnxDemo.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EspnetOnnxDemo.vue?vue&type=template&id=b4c0ed34&\"\nimport script from \"./EspnetOnnxDemo.vue?vue&type=script&lang=js&\"\nexport * from \"./EspnetOnnxDemo.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n  <v-app>\n    <v-main>\n      <DemoHeader></DemoHeader>\n      <EspnetOnnxDemo></EspnetOnnxDemo>\n      <DemoFooter></DemoFooter>\n    </v-main>\n  </v-app>\n</template>\n\n<script>\nimport DemoHeader from './components/DemoHeader.vue'\nimport DemoFooter from './components/DemoFooter.vue'\nimport EspnetOnnxDemo from './components/EspnetOnnxDemo.vue'\n\nexport default {\n  name: 'App',\n\n  components: {\n    DemoHeader,\n    DemoFooter,\n    EspnetOnnxDemo\n  },\n\n};\n</script>\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=9a668cba&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib/framework';\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n    // theme: { dark: true },\n});\n","import Vue from 'vue'\nimport App from './App.vue'\nimport vuetify from './plugins/vuetify'\nimport AudioRecorder from 'vue-audio-recorder'\n\nVue.use(AudioRecorder)\nVue.config.productionTip = false\n\nnew Vue({\n  vuetify,\n  render: h => h(App)\n}).$mount('#app')\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkespnet_onnx_demo\"] = self[\"webpackChunkespnet_onnx_demo\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2974); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["staticRenderFns","render","_c","staticStyle","attrs","name","data","hoverFlag","methods","hover","out","component","staticClass","_vm","on","menuChanged","model","value","selected","directives","menuSelected","_self","cssVariables","_l","localOptions","index","isActive","button","badge","_s","_v","icon","hasSlot","title","prop","event","props","default","options","type","Array","badgeColor","String","showable","created","map","option","computed","hasActiveClass","some","handleLabelClick","toggleClass","updateValue","id","$emit","forEach","childs","find","child","slotName","$slots","$scopedSlots","callback","lang","expression","selectRecord","ASRLoadingFlag","text","key","asr_model_info","English","url","Bengali","Chinese","French","Nahuatl","Japanese","Korean","Russian","Sinhala","Sundanese","Totonac","console","log","models","Object","keys","modelInfo","loadingFlag","showAlert","message","barType","selectError","audioFile","audioError","soundSrc","record","hide_alert","window","setInterval","loadModel","includes","axios","params","model_name","then","alert","modelLoaded","catch","error","runModel","formData","FormData","append","blob","filename","headers","res","r","afterRecord","textLengthRules","ref","playing","rawName","width","volume","convertTimeHHMMSS","val","hhmmss","Date","toISOString","substr","indexOf","file","autoPlay","Boolean","loop","audio","undefined","currentSeconds","durationSeconds","innerLoop","loaded","previousVolume","showVolume","currentTime","durationTime","percentComplete","parseInt","muted","watch","play","pause","download","stop","open","load","readyState","duration","Error","mute","seek","e","target","tagName","el","getBoundingClientRect","seekPos","clientX","left","update","reload","Audio","addEventListener","components","AudioPlayer","counter","max","TTSLoadingFlag","length","textError","fs","$refs","audioPlayer","MenuBar","ASRDemoSheet","TTSDemoSheet","DemoHeader","DemoFooter","EspnetOnnxDemo","Vue","Vuetify","AudioRecorder","vuetify","h","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","this","Function","obj","prototype","hasOwnProperty","call","Symbol","toStringTag","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","push","__webpack_exports__"],"sourceRoot":""}