<commit_before>Pulse.js
========

This library aims to get the BPM (beat per minute) automatically with Web Audio API.

Usage
-----

Here is a basic usage of Pulse:

    var uri = "song.mp3";
    var pulse = new Pulse({
      
        // when Pulse has finished to compute main data: beat, significant peaks...
        onComplete: function(event, pulse) {
            var extrapolatedPeaks = pulse.getExtrapolatedPeaks(
                pulse.renderedBuffer,
                pulse.significantPeaks,
                pulse.beat
            );

            // beat (ms and bpm properties)
            console.log(pulse.beat);

            // extrapolated peaks
            console.log(extrapolatedPeaks);
        }
    });

    pulse.loadBufferFromURI(uri);

Examples
--------

This is a screenshot of a game based on rhythms like ["Dance Dance Revolution"](http://en.wikipedia.org/wiki/Dance_Dance_Revolution). It show one of the several possibilities of Pulse.

<p>
<figure>
    <a href="http://i.imgur.com/nKaGrWm.png">
       <img src="http://i.imgur.com/nKaGrWm.png" width="395">
    </a>
<br /><figcaption>*<NAME> - Uptown Funk feat. Bruno Mars*</figcaption>
</figure>
</p>

<p>
<figure>
    <a href="http://i.imgur.com/X98o1qj.png">
       <img src="http://i.imgur.com/X98o1qj.png" width="395">
    </a>
<br /><figcaption>*Avicii - The Nights*</figcaption>
</figure>
</p>

<p>
<figure>
    <a href="http://i.imgur.com/BXuispo.png">
       <img src="http://i.imgur.com/BXuispo.png" width="395">
    </a>
<br /><figcaption>*Avicii - The Nights*</figcaption>
</figure>
</p>

Documentation
-------------

The [full documentation](https://github.com/srchea/pulse.js/blob/master/doc/README.md) can be found on this repository.

Contributions
-------------

 * Install all grunt tasks: `npm install`
 * Then run: `grunt watch`
 * Enjoy :-) and please do not forget comments.

Of course, all contributions are welcome.

<commit_msg>Add <p><commit_after>Pulse.js
========

This library aims to get the BPM (beat per minute) automatically with Web Audio API.

Usage
-----

Here is a basic usage of Pulse:

    var uri = "song.mp3";
    var pulse = new Pulse({
      
        // when Pulse has finished to compute main data: beat, significant peaks...
        onComplete: function(event, pulse) {
            var extrapolatedPeaks = pulse.getExtrapolatedPeaks(
                pulse.renderedBuffer,
                pulse.significantPeaks,
                pulse.beat
            );

            // beat (ms and bpm properties)
            console.log(pulse.beat);

            // extrapolated peaks
            console.log(extrapolatedPeaks);
        }
    });

    pulse.loadBufferFromURI(uri);

Examples
--------

This is a screenshot of a game based on rhythms like ["Dance Dance Revolution"](http://en.wikipedia.org/wiki/Dance_Dance_Revolution). It show one of the several possibilities of Pulse.

<p>
<figure>
    <a href="http://i.imgur.com/nKaGrWm.png">
       <img src="http://i.imgur.com/nKaGrWm.png" width="395">
    </a>
<br /><figcaption><NAME> - Uptown Funk feat. Bruno Mars</figcaption>
</figure>
</p>

<p>
<figure>
    <a href="http://i.imgur.com/X98o1qj.png">
       <img src="http://i.imgur.com/X98o1qj.png" width="395">
    </a>
<br /><figcaption>Avicii - The Nights</figcaption>
</figure>
</p>

<p>
<figure>
    <a href="http://i.imgur.com/BXuispo.png">
       <img src="http://i.imgur.com/BXuispo.png" width="395">
    </a>
<br /><figcaption>Avicii - The Nights</figcaption>
</figure>
</p>

Documentation
-------------

The [full documentation](https://github.com/srchea/pulse.js/blob/master/doc/README.md) can be found on this repository.

Contributions
-------------

 * Install all grunt tasks: `npm install`
 * Then run: `grunt watch`
 * Enjoy :-) and please do not forget comments.

Of course, all contributions are welcome.


{'fraction_non_alphanumeric': 0.16085372201978138, 'fraction_numerical': 0.008328995314940135, 'mean_word_length': 2.449730700179533, 'pattern_counts': {'":': 0, '<': 66, '<?xml version=': 0, '>': 66, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3329492', 'n_tokens_mistral': 1324, 'n_tokens_neox': 1244, 'n_words': 329}