{"_id":"@butterblume/wavesurfer.js","_rev":"1-c5bcf7879c916556c267ba05fd1a0adf","name":"@butterblume/wavesurfer.js","dist-tags":{"latest":"3.3.3"},"versions":{"3.3.3":{"name":"@butterblume/wavesurfer.js","version":"3.3.3","description":"Interactive navigable audio visualization using Web Audio and Canvas","main":"dist/wavesurfer.js","directories":{"example":"example"},"scripts":{"start":"npm run build:plugins && npm run build:htmlinit && webpack-dev-server --config ./build-config/webpack.dev.main.js","start:htmlinit":"npm run build:main && npm run build:plugins && webpack-dev-server --config ./build-config/webpack.dev.htmlinit.js","start:plugins":"npm run build:main && npm run build:htmlinit && webpack-dev-server --config ./build-config/webpack.dev.plugins.js","build":"npm run build:normal && npm run build:minified","build:main":"webpack --config ./build-config/webpack.prod.main.js","build:main:min":"webpack --config ./build-config/webpack.prod.main.min.js","build:plugins":"webpack --config ./build-config/webpack.prod.plugins.js","build:plugins:min":"webpack --config ./build-config/webpack.prod.plugins.min.js","build:htmlinit":"webpack --config ./build-config/webpack.prod.htmlinit.js","build:htmlinit:min":"webpack --config ./build-config/webpack.prod.htmlinit.min.js","build:normal":"npm run build:main && npm run build:plugins && npm run build:htmlinit","build:minified":"npm run build:main:min && npm run build:plugins:min && npm run build:htmlinit:min","lint":"npm run lint:js && npm run lint:html","lint:js":"eslint src example spec","lint:html":"htmlhint example","lint-js-html":"lint-staged","doc":"esdoc","test":"karma start karma.conf.js","prepublishOnly":"not-in-install && npm run build || in-install","prepare":"npm run build"},"repository":{"type":"git","url":"git://github.com/Butterblume654/wavesurfer.js.git"},"author":"","license":"BSD-3-Clause","bugs":{"url":"https://github.com/katspaugh/wavesurfer.js/issues"},"keywords":["waveform","audio","music","player","webaudio","microphone","visualization"],"devDependencies":{"@babel/core":"^7.9.0","@babel/preset-env":"^7.9.5","@babel/register":"^7.9.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","babel-plugin-add-module-exports":"^1.0.2","babel-plugin-istanbul":"^6.0.0","babel-plugin-transform-class-properties":"^6.24.1","date-fns":"^2.12.0","debounce":"^1.2.0","esdoc":"^1.1.0","esdoc-accessor-plugin":"^1.0.0","esdoc-brand-plugin":"^1.0.1","esdoc-coverage-plugin":"^1.1.0","esdoc-ecmascript-proposal-plugin":"^1.0.0","esdoc-integrate-test-plugin":"^1.0.0","esdoc-standard-plugin":"^1.0.0","eslint":"^6.8.0","htmlhint":"^0.11.0","in-publish":"^2.0.1","jasmine-core":"^3.5.0","karma":"^5.0.1","karma-chrome-launcher":"3.1.0","karma-coverage":"^2.0.2","karma-coveralls":"^2.1.0","karma-firefox-launcher":"^1.3.0","karma-jasmine":"3.1.1","karma-jasmine-matchers":"4.0.2","karma-verbose-reporter":"0.0.6","karma-webpack":"^4.0.2","lint-staged":"^10.1.3","load-script":"^1.0.0","pre-commit":"^1.2.2","terser-webpack-plugin":"^2.3.5","webpack":"^4.42.1","webpack-cli":"^3.3.11","webpack-dev-server":"^3.10.3","webpack-merge":"^4.2.2"},"homepage":"https://github.com/Butterblume654/wavesurfer.js","pre-commit":"lint-js-html","lint-staged":{"*.js":["eslint"],"*.html":["htmlhint"]},"gitHead":"5886cb27208980faf68b15410e9d65ca806075e5","_id":"@butterblume/wavesurfer.js@3.3.3","_nodeVersion":"12.18.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-oRkRzA/GhVQUFS1eyy8v8mhNGWROZLHzsYcwUywGp2hzxKLmMdaEsSA7b1dk6S7QWYaT01yRjow95X4qsDJukw==","shasum":"96ea13fc2309c92269d8adacec427185affd99fa","tarball":"https://registry.npmjs.org/@butterblume/wavesurfer.js/-/wavesurfer.js-3.3.3.tgz","fileCount":73,"unpackedSize":1824115,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfYzh0CRA9TVsSAnZWagAAhMkP/j7giPYVZU9Y7L7T9+mS\nuiU5fvDnzcMwMIV/6WXK4QVW3sw39Pc9yBekViUE5EQV9WCVkTZDbo22TLwo\nOsECPxDfE6f2eUwLcRCQGaKmIlGh/2D7a1v7U2cnSlDIDdM6gx5BtD9AG26q\n4WDycZa7LUxfv9+RBAf5uV2EJeiRi6cKrgCbQ12RnMFxM+qOyBIUMH3D68Ak\nQe1NekRIRKOF1fKuj+UINiBqXXaqCcNLRCcRI+pZjhcnhXf5M0Ulj+A5orum\nQVxp9Ak4iqlUG1ol8jDC2i7Xgb/5RKnaNLyhzckffVtCPWv+kyJwCBi7C7VU\n/rCFSUcSbUFmo5/4KYVZYvvGwkj3tBAGcaQVqzAfLz/gHb6zFKU0RFBInIaQ\nl6HQXV6sIkFPAMmvSWDe0b/IB9t1gS7UyjR2gV1YrHPyHC0L6FTuJJIBcXCh\n0fe/pDO4b/PhYI+hrlbjnWzgG1SUQ2jUQRKzkWVhXGNt8ULaS9WyHMrcLKWX\nLAJ9rQnnTtRLIlj9tCMmKvqo88dAUirhPBnEOePA7EawM7Dis7X6xubr49+K\nc9TJSsvsao7v8cRaUcDecQG++IdxZiI8eXtB/qn2g7TA23nzubf1KRUiDDEH\n9rmFR8WHo1fDtxfQprfu5kkceBJfMqfh4Rzc3jHDBabuCRWSYd0Bybu3t5Gl\nCXGf\r\n=v0aA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEUDiZvLZ1INBfAKExHlYKRBsUsOFB7+WylX8hpGF2+gAiAvVWzO95akKjO8VA5uvK2bi5FRmxoTiLu+ukcMjl+Dzg=="}]},"maintainers":[{"name":"butterblume","email":"osmani@aprileconsulting.com"}],"_npmUser":{"name":"butterblume","email":"osmani@aprileconsulting.com"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/wavesurfer.js_3.3.3_1600338035937_0.29634714954686636"},"_hasShrinkwrap":false}},"time":{"created":"2020-09-17T10:20:35.903Z","3.3.3":"2020-09-17T10:20:36.144Z","modified":"2022-04-04T21:10:09.154Z"},"maintainers":[{"name":"butterblume","email":"osmani@aprileconsulting.com"}],"description":"Interactive navigable audio visualization using Web Audio and Canvas","homepage":"https://github.com/Butterblume654/wavesurfer.js","keywords":["waveform","audio","music","player","webaudio","microphone","visualization"],"repository":{"type":"git","url":"git://github.com/Butterblume654/wavesurfer.js.git"},"bugs":{"url":"https://github.com/katspaugh/wavesurfer.js/issues"},"license":"BSD-3-Clause","readme":"# [wavesurfer.js](https://wavesurfer-js.org)\n\n[![npm version](https://img.shields.io/npm/v/wavesurfer.js.svg?style=flat)](https://www.npmjs.com/package/wavesurfer.js)\n![npm](https://img.shields.io/npm/dm/wavesurfer.js.svg) [![Join the chat at https://gitter.im/katspaugh/wavesurfer.js](https://badges.gitter.im/katspaugh/wavesurfer.js.svg)](https://gitter.im/katspaugh/wavesurfer.js?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\nInteractive navigable audio visualization using Web Audio and Canvas.\n\n[![Screenshot](https://raw.githubusercontent.com/katspaugh/wavesurfer.js/gh-pages/example/screenshot.png \"Screenshot\")](https://wavesurfer-js.org)\n\nSee a [tutorial](https://wavesurfer-js.org/docs) and [examples](https://wavesurfer-js.org/examples) on [wavesurfer-js.org](https://wavesurfer-js.org).\n\n## Browser support\nwavesurfer.js works only in [modern browsers supporting Web Audio](http://caniuse.com/audio-api).\n\nIt will fallback to Audio Element in other browsers (without graphics). You can also try [wavesurfer.swf](https://github.com/laurentvd/wavesurfer.swf) which is a Flash-based fallback.\n\n## FAQ\n### Can the audio start playing before the waveform is drawn?\nYes, if you use the `backend: 'MediaElement'` option. See here: https://wavesurfer-js.org/example/audio-element/. The audio will start playing as you press play. A thin line will be displayed until the whole audio file is downloaded and decoded to draw the waveform.\n\n### Can drawing be done as file loads?\nNo. Web Audio needs the whole file to decode it in the browser. You can however load pre-decoded waveform data to draw the waveform immediately. See here: https://wavesurfer-js.org/example/audio-element/ (the \"Pre-recoded Peaks\" section).\n\n## API in examples\n\nChoose a container:\n```html\n<div id=\"waveform\"></div>\n```\nCreate an instance, passing the container selector and [options](https://wavesurfer-js.org/docs/options.html):\n\n```javascript\nvar wavesurfer = WaveSurfer.create({\n    container: '#waveform',\n    waveColor: 'violet',\n    progressColor: 'purple'\n});\n```\n\nSubscribe to some [events](https://wavesurfer-js.org/docs/events.html):\n\n```javascript\nwavesurfer.on('ready', function () {\n    wavesurfer.play();\n});\n```\n\nLoad an audio file from a URL:\n\n```javascript\nwavesurfer.load('example/media/demo.wav');\n```\n\n## Documentation\n\nSee the documentation on all available [methods](https://wavesurfer-js.org/docs/methods.html), [options](https://wavesurfer-js.org/docs/options.html) and [events](https://wavesurfer-js.org/docs/events.html) on the [homepage](https://wavesurfer-js.org/docs/).\n\n## Upgrade\n\nSee the [upgrade](https://github.com/katspaugh/wavesurfer.js/blob/master/UPGRADE.md) document if you're upgrading from a previous version of wavesurfer.js.\n\n## Using with a module bundler\n\nInstall Wavesurfer:\n```bash\nnpm install wavesurfer.js --save\n# or\nyarn add wavesurfer.js\n```\n\nUse it with a module system like this:\n```javascript\n// import\nimport WaveSurfer from 'wavesurfer.js';\n\n// commonjs/requirejs\nvar WaveSurfer = require('wavesurfer.js');\n\n// amd\ndefine(['WaveSurfer'], function(WaveSurfer) {\n  // ... code\n});\n\n```\n\n## Related projects\n\nFor a list of  projects using wavesurfer.js, check out\n[the projects page](https://wavesurfer-js.org/projects/).\n\n## Development\n\n[![Build Status](https://travis-ci.org/katspaugh/wavesurfer.js.svg?branch=master)](https://travis-ci.org/katspaugh/wavesurfer.js)\n[![Coverage Status](https://coveralls.io/repos/github/katspaugh/wavesurfer.js/badge.svg)](https://coveralls.io/github/katspaugh/wavesurfer.js)\n![Size](https://img.shields.io/bundlephobia/minzip/wavesurfer.js.svg?style=flat)\n\nInstall development dependencies:\n\n```\nnpm install\n```\nDevelopment tasks automatically rebuild certain parts of the library when files are changed (`start` – wavesurfer, `start:plugins` – plugins). Start a dev task and go to `localhost:8080/example/` to test the current build.\n\nStart development server for core library:\n\n```\nnpm run start\n```\n\nStart development server for plugins:\n\n```\nnpm run start:plugins\n```\n\nBuild all the files. (generated files are placed in the `dist` directory.)\n\n```\nnpm run build\n```\n\nRunning tests only:\n\n```\nnpm run test\n```\n\nBuild documentation with esdoc (generated files are placed in the `doc` directory.)\n```\nnpm run doc\n```\n\nIf you want to use [the VS Code - Debugger for Chrome](https://github.com/Microsoft/vscode-chrome-debug), there is already a [launch.json](.vscode/launch.json) with a properly configured ``sourceMapPathOverrides`` for you.\n\n## Editing documentation\nThe homepage and documentation files are maintained in the [`gh-pages` branch](https://github.com/katspaugh/wavesurfer.js/tree/gh-pages). Contributions to the documentation are especially welcome.\n\n## Credits\n\nInitial idea by [Alex Khokhulin](https://github.com/xoxulin). Many\nthanks to\n[the awesome contributors](https://github.com/katspaugh/wavesurfer.js/contributors)!\n\n## License\n\n[![License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n\nThis work is licensed under a\n[BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause).\n","readmeFilename":"README.md"}