gli

glitch

Glitched stream for intentional data corruption

Showing:

Popularity

Downloads/wk

8

Maintenance

No Maintenance Data Available

Package

Dependencies

0

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

glitch

Glitched stream for intentional data corruption.

install

With npm do:

npm install glitch

API reference

glitch(fileSrc, fileDst, probability, deviation, mode)

  • fileSrc : Source file.
  • fileDst : Destination file.
  • probability : Probability of deviation per byte (between 0 and 1).
  • deviation : Maximum value deviation per byte.
  • mode : File mode

new glitch.GlitchedStream(options);

Transform stream implementation.

Options :

  • probability : Probability of deviation per byte (between 0 and 1).
  • deviation : Maximum value deviation per byte.
  • whiteList : Array of whitelisted values, if set only bytes with those values will be modified.
  • blackList : Array of blacklisted values, no byte with those values will be modified.
  • deviationFunction : Replace the default deviation function of the stream, allows to write more complex filtering than whitelisting and blacklisting

Examples

var glitch = require('glitch');
glitch('test.jpg', 'test.glitched.jpg', 0.0001, 2, 0777);

Copy a glitched version of test.jpg as test.glitched.jpg where each byte has probability of 1/10000 of having its value modified by a maximum of 2.

var GlitchedStream = require('glitch').GlitchedStream;
var gstream = new GlitchedStream({
  'deviation' : 1,
  'probability' : 1,
  'whiteList' : [0xcc,0xcd,0xce,0xcf]
});
someMidiStream.pipe(gstream).pipe(someMidiReceiver);

Pipe a midi stream into a glitched stream which will modify every bytes matching the whitelist by a maximum value of 1 before piping it into midiReceiver.

Potential use case

  • Glitching text files and images (though you'll end up with a lot of totally unreadable files).
  • Testing applications or libraries against failure.
  • Celebrating april's fool day at the expense of a grunt/gulp user.

License

MIT

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100
No reviews found
Be the first to rate

Alternatives

No alternatives found

Tutorials

No tutorials found
Add a tutorial