ms180 commited on
Commit
493fbf6
1 Parent(s): 4bec50f

initial commit

Browse files
README.md CHANGED
@@ -5,7 +5,7 @@ colorFrom: red
5
  colorTo: green
6
  sdk: gradio
7
  sdk_version: 3.28.2
8
- app_file: app.py
9
  pinned: false
10
  license: mit
11
  ---
 
5
  colorTo: green
6
  sdk: gradio
7
  sdk_version: 3.28.2
8
+ app_file: start.py
9
  pinned: false
10
  license: mit
11
  ---
modules/__pycache__/app.cpython-38.pyc ADDED
Binary file (382 Bytes). View file
 
modules/app.py ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import FastAPI
2
+ from fastapi.staticfiles import StaticFiles
3
+
4
+ app = FastAPI()
5
+
6
+ app.mount("/static", StaticFiles(directory="static"), name="static")
7
+ app.mount("/", StaticFiles(directory="template", html=True), name="html")
8
+
9
+ # @app.get("/")
10
+ # async def root():
11
+ # return {"message": "Hello World"}
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ fastapi==0.74.*
2
+ requests==2.27.*
3
+ uvicorn[standard]==0.17.*
start.py ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ import subprocess
2
+
3
+ subprocess.run("uvicorn modules.app:app --host 0.0.0.0 --port 7860", shell=True)
static/css/app.539b8905.css ADDED
@@ -0,0 +1 @@
 
 
1
+ @import url(https://fonts.googleapis.com/css?family=Nunito:400,700);.btn-super-parant[data-v-002ef1c4]{display:flex;justify-content:center;align-items:center;position:absolute;bottom:55px;width:100%;height:60px;z-index:-1}input[data-v-002ef1c4]{display:none}.btn-containrt_foreground[data-v-002ef1c4]{direction:ltr;display:flex;align-items:flex-end;width:80%;height:60px;background:var(--color-foreground)}.btn-containrt[data-v-002ef1c4]{direction:ltr;display:flex;justify-content:space-around;background-color:#fff;width:100%;height:55px}.active-label[data-v-002ef1c4]{width:45px;height:45px;border-radius:40%;display:flex;justify-content:center;align-items:center;transition:all .3s ease;top:10px;background:#fff!important;color:rgba(0,0,0,.54)}.btn-title[data-v-002ef1c4]{color:rgba(0,0,0,.6);font-size:12px;text-align:center}.btn-badge[data-v-002ef1c4]{width:18px;height:18px;display:flex;align-items:center;justify-content:center;position:absolute;top:0;left:25px;border-radius:50%;font-size:12px;color:#fff;background:var(--color-badge)}.checked .active-label[data-v-002ef1c4]{transform:translateY(-10px);border-color:#d1d9e6!important;border-radius:15px;box-shadow:2px 2px 4px #b8b9be,-2px -2px 4px #fff}.checked .btn-title[data-v-002ef1c4]{animation:fadein-002ef1c4 .2s;top:50px}.unchecked .active-label[data-v-002ef1c4]{background:transparent}.unchecked .btn-title[data-v-002ef1c4]{visibility:hidden}@media screen and (min-width:576px){.labels[data-v-002ef1c4]{cursor:pointer}}@keyframes fadein-002ef1c4{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}body{font-family:Nunito,sans-serif}.player-wrapper{align-items:center;background-color:#fff;background-image:linear-gradient(90deg,#fff,#e0e0e0);display:flex;justify-content:center}.player{background-color:#fff;border:1px solid #e0e0e0;border-radius:5px;color:#404040;display:inline-block;width:100%}.player-controls{display:flex}.player-controls>div{border-right:1px solid #e0e0e0}.player-controls>div:last-child{border-right:none}.player-controls>div a{color:#404040;display:block;text-decoration:none}.player-progress{background-color:#e0e0e0;cursor:pointer;height:50%;min-width:200px;position:relative}.player-progress .player-seeker{background-color:#404040;bottom:0;left:0;position:absolute;top:0}.player-time{display:flex;justify-content:space-between}.player-time .player-time-current{font-weight:700;padding-left:5px}.player-time .player-time-total{opacity:.5;padding-right:5px}
static/css/chunk-vendors.fb399296.css ADDED
The diff for this file is too large to render. See raw diff
 
static/image/espnet-logo.png ADDED
static/image/github-mark.png ADDED
static/image/speech-to-text.png ADDED
static/image/text-to-speech.png ADDED
static/js/app.43257a9d.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ (function(){"use strict";var t={1013:function(t,e,a){var s=a(144),n=a(1096),i=a(3551),o=function(){var t=this,e=t._self._c;return e(n.Z,[e(i.Z,[e("DemoHeader"),e("EspnetOnnxDemo"),e("DemoFooter")],1)],1)},l=[],r=a(3058),c=a(4437),u=a(6035),d=a(5294),h=a(5234),m=function(){var t=this,e=t._self._c;return e(u.Z,[e(r.Z,{staticClass:"mt-4",attrs:{flat:""}},[e(d.Z,[e(c.Z,{attrs:{cols:"3"}},[e("a",{attrs:{href:"https://github.com/espnet/espnet"}},[e("img",{attrs:{src:"/static/image/espnet-logo.png",width:"100%"}})])]),e(h.Z),e(c.Z,{staticStyle:{"text-align":"right"},attrs:{cols:"1"}},[e("a",{attrs:{href:"https://github.com/espnet/espnet_onnx"}},[e("img",{attrs:{src:"/static/image/github-mark.png",width:"100%"}})])])],1)],1)],1)},p=[],v={name:"DemoHeader",data:()=>({hoverFlag:!1}),methods:{hover(){this.hoverFlag=!0},out(){this.hoverFlag=!1}}},g=v,f=a(1001),_=(0,f.Z)(g,m,p,!1,null,null,null),y=_.exports,Z=a(2537),S=function(){var t=this,e=t._self._c;return e(u.Z,[e(Z.Z,{attrs:{padless:"",absolute:""}},[e(d.Z,{attrs:{justify:"center","no-gutters":""}},[e(c.Z,{staticClass:"py-4 text-center",attrs:{color:"#BFBFBF",cols:"12"}},[t._v(" "+t._s((new Date).getFullYear())+" — "),e("strong",[t._v("ESPnet-ONNX")])])],1)],1)],1)},b=[],x={name:"DemoFooter"},w=x,C=(0,f.Z)(w,S,b,!1,null,null,null),k=C.exports,T=a(5223),A=function(){var t=this,e=t._self._c;return e(u.Z,[e(r.Z,{attrs:{flat:""}},[e(T.EB,[e("span",{staticClass:"text-h3"},[t._v("ESPnet-ONNX demo")])]),e(T.ZB,{staticClass:"body-1"},[t._v(" This is a demonstration space of ESPnet-ONNX project. Please select ASR or TTS to play! ")])],1),e("MenuBar",{staticClass:"mt-6 mx-auto",attrs:{options:t.options},on:{select:t.menuChanged},model:{value:t.selected,callback:function(e){t.selected=e},expression:"selected"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:"ASR"==t.menuSelected,expression:"menuSelected == 'ASR'"}]},[e("ASRDemoSheet",{staticClass:"mt-3"})],1),e("div",{directives:[{name:"show",rawName:"v-show",value:"TTS"==t.menuSelected,expression:"menuSelected == 'TTS'"}]},[e("TTSDemoSheet",{staticClass:"mt-3"})],1)],1)},O=[],F=a(5057),j=function(){var t=this,e=t._self._c;return e("div",{staticClass:"btn-containrt_foreground",style:t.cssVariables},[e("div",{staticClass:"btn-containrt"},t._l(t.localOptions,(function(a,s){return e("div",{key:`menu-label-${s}`,class:{[`btn-item-${s} labels`]:!0,["checked"]:a.isActive,["unchecked"]:!a.isActive},on:{click:function(e){return t.handleLabelClick(a)}}},[e("div",{staticClass:"active-label"},[a.badge?e("div",{staticClass:"btn-badge"},[t._v(" "+t._s(a.badge)+" ")]):t._e(),t.hasSlot("icon")?t._t("icon",null,{props:a}):[e(F.Z,[t._v(" "+t._s(a.icon)+" ")])]],2),e("div",{staticClass:"btn-title"},[t.hasSlot("title")?t._t("title",null,{props:a}):[t._v(" "+t._s(a.title)+" ")]],2)])})),0)])},D=[],L={model:{prop:"value",event:"update"},props:{value:{default:null},options:{type:Array,default:()=>[]},badgeColor:{type:String,default:"#FBC02D"}},data:()=>({localOptions:[],showable:!1}),created(){this.localOptions=this.options.map((t=>({...t,isActive:this.isActive(t)})))},computed:{cssVariables(){return{"--color-badge":this.badgeColor}},hasActiveClass(){return this.localOptions.some((t=>t.isActive))}},methods:{handleLabelClick(t){this.showable||this.toggleClass(),this.updateValue(t.id),this.$emit("select",t.title)},updateValue(t){this.localOptions.forEach((e=>e.isActive=this.isActive(e,t))),this.$emit("update",t)},toggleClass(){this.showable=!this.showable},isActive(t,e=this.value){return t.id==e||(t.childs||[]).find((t=>t.id==e))},hasSlot(t){return this.$slots[t]||this.$scopedSlots[t]}}},P=L,R=(0,f.Z)(P,j,D,!1,null,"002ef1c4",null),M=R.exports,E=a(1828),N=a(271),B=a(3224),I=a(9868),V=a(4397),$=a(5617),X=function(){var t=this,e=t._self._c;return e(u.Z,[e(I.Z,{staticClass:"mt-6 mx-3"},[e(d.Z,[e(c.Z,{staticClass:"py-auto",staticStyle:{"text-align":"center"},attrs:{cols:"3",height:"100%"}},[e("span",{staticClass:"text-h6"},[t._v(" Select model ")])]),e(c.Z,{attrs:{cols:"7"}},[e(B.Z,{attrs:{items:t.models,dense:""},model:{value:t.model,callback:function(e){t.model=e},expression:"model"}})],1),e(c.Z,{attrs:{cols:"2"}},[e(E.Z,{attrs:{outlined:"",width:"100%",loading:t.loadingFlag},on:{click:t.loadModel}},[t._v(" Load ")])],1)],1),e(d.Z,[e(c.Z,{staticClass:"py-auto",staticStyle:{"text-align":"center"},attrs:{cols:"3",height:"100%"}},[e("span",{staticClass:"text-h6"},[t._v(" Upload audio ")])]),e(c.Z,{attrs:{cols:"7"}},[e(N.Z,{attrs:{label:"Select your audio file","prepend-icon":"mdi-waveform",dense:"","show-size":"",accept:"audio/*"}})],1),e(c.Z,{attrs:{cols:"2"}},[e(E.Z,{attrs:{outlined:"",width:"100%",loading:t.ASRLoadingFlag},on:{click:t.runModel}},[t._v(" Run ")])],1)],1),e(d.Z,[e(c.Z,{staticClass:"py-auto",staticStyle:{"text-align":"center"},attrs:{cols:"3",height:"100%"}},[e("span",{staticClass:"text-h6"},[t._v(" Text ")])]),e(c.Z,{attrs:{cols:"9"}},[e($.Z,{attrs:{dense:"",readonly:""},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})],1)],1),e(d.Z,{staticClass:"mt-6"},[e(c.Z,{staticClass:"py-auto",staticStyle:{"text-align":"center"},attrs:{cols:"3",height:"100%"}},[e("span",{staticClass:"text-h6"},[t._v(" Model Detail ")])]),e(c.Z,{attrs:{cols:"9"}},[e(r.Z,{attrs:{flat:""}},[e(V.Z,[e("tbody",t._l(t.modelInfo[t.model],(function(a){return e("tr",{key:a.name},[e("td",[t._v(t._s(a.name))]),e("td",[t._v(t._s(a.value))])])})),0)])],1)],1)],1)],1)],1)},H=[],W={name:"ASRDemoSheet",data:()=>({model:"",models:["kamo-naoyuki/mini_an4_asr_train_raw_bpe_valid.acc.best","Shinji Watanabe/librispeech_asr_train_asr_transformer_e18_raw_bpe_sp_valid.acc.best","kamo-naoyuki/wsj"],modelInfo:{"kamo-naoyuki/mini_an4_asr_train_raw_bpe_valid.acc.best":[{name:"url",value:"https://huggingface.co/espnet/kamo-naoyuki-mini_an4_asr_train_raw_bpe_valid.acc.best"},{name:"encoder",value:"Conformer"},{name:"decoder",value:"Transformer"}],"Shinji Watanabe/librispeech_asr_train_asr_transformer_e18_raw_bpe_sp_valid.acc.best":[{name:"url",value:"https://huggingface.co/espnet/shinji-watanabe-librispeech_asr_train_asr_transformer_e18_raw_bpe_sp_valid.acc.best"},{name:"encoder",value:"Transformer"},{name:"decoder",value:"Transformer"}],"kamo-naoyuki/wsj":[{name:"url",value:"https://huggingface.co/espnet/kamo-naoyuki_wsj"},{name:"encoder",value:"Transformer"},{name:"decoder",value:"Transformer"}]},loadingFlag:!1,text:"",ASRLoadingFlag:!1}),methods:{loadModel(){this.loadingFlag=!0},runModel(){this.ASRLoadingFlag=!0}}},q=W,z=(0,f.Z)(q,X,H,!1,null,null,null),G=z.exports,U=function(){var t=this,e=t._self._c;return e(u.Z,[e(I.Z,{staticClass:"mt-6 mx-3"},[e(d.Z,[e(c.Z,{staticClass:"py-auto",staticStyle:{"text-align":"center"},attrs:{cols:"3",height:"100%"}},[e("span",{staticClass:"text-h6"},[t._v(" Select model ")])]),e(c.Z,{attrs:{cols:"7"}},[e(B.Z,{attrs:{items:t.models,dense:""},model:{value:t.model,callback:function(e){t.model=e},expression:"model"}})],1),e(c.Z,{attrs:{cols:"2"}},[e(E.Z,{attrs:{outlined:"",width:"100%",loading:t.loadingFlag},on:{click:t.loadModel}},[t._v(" Load ")])],1)],1),e(d.Z,[e(c.Z,{staticClass:"py-auto",staticStyle:{"text-align":"center"},attrs:{cols:"3",height:"100%"}},[e("span",{staticClass:"text-h6"},[t._v(" Write text ")])]),e(c.Z,{attrs:{cols:"9"}},[e($.Z,{attrs:{dense:"",clearable:"",rows:"2",counter:"",rules:t.textLengthRules},model:{value:t.text,callback:function(e){t.text=e},expression:"text"}})],1)],1),e(d.Z,[e(c.Z,{staticClass:"py-auto",staticStyle:{"text-align":"center"},attrs:{cols:"3",height:"100%"}},[e("span",{staticClass:"text-h6"},[t._v(" Generated audio ")])]),e(c.Z,{attrs:{cols:"9"}},[e("AudioPlayer")],1)],1),e(d.Z,{staticClass:"mt-6"},[e(c.Z,{staticClass:"py-auto",staticStyle:{"text-align":"center"},attrs:{cols:"3",height:"100%"}},[e("span",{staticClass:"text-h6"},[t._v(" Model Detail ")])]),e(c.Z,{attrs:{cols:"9"}},[e(r.Z,{attrs:{flat:""}},[e(V.Z,[e("tbody",t._l(t.modelInfo[t.model],(function(a){return e("tr",{key:a.name},[e("td",[t._v(t._s(a.name))]),e("td",[t._v(t._s(a.value))])])})),0)])],1)],1)],1)],1)],1)},Y=[],J=a(2059),K=function(){var t=this,e=t._self._c;return e("div",{staticClass:"player"},[e(d.Z,{staticClass:"player-controls ma-0"},[e(c.Z,{staticClass:"pa-2",staticStyle:{"text-align":"center"},attrs:{cols:"1",title:"Stop"}},[e(E.Z,{attrs:{icon:""},on:{click:t.stop}},[e(F.Z,[t._v("mdi-stop")])],1)],1),e(c.Z,{staticClass:"pa-2",staticStyle:{"text-align":"center"},attrs:{cols:"1",title:"Play/Pause"}},[e(E.Z,{attrs:{icon:""},on:{click:function(e){t.playing=!t.playing}}},[e(F.Z,{directives:[{name:"show",rawName:"v-show",value:t.playing,expression:"playing"}]},[t._v("mdi-play")]),e(F.Z,{directives:[{name:"show",rawName:"v-show",value:!t.playing,expression:"!playing"}]},[t._v("mdi-pause")])],1)],1),e(c.Z,{staticClass:"pa-0",attrs:{cols:"6"}},[e("div",{staticClass:"player-progress",attrs:{title:"Time played : Total time"},on:{click:t.seek}},[e("div",{staticClass:"player-seeker",style:{width:this.percentComplete+"%"}})]),e("div",{staticClass:"player-time"},[e("div",{staticClass:"player-time-current"},[t._v(t._s(t.currentTime))]),e("div",{staticClass:"player-time-total"},[t._v(t._s(t.durationTime))])])]),e(c.Z,{staticClass:"pa-2",staticStyle:{"text-align":"center"},attrs:{cols:"4"}},[e(J.Z,{attrs:{"prepend-icon":"mdi-volume-high",max:"100",width:"100%",dense:"","hide-details":"auto"},model:{value:t.volume,callback:function(e){t.volume=e},expression:"volume"}})],1)],1),e("audio",{ref:"audiofile",staticStyle:{display:"none"},attrs:{loop:t.innerLoop,src:t.file,preload:"auto"}})],1)},Q=[];const tt=t=>{let e=new Date(1e3*t).toISOString().substr(11,8);return 0===e.indexOf("00:")?e.substr(3):e};var et={name:"ASRDemoSheet",props:{file:{type:String,default:null},autoPlay:{type:Boolean,default:!1},loop:{type:Boolean,default:!1}},data:()=>({audio:void 0,currentSeconds:0,durationSeconds:0,innerLoop:!1,loaded:!1,playing:!1,previousVolume:35,showVolume:!1,volume:100}),computed:{currentTime(){return tt(this.currentSeconds)},durationTime(){return tt(this.durationSeconds)},percentComplete(){return parseInt(this.currentSeconds/this.durationSeconds*100)},muted(){return this.volume/100===0}},watch:{playing(t){if(t)return this.audio.play();this.audio.pause()},volume(){this.showVolume=!1,this.audio.volume=this.volume/100}},methods:{download(){this.stop(),window.open(this.file,"download")},load(){if(this.audio.readyState>=2)return this.loaded=!0,this.durationSeconds=parseInt(this.audio.duration),this.playing=this.autoPlay;throw new Error("Failed to load sound file.")},mute(){if(this.muted)return this.volume=this.previousVolume;this.previousVolume=this.volume,this.volume=0},seek(t){if(!this.playing||"SPAN"===t.target.tagName)return;const e=t.target.getBoundingClientRect(),a=(t.clientX-e.left)/e.width;this.audio.currentTime=parseInt(this.audio.duration*a)},stop(){this.playing=!1,this.audio.currentTime=0},update(){this.currentSeconds=parseInt(this.audio.currentTime)}},created(){this.innerLoop=this.loop},mounted(){this.audio=this.$el.querySelectorAll("audio")[0],this.audio.addEventListener("timeupdate",this.update),this.audio.addEventListener("loadeddata",this.load),this.audio.addEventListener("pause",(()=>{this.playing=!1})),this.audio.addEventListener("play",(()=>{this.playing=!0}))}},at=et,st=(0,f.Z)(at,K,Q,!1,null,null,null),nt=st.exports,it={name:"ASRDemoSheet",components:{AudioPlayer:nt},data:()=>({model:"",models:["espnet/kan-bayashi_ljspeech_vits","julien-c/kan-bayashi_csmsc_tacotron2"],modelInfo:{"espnet/kan-bayashi_ljspeech_vits":[{name:"url",value:"https://huggingface.co/espnet/kan-bayashi_ljspeech_vits"},{name:"model",value:"VITS"}],"julien-c/kan-bayashi_csmsc_tacotron2":[{name:"url",value:"https://huggingface.co/julien-c/kan-bayashi_csmsc_tacotron2"},{name:"model",value:"Tacotron2"}]},counter:{max:20},loadingFlag:!1,text:"",TTSLoadingFlag:!1,textLengthRules:[t=>t.length<=100||"Maximum 100 characters allowed"]}),methods:{loadModel(){this.loadingFlag=!0},runModel(){this.ASRLoadingFlag=!0}}},ot=it,lt=(0,f.Z)(ot,U,Y,!1,null,null,null),rt=lt.exports,ct={name:"EspnetOnnxDemo",components:{MenuBar:M,ASRDemoSheet:G,TTSDemoSheet:rt},data:()=>({selected:1,options:[{id:1,icon:"mdi-microphone-message",title:"ASR"},{id:2,icon:"mdi-speaker-message",title:"TTS"}],menuSelected:"ASR"}),methods:{menuChanged:function(t){this.menuSelected!=t&&(this.menuSelected=t)}}},ut=ct,dt=(0,f.Z)(ut,A,O,!1,null,null,null),ht=dt.exports,mt={name:"App",components:{DemoHeader:y,DemoFooter:k,EspnetOnnxDemo:ht}},pt=mt,vt=(0,f.Z)(pt,o,l,!1,null,null,null),gt=vt.exports,ft=a(2250);s.ZP.use(ft.Z);var _t=new ft.Z({});s.ZP.config.productionTip=!1,new s.ZP({vuetify:_t,render:t=>t(gt)}).$mount("#app")}},e={};function a(s){var n=e[s];if(void 0!==n)return n.exports;var i=e[s]={exports:{}};return t[s](i,i.exports,a),i.exports}a.m=t,function(){var t=[];a.O=function(e,s,n,i){if(!s){var o=1/0;for(u=0;u<t.length;u++){s=t[u][0],n=t[u][1],i=t[u][2];for(var l=!0,r=0;r<s.length;r++)(!1&i||o>=i)&&Object.keys(a.O).every((function(t){return a.O[t](s[r])}))?s.splice(r--,1):(l=!1,i<o&&(o=i));if(l){t.splice(u--,1);var c=n();void 0!==c&&(e=c)}}return e}i=i||0;for(var u=t.length;u>0&&t[u-1][2]>i;u--)t[u]=t[u-1];t[u]=[s,n,i]}}(),function(){a.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return a.d(e,{a:e}),e}}(),function(){a.d=function(t,e){for(var s in e)a.o(e,s)&&!a.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})}}(),function(){a.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"===typeof window)return window}}()}(),function(){a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)}}(),function(){a.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}}(),function(){var t={143:0};a.O.j=function(e){return 0===t[e]};var e=function(e,s){var n,i,o=s[0],l=s[1],r=s[2],c=0;if(o.some((function(e){return 0!==t[e]}))){for(n in l)a.o(l,n)&&(a.m[n]=l[n]);if(r)var u=r(a)}for(e&&e(s);c<o.length;c++)i=o[c],a.o(t,i)&&t[i]&&t[i][0](),t[i]=0;return a.O(u)},s=self["webpackChunkespnet_onnx_demo"]=self["webpackChunkespnet_onnx_demo"]||[];s.forEach(e.bind(null,0)),s.push=e.bind(null,s.push.bind(s))}();var s=a.O(void 0,[998],(function(){return a(1013)}));s=a.O(s)})();
2
+ //# sourceMappingURL=app.43257a9d.js.map
static/js/app.43257a9d.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"js/app.43257a9d.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/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\":\"/static/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\":\"/static/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=\"/static/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=\"/static/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=2372b859&\"\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('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(\" Select model \")])]),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('v-select',{attrs:{\"items\":_vm.models,\"dense\":\"\"},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(\" Upload audio \")])]),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('v-file-input',{attrs:{\"label\":\"Select your audio file\",\"prepend-icon\":\"mdi-waveform\",\"dense\":\"\",\"show-size\":\"\",\"accept\":\"audio/*\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{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(\" 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)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<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 v-model=\"model\" :items=\"models\" dense></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\"> Upload audio </span></v-col\n >\n <v-col cols=\"7\">\n <v-file-input\n label=\"Select your audio file\"\n prepend-icon=\"mdi-waveform\"\n dense\n show-size\n accept=\"audio/*\"\n ></v-file-input>\n </v-col>\n <v-col cols=\"2\">\n <v-btn\n @click=\"runModel\"\n outlined\n width=\"100%\"\n :loading=\"ASRLoadingFlag\"\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\"> 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-container>\n</template>\n<script>\nexport default {\n name: \"ASRDemoSheet\",\n data: () => ({\n model: \"\",\n models: [\n \"kamo-naoyuki/mini_an4_asr_train_raw_bpe_valid.acc.best\",\n \"Shinji Watanabe/librispeech_asr_train_asr_transformer_e18_raw_bpe_sp_valid.acc.best\",\n \"kamo-naoyuki/wsj\",\n ],\n modelInfo: {\n \"kamo-naoyuki/mini_an4_asr_train_raw_bpe_valid.acc.best\": [\n {\n name: \"url\",\n value:\n \"https://huggingface.co/espnet/kamo-naoyuki-mini_an4_asr_train_raw_bpe_valid.acc.best\",\n },\n {\n name: \"encoder\",\n value: \"Conformer\",\n },\n {\n name: \"decoder\",\n value: \"Transformer\",\n },\n ],\n \"Shinji Watanabe/librispeech_asr_train_asr_transformer_e18_raw_bpe_sp_valid.acc.best\":\n [\n {\n name: \"url\",\n value:\n \"https://huggingface.co/espnet/shinji-watanabe-librispeech_asr_train_asr_transformer_e18_raw_bpe_sp_valid.acc.best\",\n },\n {\n name: \"encoder\",\n value: \"Transformer\",\n },\n {\n name: \"decoder\",\n value: \"Transformer\",\n },\n ],\n \"kamo-naoyuki/wsj\": [\n {\n name: \"url\",\n value: \"https://huggingface.co/espnet/kamo-naoyuki_wsj\",\n },\n {\n name: \"encoder\",\n value: \"Transformer\",\n },\n {\n name: \"decoder\",\n value: \"Transformer\",\n },\n ],\n },\n loadingFlag: false,\n text: \"\",\n ASRLoadingFlag: false,\n }),\n methods: {\n loadModel() {\n this.loadingFlag = true;\n // axios\n // .get(this.modelInfo[this.model][0].value)\n // .then((response) => {\n // this.modelInfo[this.model][0].value = response.data.url;\n // this.modelInfo[this.model][1].value = response.data.encoder;\n // this.modelInfo[this.model][2].value = response.data.decoder;\n // this.loadingFlag = false;\n // })\n // .catch((error) => {\n // this.loadingFlag = false;\n // console.log(error);\n // });\n },\n runModel() {\n this.ASRLoadingFlag = true;\n // axios\n // .post(this.modelInfo[this.model][0].value, {\n // text: this.text,\n // })\n // .then((response) => {\n // this.ASRLoadingFlag = false;\n // })\n // .catch((error) => {\n // this.ASRLoadingFlag = false;\n // console.log(error);\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!./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=da574348&\"\nimport script from \"./ASRDemoSheet.vue?vue&type=script&lang=js&\"\nexport * from \"./ASRDemoSheet.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-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\":\"\"},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\":\"9\"}},[_c('v-textarea',{attrs:{\"dense\":\"\",\"clearable\":\"\",\"rows\":\"2\",\"counter\":\"\",\"rules\":_vm.textLengthRules},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],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')],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)],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),_c('audio',{ref:\"audiofile\",staticStyle:{\"display\":\"none\"},attrs:{\"loop\":_vm.innerLoop,\"src\":_vm.file,\"preload\":\"auto\"}})],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 <audio\n :loop=\"innerLoop\"\n ref=\"audiofile\"\n :src=\"file\"\n preload=\"auto\"\n style=\"display: none\"\n ></audio>\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 },\n created() {\n this.innerLoop = this.loop;\n },\n mounted() {\n this.audio = this.$el.querySelectorAll(\"audio\")[0];\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 },\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=b23bd3f6&\"\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=b23bd3f6&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 v-model=\"model\" :items=\"models\" dense></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=\"9\">\n <v-textarea v-model=\"text\" dense\n clearable\n rows=\"2\"\n counter\n v-bind:rules=\"textLengthRules\">\n </v-textarea>\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></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-container>\n</template>\n<script>\nimport AudioPlayer from './AudioPalyer.vue'\n\nexport default {\n name: \"ASRDemoSheet\",\n components: {\n AudioPlayer\n },\n data: () => ({\n model: \"\",\n models: [\n \"espnet/kan-bayashi_ljspeech_vits\",\n \"julien-c/kan-bayashi_csmsc_tacotron2\",\n ],\n modelInfo: {\n \"espnet/kan-bayashi_ljspeech_vits\": [\n {\n name: \"url\",\n value:\n \"https://huggingface.co/espnet/kan-bayashi_ljspeech_vits\",\n },\n {\n name: \"model\",\n value: \"VITS\",\n },\n ],\n \"julien-c/kan-bayashi_csmsc_tacotron2\":\n [\n {\n name: \"url\",\n value:\n \"https://huggingface.co/julien-c/kan-bayashi_csmsc_tacotron2\",\n },\n {\n name: \"model\",\n value: \"Tacotron2\",\n },\n ],\n },\n counter: {\n max: 20\n\n },\n loadingFlag: false,\n text: \"\",\n TTSLoadingFlag: false,\n textLengthRules: [\n text => text.length <= 100 || 'Maximum 100 characters allowed',\n ]\n }),\n methods: {\n loadModel() {\n this.loadingFlag = true;\n // axios\n // .get(this.modelInfo[this.model][0].value)\n // .then((response) => {\n // this.modelInfo[this.model][0].value = response.data.url;\n // this.modelInfo[this.model][1].value = response.data.encoder;\n // this.modelInfo[this.model][2].value = response.data.decoder;\n // this.loadingFlag = false;\n // })\n // .catch((error) => {\n // this.loadingFlag = false;\n // console.log(error);\n // });\n },\n runModel() {\n this.ASRLoadingFlag = true;\n // axios\n // .post(this.modelInfo[this.model][0].value, {\n // text: this.text,\n // })\n // .then((response) => {\n // this.ASRLoadingFlag = false;\n // })\n // .catch((error) => {\n // this.ASRLoadingFlag = false;\n // console.log(error);\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!./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=7454ac1e&\"\nimport script from \"./TTSDemoSheet.vue?vue&type=script&lang=js&\"\nexport * from \"./TTSDemoSheet.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-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 <div v-show=\"menuSelected == 'ASR'\">\n <ASRDemoSheet\n class=\"mt-3\"\n ></ASRDemoSheet>\n </div>\n <div v-show=\"menuSelected == 'TTS'\">\n <TTSDemoSheet\n class=\"mt-3\"\n ></TTSDemoSheet>\n </div>\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=5bd1785f&\"\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'\n\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__(1013); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["staticRenderFns","render","_c","staticStyle","attrs","name","data","hoverFlag","methods","hover","out","component","staticClass","_v","options","on","_vm","model","callback","selected","expression","directives","rawName","menuSelected","_self","cssVariables","_l","localOptions","index","isActive","button","badge","_s","icon","hasSlot","title","prop","event","props","value","default","type","Array","badgeColor","String","showable","created","map","option","computed","hasActiveClass","some","handleLabelClick","toggleClass","updateValue","id","$emit","forEach","childs","find","child","slotName","$slots","$scopedSlots","loadModel","runModel","text","$$v","models","modelInfo","loadingFlag","ASRLoadingFlag","textLengthRules","key","item","playing","width","volume","ref","innerLoop","convertTimeHHMMSS","val","hhmmss","Date","toISOString","substr","indexOf","file","autoPlay","Boolean","loop","audio","undefined","currentSeconds","durationSeconds","loaded","previousVolume","showVolume","currentTime","durationTime","percentComplete","parseInt","muted","watch","play","pause","download","stop","window","open","load","readyState","duration","Error","mute","seek","e","target","tagName","el","getBoundingClientRect","seekPos","clientX","left","update","mounted","$el","querySelectorAll","addEventListener","components","AudioPlayer","counter","max","TTSLoadingFlag","length","MenuBar","ASRDemoSheet","TTSDemoSheet","menuChanged","DemoHeader","DemoFooter","EspnetOnnxDemo","Vue","Vuetify","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","Object","keys","every","splice","r","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":""}
static/js/chunk-vendors.0e52ce4b.js ADDED
The diff for this file is too large to render. See raw diff
 
static/js/chunk-vendors.0e52ce4b.js.map ADDED
The diff for this file is too large to render. See raw diff
 
template/index.html ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+ <title>espnet_onnx_demo</title>
9
+ <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
10
+ <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css">
11
+ <script defer="defer" src="/static/js/chunk-vendors.0e52ce4b.js"></script>
12
+ <script defer="defer" src="/static/js/app.43257a9d.js"></script>
13
+ <link href="/static/css/chunk-vendors.fb399296.css" rel="stylesheet">
14
+ <link href="/static/css/app.539b8905.css" rel="stylesheet">
15
+ </head>
16
+
17
+ <body><noscript><strong>We're sorry but espnet_onnx_demo doesn't work properly without JavaScript enabled. Please enable
18
+ it to continue.</strong></noscript>
19
+ <div id="app"></div>
20
+ </body>
21
+
22
+ </html>