├── .gitattributes
├── .gitignore
├── BeachBlazer.wav
├── LISCENSE
├── README.html
├── README.md
├── Rock_With_You.ogg
├── batchstretcher
└── BatchStretcher.ipynb
├── gunplay.ttf
├── index.html
├── main.css
├── scripts
└── plugins
│ ├── wavesurfer.elan.min.js
│ ├── wavesurfer.microphone.min.js
│ ├── wavesurfer.min.js
│ ├── wavesurfer.min.js.map
│ ├── wavesurfer.minimap.min.js
│ ├── wavesurfer.regions.min.js
│ ├── wavesurfer.spectrogram.min.js
│ ├── wavesurfer.timeline.min.js
│ └── wavesurfer.umd.js
├── soundtouch.js
├── stretcher.jpg
├── stretcher.js
└── test.js
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 |
7 | # Standard to msysgit
8 | *.doc diff=astextplain
9 | *.DOC diff=astextplain
10 | *.docx diff=astextplain
11 | *.DOCX diff=astextplain
12 | *.dot diff=astextplain
13 | *.DOT diff=astextplain
14 | *.pdf diff=astextplain
15 | *.PDF diff=astextplain
16 | *.rtf diff=astextplain
17 | *.RTF diff=astextplain
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Windows image file caches
2 | Thumbs.db
3 | ehthumbs.db
4 |
5 | # Folder config file
6 | Desktop.ini
7 |
8 | # Recycle Bin used on file shares
9 | $RECYCLE.BIN/
10 |
11 | # Windows Installer files
12 | *.cab
13 | *.msi
14 | *.msm
15 | *.msp
16 |
17 | # Windows shortcuts
18 | *.lnk
19 |
20 | # =========================
21 | # Operating System Files
22 | # =========================
23 |
24 | # OSX
25 | # =========================
26 |
27 | .DS_Store
28 | .AppleDouble
29 | .LSOverride
30 |
31 | # Thumbnails
32 | ._*
33 |
34 | # Files that might appear in the root of a volume
35 | .DocumentRevisions-V100
36 | .fseventsd
37 | .Spotlight-V100
38 | .TemporaryItems
39 | .Trashes
40 | .VolumeIcon.icns
41 |
42 | # Directories potentially created on remote AFP share
43 | .AppleDB
44 | .AppleDesktop
45 | Network Trash Folder
46 | Temporary Items
47 | .apdisk
48 | *.mp3
49 |
--------------------------------------------------------------------------------
/BeachBlazer.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ZVK/stretcher/b75efb589ca275dabe22f642a8d3f6a06ae01eca/BeachBlazer.wav
--------------------------------------------------------------------------------
/LISCENSE:
--------------------------------------------------------------------------------
1 | The MIT License
2 |
3 | Copyright (c) 2015 Zachary Zukowski of Soundbomb Arts LLC http://soundbomb.media
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.html:
--------------------------------------------------------------------------------
1 |
Stretcher
1018 | A time stretching web app using soundtouch-js and wavesurfer-js.
1019 | WaveSurfer Documentation:
1020 |
1023 | SoundTouch Basics:
1024 | SoundTouch
1025 | The following code exposes soundtouch objects to the browser window:
1026 |
1027 | window.soundtouch = {
1028 | 'RateTransposer': RateTransposer,
1029 | 'Stretch': Stretch,
1030 | 'SimpleFilter': SimpleFilter,
1031 | 'SoundTouch': SoundTouch,
1032 | 'WebAudioBufferSource': WebAudioBufferSource,
1033 | 'getWebAudioNode': getWebAudioNode
1034 | };
1035 |
1036 |
1037 | Here are the required argument types each of these constructors will take:
1038 |
1039 | - RateTransposer createBuffer=bool
1040 | - Stretch createBuffers=bool, sampleRate=int
1041 | - SimpleFilter sourceSound=obj, pipe=obj
1042 | - SoundTouch sampleRate=int
1043 | - WebAudioBufferSource buffer=obj
1044 | - getWebAudioNode context=obj, filter=obj
1045 |
1046 | Browser Requirements
1047 | MP3 Support:
1048 | Chrome >= 3.0
1049 | Safari >= 3.1
1050 | Safari Mobile >= 3.2
1051 | Opera >= 10.50
1052 | Firefox >= 3.5
1053 | A note from: Mozilla’s Browser Compatibility Table
1054 |
1055 | [5]To avoid patent issues, support for MP3 is not built directly into Firefox. Instead it relies on support from the OS. Firefox supports this format on the following platforms: Windows Vista+ since Firefox 22.0, Android since Firefox 20.0, Firefox OS since Firefox 15.0, Linux since Firefox 26.0 (relies on GStreamer codecs) and OS X 10.7 since Firefox 35.0.
1056 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Stretcher
2 |
3 | A time stretching web app using [soundtouch-js](https://github.com/ZVK/soundtouch-js) and [wavesurfer-js](https://github.com/katspaugh/wavesurfer.js).
4 |
5 | ## WaveSurfer Documentation:
6 | - [wavesurfer-js.org](http://wavesurfer-js.org/)
7 |
8 | this.states = [playing, paused, finished]
9 | this.backend.source.buffer.extract()
10 |
11 | ## SoundTouch Basics:
12 |
13 | The following code exposes soundtouch objects to the browser window:
14 |
15 |