{"_id":"@combadge/ecma-tonegenerator","_rev":"2-dff69127c4cea39068410e4d45bf642c","name":"@combadge/ecma-tonegenerator","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.2":{"name":"@combadge/ecma-tonegenerator","description":"Generates a tone as raw PCM WAV data, so you can do operations on it","version":"1.0.2","license":"Apache-2.0","author":{"name":"Karl Westin","email":"karl.westin@gmail.com","url":"https://github.com/karlwestin"},"contributors":[{"name":"mo-g","email":"mo-g@spindoctor.dev","url":"https://github.com/mo-g"},{"name":"middi1408","url":"https://github.com/middi1408"}],"repository":{"type":"git","url":"git+https://github.com/Combadge/ecma-tonegenerator.git"},"keywords":["tone generator","sound generator","frequency generator"],"main":"./index.mjs","gitHead":"7fa679f126b309ea2473f1f8f69dfa463eb052dd","bugs":{"url":"https://github.com/Combadge/ecma-tonegenerator/issues"},"homepage":"https://github.com/Combadge/ecma-tonegenerator#readme","_id":"@combadge/ecma-tonegenerator@1.0.2","_nodeVersion":"14.21.1","_npmVersion":"6.14.17","dist":{"integrity":"sha512-lM7SdknOLfnL5WFnipm7DnRY2szENg+pC/nzLPqiB7aL3X4vgk/gOBNapfm1urhkx1HJZxSpzN2PBvhQXS3vGw==","shasum":"56f5cd0b7fbaa8fda4c38e4036d11a16358eb868","tarball":"https://registry.npmjs.org/@combadge/ecma-tonegenerator/-/ecma-tonegenerator-1.0.2.tgz","fileCount":4,"unpackedSize":25547,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID3RHhRLSYL0PV8dNr5RwYLzftZkZuRTE2j08twssj7HAiBif089/9LoFeR/ChpJ6UfG4QaaZqOHzCTAjTKghVfvGw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjeLo7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppPw/+KpOUxCSwa1HA0fuHxji/cpvWxlW1nj6tDAyxJ4ikLqnm0DHb\r\nsqrqX3MlGZMaLR/W2fPJmlrPBKgDALkf9Wy6aDLkBxlsf4BZargyS/DgFyed\r\nijBdPRwDxPFi9sQDybZOLTGURNpJstkoUNFGBpllfT2/fWHNwOr9Od7UdhXX\r\n7g5aPO6N5BpjM0Jby0s5STyPve0bMB21oDRYiE9oJjBrZilCZgmuFY7hKH+d\r\nnbcBaF7aHcQQM7Gszwuovu6CygC0VTqBxrXiTdmC14lckGCgUecgaVklszH8\r\nVMbHAXlDITYZ3KdgUaIzDUQrivK7dC/58GvOIfmta1OiG3t7MFey2BvgeeR3\r\nr6o2GnBQi2dt2F7kIsMGO6xb5rGx5PjgtOEg4qK1hd48Vo+BqXrZHWLEHyId\r\niA/snsIT3IJqekAKevidHCc351Jy2+rfvJq1FSD3MrWZrMc4L/Hp5RG+1Y5w\r\niZohPdKeLSXc8gX7mD7uIKgNl9aIaDZcaNAU6n27ye/0GpHn27D+AKDkgBLd\r\nof1zOHMhHG7lI7XxTEj7rvWvyOVmpPHyodoOQS6+4SQZtPTeDeoqFpJmT5oS\r\nZ1np7/8JtqZXTH1GUx26f4VCYOoZl0Ast/04fVs4H+jBcvmzMiGtfbG6qF06\r\nUHTTvEDS50DTL8Pji4ADGWC61V42TN7Hwx8=\r\n=98R0\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mo-g","email":"npmjs@spindoctor.dev"},"directories":{},"maintainers":[{"name":"mo-g","email":"npmjs@spindoctor.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecma-tonegenerator_1.0.2_1668856378943_0.45400074070931384"},"_hasShrinkwrap":false},"1.0.3":{"name":"@combadge/ecma-tonegenerator","description":"Generates a tone as raw PCM WAV data, so you can do operations on it","version":"1.0.3","license":"Apache-2.0","author":{"name":"Karl Westin","email":"karl.westin@gmail.com","url":"https://github.com/karlwestin"},"contributors":[{"name":"mo-g","email":"mo-g@spindoctor.dev","url":"https://github.com/mo-g"},{"name":"middi1408","url":"https://github.com/middi1408"}],"repository":{"type":"git","url":"git+https://github.com/Combadge/ecma-tonegenerator.git"},"keywords":["tone generator","sound generator","frequency generator"],"main":"./index.mjs","gitHead":"66e28327305ba50e6079bfb14bb02bb7eba62282","bugs":{"url":"https://github.com/Combadge/ecma-tonegenerator/issues"},"homepage":"https://github.com/Combadge/ecma-tonegenerator#readme","_id":"@combadge/ecma-tonegenerator@1.0.3","_nodeVersion":"14.21.1","_npmVersion":"6.14.17","dist":{"integrity":"sha512-8cCpunvBrQ3ZyTfgreyM+xgqn/XFgDrHTTBJtFINFWl2FdhYwPtIhiMvOHkxFH2UVCuETl0evuggQcNfAXdOlw==","shasum":"1de05bab2513facbdf96a3e6ce9d2725c69254d6","tarball":"https://registry.npmjs.org/@combadge/ecma-tonegenerator/-/ecma-tonegenerator-1.0.3.tgz","fileCount":4,"unpackedSize":25700,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDtj1sx+mRx6uleOwUJ8icR7gTwf5EXTOoUxGeWg/iLoAIgTdZDnr/aZB8UjCvhT8yReUx+Efkvent6TfPsMpzbGNI="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjecuaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGKA/+LVJmaiZJPH6c7g4UqUmWXzShcfNdDJZbIrq9B4FNS8iYTXhG\r\nxACJpavSqhz3fI8DCKPNF9NxUDq/qRqTsE60DlKSgXhqM9RUTXP4w197127s\r\n8t1V1xjVDbZw1WUqSBjvcApI2EzbnDqIMVBawXVZ/mgEvlwqxMg5ZuChtKxo\r\nI1OKSS0PTK3AUijAiBaPuH9qpGTH0gv7ql3R+eF8MHcZrcQjVOWHPIAV8NaN\r\na5neh+qVomUHzavZgglip6Z+oSQZgTTv/XFjnpwlMDLD4bBTL21IltSZukfb\r\nI8XN5BqiL4T94LSCpaImi+X9K4wMs9TvXp3YD4QPGBi7b6FCjc4r+RzjIMTC\r\n/AsWdJRltbS1Ku8cCz0s4ko3COEnTajgoA0B9c+YC4O/Oywg0xIayhcfQjf6\r\nPudFDo1p6aD1dgA19U0xjwA563ktIpfSSu6nRtJG/N0u1mWkEzrA8O5dp2ij\r\n8RbrQ9XwEsN+VgGPkyO039r7+bmZmiZGZQlsHolY7gfG98YTtwWwDBbvlNLa\r\nwTg/wWhJ8DAfwT8CtDwHI+5ESpovdFoE1CJqmH1SN7bWzF4oCfcbSYbxrt/D\r\nznUfSbGZfAxC3ifZXnANAy3My3BYmPTkONg5e/eQjR+GaW9LJXht4S0HSB+O\r\nXPU8F7ePIMOoDYnRRCHR48c4F24evMLCVxI=\r\n=bO2i\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mo-g","email":"npmjs@spindoctor.dev"},"directories":{},"maintainers":[{"name":"mo-g","email":"npmjs@spindoctor.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecma-tonegenerator_1.0.3_1668926362547_0.9739368060757079"},"_hasShrinkwrap":false},"1.0.4":{"name":"@combadge/ecma-tonegenerator","description":"Generates a tone as raw PCM WAV data, so you can do operations on it","version":"1.0.4","license":"Apache-2.0","author":{"name":"Karl Westin","email":"karl.westin@gmail.com","url":"https://github.com/karlwestin"},"contributors":[{"name":"mo-g","email":"mo-g@spindoctor.dev","url":"https://github.com/mo-g"},{"name":"middi1408","url":"https://github.com/middi1408"}],"repository":{"type":"git","url":"git+https://github.com/Combadge/ecma-tonegenerator.git"},"keywords":["tone generator","sound generator","frequency generator"],"main":"./index.mjs","gitHead":"c3ede96d2422166125f78565b6391fa6527bb788","bugs":{"url":"https://github.com/Combadge/ecma-tonegenerator/issues"},"homepage":"https://github.com/Combadge/ecma-tonegenerator#readme","_id":"@combadge/ecma-tonegenerator@1.0.4","_nodeVersion":"14.21.1","_npmVersion":"6.14.17","dist":{"integrity":"sha512-jthSTNrXZdMaR1u7y7Bd4wKlyviavFZFWs6RigQ64tti6Oo6MFuiNwyCuPhfMxwfm3S9CONuqasVRJi4vY0UsQ==","shasum":"1c9f8cbc42d9fb916850263dc88e5e2a4cd3f403","tarball":"https://registry.npmjs.org/@combadge/ecma-tonegenerator/-/ecma-tonegenerator-1.0.4.tgz","fileCount":4,"unpackedSize":27734,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCcv/hWT7U2yfIMqEsg2DiKanW4Wm0vpvhMBGK7YeDbXQIhANIe0aPNv2F8phkr5GNUkDkWnRY7GgKHLxapif+TqAaz"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjeeudACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoGxA/9EQ+xNyyTn6tDd1y300CtjnQtybC30PTbgWLVccQVFAHdCpDQ\r\nTkYtEGF0wkSDc+/inZZ5Jvik1eslaHlRuQvgHcwkfMPyV1+eq7Tx76V3sfPB\r\n8MAesEdCNNdOEy3avU7Z8lA9wHx83QmwuYkDfH7h+KV/9zZk/gwrPXU5Vt5S\r\nhO8/B8dCIb682MtpwH9P9H7kU1/37RwJerG+DNQOA+xVsDSiBOC2R4ZuOvQH\r\nTXZ3cOYRQoTLFEoB1gkWIeKFKAfZ83lqrDIH0irvVPd8EFe9FafM66mc/AJa\r\n710ib+h1RBNqPfauA6AYNbEA9ddyu+0MfoKajvuDt+f+srHIGSk9FtOZ3Lkx\r\nSXUZMNvb1JU2GVN/qmD/fWolxA7eL58/jQBJqXoXg0rOHr1Wiv1GiZLebygJ\r\n3/oAfKXcEKHOvYQTOhqjGixL80U5ASruagE6G7oS7nKT9IJtNFxWxucjD3bZ\r\nbdadYtLG1Wj+Wk2S4usQ20yntxLyW2Ni8KIGkVU3Nk5g+8AWDJzC8AG8REeA\r\nC65BFKO+FK0jpYgS8gJz6QX6/4BLqHLK9CTEMTHuSK05Xz6iSgeQQodgBxmF\r\nSuSd/P3y3qrfj0zAtIv6WYHyYFufWY9jicMmuMCcdh6/fRJiVQcVqtlBClou\r\ntPZNDlwNL9OItZHBqXv3/fvEaxtSUuh2+As=\r\n=RIgC\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"mo-g","email":"npmjs@spindoctor.dev"},"directories":{},"maintainers":[{"name":"mo-g","email":"npmjs@spindoctor.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ecma-tonegenerator_1.0.4_1668934556991_0.1901615271145396"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-19T11:12:58.891Z","1.0.2":"2022-11-19T11:12:59.113Z","modified":"2022-11-20T08:55:57.259Z","1.0.3":"2022-11-20T06:39:22.742Z","1.0.4":"2022-11-20T08:55:57.168Z"},"maintainers":[{"name":"mo-g","email":"npmjs@spindoctor.dev"}],"description":"Generates a tone as raw PCM WAV data, so you can do operations on it","homepage":"https://github.com/Combadge/ecma-tonegenerator#readme","keywords":["tone generator","sound generator","frequency generator"],"repository":{"type":"git","url":"git+https://github.com/Combadge/ecma-tonegenerator.git"},"contributors":[{"name":"mo-g","email":"mo-g@spindoctor.dev","url":"https://github.com/mo-g"},{"name":"middi1408","url":"https://github.com/middi1408"}],"author":{"name":"Karl Westin","email":"karl.westin@gmail.com","url":"https://github.com/karlwestin"},"bugs":{"url":"https://github.com/Combadge/ecma-tonegenerator/issues"},"license":"Apache-2.0","readme":"ECMAScript Function Generator for node.js\n====\n\nThis thing generates an array of numbers in waveforms. Written by Karl Westin, now horribly rewritten by mo-g. Though this version is faster!\n\n## Usage example:\n\n```javascript\nimport {FixedPitch, Silence, Tones, Generators, LinearBend} from 'ecma-tonegenerator'\n\nvar fixed = new FixedPitch({frequency:1701,\n                            volume: 0.4});\nvar fixedData = fixed.approximate({duration: 3000});\n\nvar bend = new LinearBend({startFrequency: Tones[\"B5\"],\n                           endFrequency: Tones[\"D6\"],\n                           bitDepth: 32,\n                           sampleRate: 96000,\n                           generator: Generators.square);\nvar bendData = bend.approximate({duration: 3000});\n\nvar silence = new Silence({bitDepth: 16});\nvar silenceData = silence.accurate({samples: 24000});\n```\n\n## Constructor parameters\n- `frequency` (or startFrequency and endFrequency for bends) frequency in Hz, or pass in a predefined note.\n- `sampleRate` defaults to 16000, you do you.\n- `bitDepth` defaults to 16, you do you.\n- `volume` A number between 0 and 1. 1 is max volume, 0 is silence.\n- `generator` controls the wave shape. Options are *'triangle', 'square', 'sine', 'saw'*. You can also pass in a custom function.\n\n`volume` and `generator` are unsupported on `Silence`.\n\n## Output Functions\n\nThere are two rendering functions, `class.accurate()` and `class.approximate()`. `Silence` only supports `accurate()`, `LinearBend` only supports `approximate()` and `FixedPitch` supports both.\n\nThe function will return the smallest Two's Complement Typed Array possible for your bit depth.\n\n## Output Function Parameters\n- `duration` in milliseconds. This will return the shortest number of complete waveforms equal to or greater than the specified duration, in order to prevent clipping.\n- `samples` will provide the exact number of samples requested, regardless of whether it's the middle of a wave or not.\n- `offset` offsets the wave by the specified number of samples. This will typically cause clipping.\n\nOnly one size parameter (`duration` or `samples`) may be specified at once.\n\n## Known Issues\n- The `LinearBend` class is very experimental and is barely usable for anything.\n- the `toString()` override is not supported on all versions of nodejs.","readmeFilename":"README.md"}