Scissor

Description

utility to chop sound files

supported file format:

  • mp3

  • wav

  • m4a

Installation

Requirements

Archive Installation

rake install

Gem Installation

gem update --system
gem install gemcutter
gem tumble
gem install scissor

Features/Problems

  • When you concatenate two or more files, format(sample rate, bit rate, …) mismatch causes unexpected changes to output file.

Synopsis

instantiate

from file

foo = Scissor('foo.mp3')
bar = Scissor('bar.wav')

from URL

foo = Scissor('http://example.com/foo.mp3')
bar = Scissor('http://example.org/bar.wav')

concat

foo + bar > 'foobar.mp3'

slice + concat

foo[10, 1] + bar[2, 3] > 'slicefoobar.mp3'

slice + concat + loop

(foo[10, 1] + bar[2, 3]) * 4 > 'slicefoobarloop.mp3'

split

(Scissor('sequence.mp3') / 16).first.to_file('split.mp3')

replace first 10 seconds with 30 seconds of silence

foo.replace(0, 10, Scissor.silence(30)).to_file('replace.mp3')

sequence + loop

seq = Scissor.sequence('x y  xyz', 0.2)
seq.apply(:x => foo, :y => Proc.new { bar }, :z => foo.reverse) * 4 > 'sequence.wav'

half the pitch

foo.pitch(50)

200% time stretch without changing the pitch

foo.stretch(200)

pan

foo.pan(0)   # left only
foo.pan(50)  # center(default)
foo.pan(100) # right only

mix

Scissor.mix([foo, bar], 'mix.mp3')
Author

youpy <[email protected]>

Copyright

Copyright © 2009 youpy

License

MIT