ipyaudio 0.1.22__py3-none-any.whl → 0.1.24__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. ipyaudio/_version.py +1 -1
  2. ipyaudio/labextension/install.json +5 -0
  3. ipyaudio/labextension/package.json +1 -1
  4. ipyaudio/labextension/static/remoteEntry.be45454fad38fcb60bb9.js +1 -0
  5. ipyaudio/player.py +2 -0
  6. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/package.json +1 -1
  7. ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/remoteEntry.be45454fad38fcb60bb9.js +1 -0
  8. {ipyaudio-0.1.22.dist-info → ipyaudio-0.1.24.dist-info}/METADATA +44 -4
  9. {ipyaudio-0.1.22.dist-info → ipyaudio-0.1.24.dist-info}/RECORD +27 -23
  10. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/etc/jupyter/nbconfig/notebook.d/ipyaudio.json +0 -0
  11. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/install.json +0 -0
  12. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/static/122.3700f0454aee82938e32.js +0 -0
  13. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/static/270.783a4728ca957ffe8716.js +0 -0
  14. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/static/509.a9d6860fe38ae60aa71f.js +0 -0
  15. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/static/570.97f2a8196b7f1703e636.js +0 -0
  16. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/static/570.97f2a8196b7f1703e636.js.LICENSE.txt +0 -0
  17. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/static/627.315cb148cc156382df50.js +0 -0
  18. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/static/627.315cb148cc156382df50.js.LICENSE.txt +0 -0
  19. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/static/style.js +0 -0
  20. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/labextensions/ipyaudio/static/third-party-licenses.json +0 -0
  21. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/nbextensions/ipyaudio/extension.js +0 -0
  22. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/nbextensions/ipyaudio/index.js +0 -0
  23. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/nbextensions/ipyaudio/index.js.LICENSE.txt +0 -0
  24. {ipyaudio-0.1.22.data → ipyaudio-0.1.24.data}/data/share/jupyter/nbextensions/ipyaudio/index.js.map +0 -0
  25. {ipyaudio-0.1.22.dist-info → ipyaudio-0.1.24.dist-info}/WHEEL +0 -0
  26. {ipyaudio-0.1.22.dist-info → ipyaudio-0.1.24.dist-info}/licenses/LICENSE.txt +0 -0
ipyaudio/_version.py CHANGED
@@ -4,5 +4,5 @@
4
4
  # Copyright (c) Zhendong Peng.
5
5
  # Distributed under the terms of the Modified BSD License.
6
6
 
7
- __version__ = "0.1.22"
7
+ __version__ = "0.1.24"
8
8
  version_info = list(map(int, __version__.split(".")))
@@ -0,0 +1,5 @@
1
+ {
2
+ "packageManager": "python",
3
+ "packageName": "ipyaudio",
4
+ "uninstallInstructions": "Use your Python package manager (pip, conda, etc.) to uninstall the package ipyaudio"
5
+ }
@@ -101,7 +101,7 @@
101
101
  }
102
102
  },
103
103
  "_build": {
104
- "load": "static",
104
+ "load": "static/remoteEntry.be45454fad38fcb60bb9.js",
105
105
  "extension": "./extension"
106
106
  }
107
107
  }
@@ -0,0 +1 @@
1
+ var _JUPYTERLAB;(()=>{"use strict";var e,r,t,o,n,a,i,u,l,s,d,f,c,p,h,v,b,m,g,y,w,S,P,j={8873:(e,r,t)=>{var o={"./index":()=>Promise.all([t.e(627),t.e(270),t.e(509)]).then((()=>()=>t(8509))),"./extension":()=>Promise.all([t.e(627),t.e(270),t.e(122)]).then((()=>()=>t(4122)))},n=(e,r)=>(t.R=r,r=t.o(o,e)?o[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var o="default",n=t.S[o];if(n&&n!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[o]=e,t.I(o,r)}};t.d(r,{get:()=>n,init:()=>a})}},E={};function k(e){var r=E[e];if(void 0!==r)return r.exports;var t=E[e]={id:e,loaded:!1,exports:{}};return j[e].call(t.exports,t,t.exports,k),t.loaded=!0,t.exports}k.m=j,k.c=E,k.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return k.d(r,{a:r}),r},k.d=(e,r)=>{for(var t in r)k.o(r,t)&&!k.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},k.f={},k.e=e=>Promise.all(Object.keys(k.f).reduce(((r,t)=>(k.f[t](e,r),r)),[])),k.u=e=>e+"."+{122:"3700f0454aee82938e32",270:"783a4728ca957ffe8716",509:"a9d6860fe38ae60aa71f",570:"97f2a8196b7f1703e636",627:"315cb148cc156382df50"}[e]+".js?v="+{122:"3700f0454aee82938e32",270:"783a4728ca957ffe8716",509:"a9d6860fe38ae60aa71f",570:"97f2a8196b7f1703e636",627:"315cb148cc156382df50"}[e],k.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),k.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="ipyaudio:",k.l=(t,o,n,a)=>{if(e[t])e[t].push(o);else{var i,u;if(void 0!==n)for(var l=document.getElementsByTagName("script"),s=0;s<l.length;s++){var d=l[s];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==r+n){i=d;break}}i||(u=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,k.nc&&i.setAttribute("nonce",k.nc),i.setAttribute("data-webpack",r+n),i.src=t),e[t]=[o];var f=(r,o)=>{i.onerror=i.onload=null,clearTimeout(c);var n=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),r)return r(o)},c=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),u&&document.head.appendChild(i)}},k.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},k.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{k.S={};var e={},r={};k.I=(t,o)=>{o||(o=[]);var n=r[t];if(n||(n=r[t]={}),!(o.indexOf(n)>=0)){if(o.push(n),e[t])return e[t];k.o(k.S,t)||(k.S[t]={});var a=k.S[t],i="ipyaudio",u=(e,r,t,o)=>{var n=a[e]=a[e]||{},u=n[r];(!u||!u.loaded&&(!o!=!u.eager?o:i>u.from))&&(n[r]={get:t,from:i,eager:!!o})},l=[];return"default"===t&&(u("ipyaudio","0.1.19",(()=>Promise.all([k.e(627),k.e(270),k.e(509)]).then((()=>()=>k(8509))))),u("jupyter-dataserializers","3.0.1",(()=>Promise.all([k.e(570),k.e(413)]).then((()=>()=>k(7189)))))),e[t]=l.length?Promise.all(l).then((()=>e[t]=1)):1}}})(),(()=>{var e;k.g.importScripts&&(e=k.g.location+"");var r=k.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),k.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),o=t[1]?r(t[1]):[];return t[2]&&(o.length++,o.push.apply(o,r(t[2]))),t[3]&&(o.push([]),o.push.apply(o,r(t[3]))),o},o=(e,r)=>{e=t(e),r=t(r);for(var o=0;;){if(o>=e.length)return o<r.length&&"u"!=(typeof r[o])[0];var n=e[o],a=(typeof n)[0];if(o>=r.length)return"u"==a;var i=r[o],u=(typeof i)[0];if(a!=u)return"o"==a&&"n"==u||"s"==u||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n<i;o++}},n=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var o=1,a=1;a<e.length;a++)o--,t+="u"==(typeof(u=e[a]))[0]?"-":(o>0?".":"")+(o=2,u);return t}var i=[];for(a=1;a<e.length;a++){var u=e[a];i.push(0===u?"not("+l()+")":1===u?"("+l()+" || "+l()+")":2===u?i.pop()+" "+i.pop():n(u))}return l();function l(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var o=e[0],n=o<0;n&&(o=-o-1);for(var i=0,u=1,l=!0;;u++,i++){var s,d,f=u<e.length?(typeof e[u])[0]:"";if(i>=r.length||"o"==(d=(typeof(s=r[i]))[0]))return!l||("u"==f?u>o&&!n:""==f!=n);if("u"==d){if(!l||"u"!=f)return!1}else if(l)if(f==d)if(u<=o){if(s!=e[u])return!1}else{if(n?s>e[u]:s<e[u])return!1;s!=e[u]&&(l=!1)}else if("s"!=f&&"n"!=f){if(n||u<=o)return!1;l=!1,u--}else{if(u<=o||d<f!=n)return!1;l=!1}else"s"!=f&&"n"!=f&&(l=!1,u--)}}var c=[],p=c.pop.bind(c);for(i=1;i<e.length;i++){var h=e[i];c.push(1==h?p()|p():2==h?p()&p():h?a(h,r):!p())}return!!p()},i=(e,r)=>e&&k.o(e,r),u=e=>(e.loaded=1,e.get()),l=e=>Object.keys(e).reduce(((r,t)=>(e[t].eager&&(r[t]=e[t]),r)),{}),s=(e,r,t,n)=>{var i=n?l(e[r]):e[r];return(r=Object.keys(i).reduce(((e,r)=>!a(t,r)||e&&!o(e,r)?e:r),0))&&i[r]},d=(e,r,t)=>{var n=t?l(e[r]):e[r];return Object.keys(n).reduce(((e,r)=>!e||!n[e].loaded&&o(e,r)?r:e),0)},f=(e,r,t,o)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+n(o)+")",c=(e,r,t,o,a)=>{var i=e[t];return"No satisfying version ("+n(o)+")"+(a?" for eager consumption":"")+" of shared module "+t+" found in shared scope "+r+".\nAvailable versions: "+Object.keys(i).map((e=>e+" from "+i[e].from)).join(", ")},p=e=>{throw new Error(e)},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},b=(e,r,t)=>t?t():((e,r)=>p("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),m=(v=e=>function(r,t,o,n,a){var i=k.I(r);return i&&i.then&&!o?i.then(e.bind(e,r,k.S[r],t,!1,n,a)):e(r,k.S[r],t,o,n,a)})(((e,r,t,o,n,a)=>{if(!i(r,t))return b(e,t,a);var l=s(r,t,n,o);return l?u(l):a?a():void p(c(r,e,t,n,o))})),g=v(((e,r,t,o,n,l)=>{if(!i(r,t))return b(e,t,l);var s=d(r,t,o);return a(n,s)||h(f(r,t,s,n)),u(r[t][s])})),y={},w={3459:()=>m("default","jupyter-dataserializers",!1,[1,3,0,1],(()=>Promise.all([k.e(570),k.e(413)]).then((()=>()=>k(7189))))),3983:()=>g("default","@jupyter-widgets/base",!1,[,[1,6],[1,5],[1,4],[1,3],[1,2],[1,1,1,10],1,1,1,1,1]),6413:()=>g("default","@jupyter-widgets/base",!1,[,[1,6,0,0],[1,5],[1,4],[1,3],[1,2],[1,1],1,1,1,1,1])},S={270:[3459,3983],413:[6413]},P={},k.f.consumes=(e,r)=>{k.o(S,e)&&S[e].forEach((e=>{if(k.o(y,e))return r.push(y[e]);if(!P[e]){var t=r=>{y[e]=0,k.m[e]=t=>{delete k.c[e],t.exports=r()}};P[e]=!0;var o=r=>{delete y[e],k.m[e]=t=>{throw delete k.c[e],r}};try{var n=w[e]();n.then?r.push(y[e]=n.then(t).catch(o)):t(n)}catch(e){o(e)}}}))},(()=>{k.b=document.baseURI||self.location.href;var e={873:0};k.f.j=(r,t)=>{var o=k.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else if(413!=r){var n=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=n);var a=k.p+k.u(r),i=new Error;k.l(a,(t=>{if(k.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}}),"chunk-"+r,r)}else e[r]=0};var r=(r,t)=>{var o,n,[a,i,u]=t,l=0;if(a.some((r=>0!==e[r]))){for(o in i)k.o(i,o)&&(k.m[o]=i[o]);u&&u(k)}for(r&&r(t);l<a.length;l++)n=a[l],k.o(e,n)&&e[n]&&e[n][0](),e[n]=0},t=self.webpackChunkipyaudio=self.webpackChunkipyaudio||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),k.nc=void 0;var T=k(8873);(_JUPYTERLAB=void 0===_JUPYTERLAB?{}:_JUPYTERLAB).ipyaudio=T})();
ipyaudio/player.py CHANGED
@@ -83,6 +83,8 @@ class Player(DOMWidget, ValueWidget):
83
83
  if self.duration > 0:
84
84
  self.performance["rtf"][1] = round(timer.elapsed() / self.duration, 2)
85
85
  self.html.value = table(self.performance)
86
+ if chunk.shape[0] > 1:
87
+ chunk = chunk.mean(axis=0, keepdims=True).astype(chunk.dtype)
86
88
  self.audio, self.rate = encode(chunk, rate, make_wav=False)
87
89
 
88
90
  async def async_encode(self, audio: AsyncGeneratorType, rate: int, timer: Timer):
@@ -101,7 +101,7 @@
101
101
  }
102
102
  },
103
103
  "_build": {
104
- "load": "static",
104
+ "load": "static/remoteEntry.be45454fad38fcb60bb9.js",
105
105
  "extension": "./extension"
106
106
  }
107
107
  }
@@ -0,0 +1 @@
1
+ var _JUPYTERLAB;(()=>{"use strict";var e,r,t,o,n,a,i,u,l,s,d,f,c,p,h,v,b,m,g,y,w,S,P,j={8873:(e,r,t)=>{var o={"./index":()=>Promise.all([t.e(627),t.e(270),t.e(509)]).then((()=>()=>t(8509))),"./extension":()=>Promise.all([t.e(627),t.e(270),t.e(122)]).then((()=>()=>t(4122)))},n=(e,r)=>(t.R=r,r=t.o(o,e)?o[e]():Promise.resolve().then((()=>{throw new Error('Module "'+e+'" does not exist in container.')})),t.R=void 0,r),a=(e,r)=>{if(t.S){var o="default",n=t.S[o];if(n&&n!==e)throw new Error("Container initialization failed as it has already been initialized with a different share scope");return t.S[o]=e,t.I(o,r)}};t.d(r,{get:()=>n,init:()=>a})}},E={};function k(e){var r=E[e];if(void 0!==r)return r.exports;var t=E[e]={id:e,loaded:!1,exports:{}};return j[e].call(t.exports,t,t.exports,k),t.loaded=!0,t.exports}k.m=j,k.c=E,k.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return k.d(r,{a:r}),r},k.d=(e,r)=>{for(var t in r)k.o(r,t)&&!k.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},k.f={},k.e=e=>Promise.all(Object.keys(k.f).reduce(((r,t)=>(k.f[t](e,r),r)),[])),k.u=e=>e+"."+{122:"3700f0454aee82938e32",270:"783a4728ca957ffe8716",509:"a9d6860fe38ae60aa71f",570:"97f2a8196b7f1703e636",627:"315cb148cc156382df50"}[e]+".js?v="+{122:"3700f0454aee82938e32",270:"783a4728ca957ffe8716",509:"a9d6860fe38ae60aa71f",570:"97f2a8196b7f1703e636",627:"315cb148cc156382df50"}[e],k.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),k.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),e={},r="ipyaudio:",k.l=(t,o,n,a)=>{if(e[t])e[t].push(o);else{var i,u;if(void 0!==n)for(var l=document.getElementsByTagName("script"),s=0;s<l.length;s++){var d=l[s];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==r+n){i=d;break}}i||(u=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,k.nc&&i.setAttribute("nonce",k.nc),i.setAttribute("data-webpack",r+n),i.src=t),e[t]=[o];var f=(r,o)=>{i.onerror=i.onload=null,clearTimeout(c);var n=e[t];if(delete e[t],i.parentNode&&i.parentNode.removeChild(i),n&&n.forEach((e=>e(o))),r)return r(o)},c=setTimeout(f.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=f.bind(null,i.onerror),i.onload=f.bind(null,i.onload),u&&document.head.appendChild(i)}},k.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},k.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{k.S={};var e={},r={};k.I=(t,o)=>{o||(o=[]);var n=r[t];if(n||(n=r[t]={}),!(o.indexOf(n)>=0)){if(o.push(n),e[t])return e[t];k.o(k.S,t)||(k.S[t]={});var a=k.S[t],i="ipyaudio",u=(e,r,t,o)=>{var n=a[e]=a[e]||{},u=n[r];(!u||!u.loaded&&(!o!=!u.eager?o:i>u.from))&&(n[r]={get:t,from:i,eager:!!o})},l=[];return"default"===t&&(u("ipyaudio","0.1.19",(()=>Promise.all([k.e(627),k.e(270),k.e(509)]).then((()=>()=>k(8509))))),u("jupyter-dataserializers","3.0.1",(()=>Promise.all([k.e(570),k.e(413)]).then((()=>()=>k(7189)))))),e[t]=l.length?Promise.all(l).then((()=>e[t]=1)):1}}})(),(()=>{var e;k.g.importScripts&&(e=k.g.location+"");var r=k.g.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),k.p=e})(),t=e=>{var r=e=>e.split(".").map((e=>+e==e?+e:e)),t=/^([^-+]+)?(?:-([^+]+))?(?:\+(.+))?$/.exec(e),o=t[1]?r(t[1]):[];return t[2]&&(o.length++,o.push.apply(o,r(t[2]))),t[3]&&(o.push([]),o.push.apply(o,r(t[3]))),o},o=(e,r)=>{e=t(e),r=t(r);for(var o=0;;){if(o>=e.length)return o<r.length&&"u"!=(typeof r[o])[0];var n=e[o],a=(typeof n)[0];if(o>=r.length)return"u"==a;var i=r[o],u=(typeof i)[0];if(a!=u)return"o"==a&&"n"==u||"s"==u||"u"==a;if("o"!=a&&"u"!=a&&n!=i)return n<i;o++}},n=e=>{var r=e[0],t="";if(1===e.length)return"*";if(r+.5){t+=0==r?">=":-1==r?"<":1==r?"^":2==r?"~":r>0?"=":"!=";for(var o=1,a=1;a<e.length;a++)o--,t+="u"==(typeof(u=e[a]))[0]?"-":(o>0?".":"")+(o=2,u);return t}var i=[];for(a=1;a<e.length;a++){var u=e[a];i.push(0===u?"not("+l()+")":1===u?"("+l()+" || "+l()+")":2===u?i.pop()+" "+i.pop():n(u))}return l();function l(){return i.pop().replace(/^\((.+)\)$/,"$1")}},a=(e,r)=>{if(0 in e){r=t(r);var o=e[0],n=o<0;n&&(o=-o-1);for(var i=0,u=1,l=!0;;u++,i++){var s,d,f=u<e.length?(typeof e[u])[0]:"";if(i>=r.length||"o"==(d=(typeof(s=r[i]))[0]))return!l||("u"==f?u>o&&!n:""==f!=n);if("u"==d){if(!l||"u"!=f)return!1}else if(l)if(f==d)if(u<=o){if(s!=e[u])return!1}else{if(n?s>e[u]:s<e[u])return!1;s!=e[u]&&(l=!1)}else if("s"!=f&&"n"!=f){if(n||u<=o)return!1;l=!1,u--}else{if(u<=o||d<f!=n)return!1;l=!1}else"s"!=f&&"n"!=f&&(l=!1,u--)}}var c=[],p=c.pop.bind(c);for(i=1;i<e.length;i++){var h=e[i];c.push(1==h?p()|p():2==h?p()&p():h?a(h,r):!p())}return!!p()},i=(e,r)=>e&&k.o(e,r),u=e=>(e.loaded=1,e.get()),l=e=>Object.keys(e).reduce(((r,t)=>(e[t].eager&&(r[t]=e[t]),r)),{}),s=(e,r,t,n)=>{var i=n?l(e[r]):e[r];return(r=Object.keys(i).reduce(((e,r)=>!a(t,r)||e&&!o(e,r)?e:r),0))&&i[r]},d=(e,r,t)=>{var n=t?l(e[r]):e[r];return Object.keys(n).reduce(((e,r)=>!e||!n[e].loaded&&o(e,r)?r:e),0)},f=(e,r,t,o)=>"Unsatisfied version "+t+" from "+(t&&e[r][t].from)+" of shared singleton module "+r+" (required "+n(o)+")",c=(e,r,t,o,a)=>{var i=e[t];return"No satisfying version ("+n(o)+")"+(a?" for eager consumption":"")+" of shared module "+t+" found in shared scope "+r+".\nAvailable versions: "+Object.keys(i).map((e=>e+" from "+i[e].from)).join(", ")},p=e=>{throw new Error(e)},h=e=>{"undefined"!=typeof console&&console.warn&&console.warn(e)},b=(e,r,t)=>t?t():((e,r)=>p("Shared module "+r+" doesn't exist in shared scope "+e))(e,r),m=(v=e=>function(r,t,o,n,a){var i=k.I(r);return i&&i.then&&!o?i.then(e.bind(e,r,k.S[r],t,!1,n,a)):e(r,k.S[r],t,o,n,a)})(((e,r,t,o,n,a)=>{if(!i(r,t))return b(e,t,a);var l=s(r,t,n,o);return l?u(l):a?a():void p(c(r,e,t,n,o))})),g=v(((e,r,t,o,n,l)=>{if(!i(r,t))return b(e,t,l);var s=d(r,t,o);return a(n,s)||h(f(r,t,s,n)),u(r[t][s])})),y={},w={3459:()=>m("default","jupyter-dataserializers",!1,[1,3,0,1],(()=>Promise.all([k.e(570),k.e(413)]).then((()=>()=>k(7189))))),3983:()=>g("default","@jupyter-widgets/base",!1,[,[1,6],[1,5],[1,4],[1,3],[1,2],[1,1,1,10],1,1,1,1,1]),6413:()=>g("default","@jupyter-widgets/base",!1,[,[1,6,0,0],[1,5],[1,4],[1,3],[1,2],[1,1],1,1,1,1,1])},S={270:[3459,3983],413:[6413]},P={},k.f.consumes=(e,r)=>{k.o(S,e)&&S[e].forEach((e=>{if(k.o(y,e))return r.push(y[e]);if(!P[e]){var t=r=>{y[e]=0,k.m[e]=t=>{delete k.c[e],t.exports=r()}};P[e]=!0;var o=r=>{delete y[e],k.m[e]=t=>{throw delete k.c[e],r}};try{var n=w[e]();n.then?r.push(y[e]=n.then(t).catch(o)):t(n)}catch(e){o(e)}}}))},(()=>{k.b=document.baseURI||self.location.href;var e={873:0};k.f.j=(r,t)=>{var o=k.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else if(413!=r){var n=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=n);var a=k.p+k.u(r),i=new Error;k.l(a,(t=>{if(k.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+n+": "+a+")",i.name="ChunkLoadError",i.type=n,i.request=a,o[1](i)}}),"chunk-"+r,r)}else e[r]=0};var r=(r,t)=>{var o,n,[a,i,u]=t,l=0;if(a.some((r=>0!==e[r]))){for(o in i)k.o(i,o)&&(k.m[o]=i[o]);u&&u(k)}for(r&&r(t);l<a.length;l++)n=a[l],k.o(e,n)&&e[n]&&e[n][0](),e[n]=0},t=self.webpackChunkipyaudio=self.webpackChunkipyaudio||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),k.nc=void 0;var T=k(8873);(_JUPYTERLAB=void 0===_JUPYTERLAB?{}:_JUPYTERLAB).ipyaudio=T})();
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ipyaudio
3
- Version: 0.1.22
3
+ Version: 0.1.24
4
4
  Summary: A Custom Jupyter Widget Library
5
5
  Project-URL: Homepage, https://github.com/pengzhendong/ipyaudio
6
6
  Author-email: Zhendong Peng <pzd17@tsinghua.org.cn>
@@ -46,7 +46,7 @@ Classifier: Programming Language :: Python :: 3.10
46
46
  Classifier: Programming Language :: Python :: 3.11
47
47
  Classifier: Programming Language :: Python :: 3.12
48
48
  Requires-Python: >=3.9
49
- Requires-Dist: audiolab>=0.2.1
49
+ Requires-Dist: audiolab>=0.2.6
50
50
  Requires-Dist: ipydatawidgets>=4.3.5
51
51
  Requires-Dist: ipywidgets>=8.0.0
52
52
  Provides-Extra: docs
@@ -69,10 +69,14 @@ Description-Content-Type: text/markdown
69
69
 
70
70
  # ipyaudio
71
71
 
72
- [![Build Status](https://travis-ci.org/pengzhendong/ipyaudio.svg?branch=master)](https://travis-ci.org/pengzhendong/ipyaudio)
73
- [![codecov](https://codecov.io/gh/pengzhendong/ipyaudio/branch/master/graph/badge.svg)](https://codecov.io/gh/pengzhendong/ipyaudio)
72
+ [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/pengzhendong/ipyaudio/HEAD?urlpath=%2Fdoc%2Ftree%2Fexamples%2Fintroduction.ipynb)
73
+ [![PyPI](https://img.shields.io/pypi/v/ipyaudio.svg)](https://pypi.org/project/ipyaudio)
74
74
  [![PyPI Downloads](https://static.pepy.tech/badge/ipyaudio)](https://pepy.tech/projects/ipyaudio)
75
+ [![Release](https://img.shields.io/github/release/pengzhendong/ipyaudio.svg)](https://github.com/pengzhendong/ipyaudio/releases)
75
76
  [![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
77
+ [![Build Status](https://travis-ci.org/pengzhendong/ipyaudio.svg?branch=master)](https://travis-ci.org/pengzhendong/ipyaudio)
78
+ [![codecov](https://codecov.io/gh/pengzhendong/ipyaudio/branch/master/graph/badge.svg)](https://codecov.io/gh/pengzhendong/ipyaudio)
79
+ [![Stars](https://img.shields.io/github/stars/pengzhendong/ipyaudio)](https://github.com/pengzhendong/ipyaudio)
76
80
 
77
81
  A Jupyter Widget for Web Audio Playing and Recording.
78
82
 
@@ -85,3 +89,39 @@ A Jupyter Widget for Web Audio Playing and Recording.
85
89
  ```bash
86
90
  $ pip install ipyaudio
87
91
  ```
92
+
93
+ ## Usage
94
+
95
+ ```python
96
+ >>> !wget https://modelscope.cn/datasets/pengzhendong/filesamples/resolve/master/audio/aac/sample1.aac -O sample1.aac
97
+ >>> audio_url = "https://modelscope.cn/datasets/pengzhendong/filesamples/resolve/master/audio/aac/sample1.aac"
98
+ >>> audio_path = "sample1.aac"
99
+ ```
100
+
101
+ ### Player
102
+
103
+ - Play an audio from url
104
+
105
+ ![](images/player/url.png)
106
+
107
+ - Play a local audio
108
+
109
+ ![](images/player/local.png)
110
+
111
+ - Play a numpy ndarray
112
+
113
+ ![](images/player/numpy.png)
114
+
115
+ - Play an audio stream
116
+
117
+ ![](images/player/stream.png)
118
+
119
+ ### Recorder
120
+
121
+ - Record an audio with callback function
122
+
123
+ ![](images/recorder/callback.png)
124
+
125
+ - Record an audio to file
126
+
127
+ ![](images/recorder/save.png)
@@ -1,14 +1,15 @@
1
1
  ipyaudio/__init__.py,sha256=GO0pZvY1ER8CGSEdSgXyf9byRVCTdshf30EcqflfnGs,1859
2
2
  ipyaudio/_frontend.py,sha256=FzOO0lvCP-stKZBzXYbHvWlDRTEDc0gKFu9jF26gYCY,246
3
- ipyaudio/_version.py,sha256=jobTuoaDxqcHcsdMTK85c2fYC1Ba_nI7MG1O_60UHqU,207
4
- ipyaudio/player.py,sha256=L2PL08b8UDTOSXx1ghFFCAi9eTVk8IadZIAbMl8M0e8,3904
3
+ ipyaudio/_version.py,sha256=fFyFbSC7JesWuB8SPnipydLJAZjhXFbvk8qBohlpZys,207
4
+ ipyaudio/player.py,sha256=ZmbxubifqwYtpQpedU96HcTfgHDCHhmcJnqFDuq9Cx4,4009
5
5
  ipyaudio/recorder.py,sha256=cTbVnveSmPl_uY176gW0plJ_N48Jyu1XE_9Mg4laFHw,6146
6
6
  ipyaudio/timer.py,sha256=b3ho1X2zXjoUxMS7JWnVAreMC3dlcpd3zvgceqFkmEY,1788
7
7
  ipyaudio/utils.py,sha256=5RbrkesXuf2R5hDdMkH5ajaSgXsYG2JTZVqx-5Doq6s,783
8
8
  ipyaudio/widget.py,sha256=PgavQleCJ4-F8NNgtFBOVlsez4FQSS1XF-4n6b-QMvY,1022
9
9
  ipyaudio/configs/player.json,sha256=OQCglTSb3CJBl8_IRXQrmXTGC_Sg_H76E4bLZqitBFc,1030
10
10
  ipyaudio/configs/recorder.json,sha256=QhJja8HzjjZexfKvx__MpsK5-98xSlDHdVkOHBh9Bjs,257
11
- ipyaudio/labextension/package.json,sha256=fUq19QGjKqHMRqNAyeEqMCEXuFjIfr2cHcb-wQNGqwQ,3417
11
+ ipyaudio/labextension/install.json,sha256=6bM2k1XqE-DlTYa87T6uNaTy55_-Lf2HlZFSyx5QnjY,177
12
+ ipyaudio/labextension/package.json,sha256=0IqJ-8KRJW4cdrDPYJfNfMP5ceu-sQDAlaWXaM2o2YU,3453
12
13
  ipyaudio/labextension/static/122.3700f0454aee82938e32.js,sha256=NwDwRUrugpOOMpSrNaUUlDh_VcIo_CsLXqd_Dqv9aBE,1076
13
14
  ipyaudio/labextension/static/270.783a4728ca957ffe8716.js,sha256=eDpHKMqVf_6HFtEuQIwYQjsBMf1KNG6Ndqu6tWhM-AM,28014
14
15
  ipyaudio/labextension/static/509.a9d6860fe38ae60aa71f.js,sha256=qdaGD-OK5gqnH9J8i1LRsAFbaDrRt7vhCDtiyrLU_yE,632
@@ -16,6 +17,7 @@ ipyaudio/labextension/static/570.97f2a8196b7f1703e636.js,sha256=g9sSzxO7BhhC5U9q
16
17
  ipyaudio/labextension/static/570.97f2a8196b7f1703e636.js.LICENSE.txt,sha256=Rygqb6FGni17yJNtFnwX6_D9gAlBEE3RUJeUUgjMtQE,120
17
18
  ipyaudio/labextension/static/627.315cb148cc156382df50.js,sha256=LFY8xH3yCFPiBg2cj_AK4AGEad8V3MYpYDv8DcbbOIw,425571
18
19
  ipyaudio/labextension/static/627.315cb148cc156382df50.js.LICENSE.txt,sha256=5oK3F4JphnO3LYEM9RXe8SkqkZATOYmxpFpvVGvdaKk,237
20
+ ipyaudio/labextension/static/remoteEntry.be45454fad38fcb60bb9.js,sha256=vkVFT604_LYLuQJnqY5t8eNQ2CIfpN3ZIqu8UDJG6ZU,7810
19
21
  ipyaudio/labextension/static/style.js,sha256=-CQt0ZTPaCTvrRiLcznxflAbfvIKlOVzjOos-muaXQ8,118
20
22
  ipyaudio/labextension/static/third-party-licenses.json,sha256=Bf8Xf3Ts5Ei8_w0jbr2SLFIHbju9pTfI-nhy1tfEaZ4,15803
21
23
  ipyaudio/nbextension/extension.js,sha256=DuyS9AUV37h3WxspuhDpEPTFCztkEyMWfZ5YjZSaWAg,406
@@ -26,23 +28,25 @@ ipyaudio/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
28
  ipyaudio/tests/conftest.py,sha256=bvWtEyGyYxzUqTzS3Yb6E6mWOMP12SyVy9AqXvQGGLg,1415
27
29
  ipyaudio/tests/test_example.py,sha256=JLdr25MjPjNe5Wj8n7J40U14o5s4JXJpxOU9_VQrN94,278
28
30
  ipyaudio/tests/test_nbextension_path.py,sha256=t9Y4IaMOSbTzmtNxMGCldbZRExTah-b-fKwd7_2K2ys,462
29
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/package.json,sha256=fUq19QGjKqHMRqNAyeEqMCEXuFjIfr2cHcb-wQNGqwQ,3417
30
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/static/122.3700f0454aee82938e32.js,sha256=NwDwRUrugpOOMpSrNaUUlDh_VcIo_CsLXqd_Dqv9aBE,1076
31
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/static/270.783a4728ca957ffe8716.js,sha256=eDpHKMqVf_6HFtEuQIwYQjsBMf1KNG6Ndqu6tWhM-AM,28014
32
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/static/509.a9d6860fe38ae60aa71f.js,sha256=qdaGD-OK5gqnH9J8i1LRsAFbaDrRt7vhCDtiyrLU_yE,632
33
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/static/570.97f2a8196b7f1703e636.js,sha256=g9sSzxO7BhhC5U9q-cdCAa62fsNS0H55VFy8hMZpgEM,60441
34
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/static/570.97f2a8196b7f1703e636.js.LICENSE.txt,sha256=Rygqb6FGni17yJNtFnwX6_D9gAlBEE3RUJeUUgjMtQE,120
35
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/static/627.315cb148cc156382df50.js,sha256=LFY8xH3yCFPiBg2cj_AK4AGEad8V3MYpYDv8DcbbOIw,425571
36
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/static/627.315cb148cc156382df50.js.LICENSE.txt,sha256=5oK3F4JphnO3LYEM9RXe8SkqkZATOYmxpFpvVGvdaKk,237
37
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/static/style.js,sha256=-CQt0ZTPaCTvrRiLcznxflAbfvIKlOVzjOos-muaXQ8,118
38
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/static/third-party-licenses.json,sha256=Bf8Xf3Ts5Ei8_w0jbr2SLFIHbju9pTfI-nhy1tfEaZ4,15803
39
- ipyaudio-0.1.22.data/data/share/jupyter/nbextensions/ipyaudio/extension.js,sha256=DuyS9AUV37h3WxspuhDpEPTFCztkEyMWfZ5YjZSaWAg,406
40
- ipyaudio-0.1.22.data/data/share/jupyter/nbextensions/ipyaudio/index.js,sha256=tGjO6fhUZIly6Xww20Rm6m670hemeIhEnRApX3JGkKU,1333229
41
- ipyaudio-0.1.22.data/data/share/jupyter/nbextensions/ipyaudio/index.js.LICENSE.txt,sha256=SM0Gns-yHYrs7f5xup63yzlmb7K5I1gj7WjnbBGuP_E,358
42
- ipyaudio-0.1.22.data/data/share/jupyter/nbextensions/ipyaudio/index.js.map,sha256=_Jtv11_mKPumtb5yyC43kyI85humDBmUn0_rfJ7V5zA,2169616
43
- ipyaudio-0.1.22.data/data/etc/jupyter/nbconfig/notebook.d/ipyaudio.json,sha256=BmiJxz0zncI7hb8QHtnfAykNxqSXBcVhfbWZxdBRzzw,62
44
- ipyaudio-0.1.22.data/data/share/jupyter/labextensions/ipyaudio/install.json,sha256=6bM2k1XqE-DlTYa87T6uNaTy55_-Lf2HlZFSyx5QnjY,177
45
- ipyaudio-0.1.22.dist-info/METADATA,sha256=1EK05YMifIgJwhDriA8lXj5lkpG_AN0m7jJ7deC7MtQ,3912
46
- ipyaudio-0.1.22.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
47
- ipyaudio-0.1.22.dist-info/licenses/LICENSE.txt,sha256=-uZ5GSv8HIaOXcLH77MEBajSXj7X8T5N989WfkUFYKc,1498
48
- ipyaudio-0.1.22.dist-info/RECORD,,
31
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/install.json,sha256=6bM2k1XqE-DlTYa87T6uNaTy55_-Lf2HlZFSyx5QnjY,177
32
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/package.json,sha256=0IqJ-8KRJW4cdrDPYJfNfMP5ceu-sQDAlaWXaM2o2YU,3453
33
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/122.3700f0454aee82938e32.js,sha256=NwDwRUrugpOOMpSrNaUUlDh_VcIo_CsLXqd_Dqv9aBE,1076
34
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/270.783a4728ca957ffe8716.js,sha256=eDpHKMqVf_6HFtEuQIwYQjsBMf1KNG6Ndqu6tWhM-AM,28014
35
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/509.a9d6860fe38ae60aa71f.js,sha256=qdaGD-OK5gqnH9J8i1LRsAFbaDrRt7vhCDtiyrLU_yE,632
36
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/570.97f2a8196b7f1703e636.js,sha256=g9sSzxO7BhhC5U9q-cdCAa62fsNS0H55VFy8hMZpgEM,60441
37
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/570.97f2a8196b7f1703e636.js.LICENSE.txt,sha256=Rygqb6FGni17yJNtFnwX6_D9gAlBEE3RUJeUUgjMtQE,120
38
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/627.315cb148cc156382df50.js,sha256=LFY8xH3yCFPiBg2cj_AK4AGEad8V3MYpYDv8DcbbOIw,425571
39
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/627.315cb148cc156382df50.js.LICENSE.txt,sha256=5oK3F4JphnO3LYEM9RXe8SkqkZATOYmxpFpvVGvdaKk,237
40
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/remoteEntry.be45454fad38fcb60bb9.js,sha256=vkVFT604_LYLuQJnqY5t8eNQ2CIfpN3ZIqu8UDJG6ZU,7810
41
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/style.js,sha256=-CQt0ZTPaCTvrRiLcznxflAbfvIKlOVzjOos-muaXQ8,118
42
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/static/third-party-licenses.json,sha256=Bf8Xf3Ts5Ei8_w0jbr2SLFIHbju9pTfI-nhy1tfEaZ4,15803
43
+ ipyaudio-0.1.24.data/data/share/jupyter/nbextensions/ipyaudio/extension.js,sha256=DuyS9AUV37h3WxspuhDpEPTFCztkEyMWfZ5YjZSaWAg,406
44
+ ipyaudio-0.1.24.data/data/share/jupyter/nbextensions/ipyaudio/index.js,sha256=tGjO6fhUZIly6Xww20Rm6m670hemeIhEnRApX3JGkKU,1333229
45
+ ipyaudio-0.1.24.data/data/share/jupyter/nbextensions/ipyaudio/index.js.LICENSE.txt,sha256=SM0Gns-yHYrs7f5xup63yzlmb7K5I1gj7WjnbBGuP_E,358
46
+ ipyaudio-0.1.24.data/data/share/jupyter/nbextensions/ipyaudio/index.js.map,sha256=_Jtv11_mKPumtb5yyC43kyI85humDBmUn0_rfJ7V5zA,2169616
47
+ ipyaudio-0.1.24.data/data/etc/jupyter/nbconfig/notebook.d/ipyaudio.json,sha256=BmiJxz0zncI7hb8QHtnfAykNxqSXBcVhfbWZxdBRzzw,62
48
+ ipyaudio-0.1.24.data/data/share/jupyter/labextensions/ipyaudio/install.json,sha256=6bM2k1XqE-DlTYa87T6uNaTy55_-Lf2HlZFSyx5QnjY,177
49
+ ipyaudio-0.1.24.dist-info/METADATA,sha256=vXMtVh9S8hX9y5totkwsHZwnUAZXpkETa6TeS4NVWb8,5061
50
+ ipyaudio-0.1.24.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
51
+ ipyaudio-0.1.24.dist-info/licenses/LICENSE.txt,sha256=-uZ5GSv8HIaOXcLH77MEBajSXj7X8T5N989WfkUFYKc,1498
52
+ ipyaudio-0.1.24.dist-info/RECORD,,