audio_waveform-ruby
所属分类:内容生成
开发工具:Ruby
文件大小:33KB
下载次数:0
上传日期:2021-01-11 19:24:28
上 传 者:
sh-1993
说明: Ruby gem,提供对音频波形生成的音频波形数据文件的访问
(Ruby gem that provides access to audio waveform data files generated by audiowaveform)
文件列表:
.travis.yml (139, 2021-01-12)
COPYING (10851, 2021-01-12)
ChangeLog (859, 2021-01-12)
Gemfile (99, 2021-01-12)
Gemfile.lock (926, 2021-01-12)
Rakefile (471, 2021-01-12)
audio_waveform-ruby.gemspec (1054, 2021-01-12)
lib (0, 2021-01-12)
lib\audio_waveform.rb (199, 2021-01-12)
lib\audio_waveform (0, 2021-01-12)
lib\audio_waveform\error.rb (99, 2021-01-12)
lib\audio_waveform\version.rb (81, 2021-01-12)
lib\audio_waveform\waveform_data_file.rb (7063, 2021-01-12)
spec (0, 2021-01-12)
spec\audio_waveform (0, 2021-01-12)
spec\audio_waveform\version_spec.rb (202, 2021-01-12)
spec\audio_waveform\waveform_data_file_spec.rb (10875, 2021-01-12)
spec\data (0, 2021-01-12)
spec\data\invalid_header.dat (16, 2021-01-12)
spec\data\sample_rate_too_low.dat (3620, 2021-01-12)
spec\data\scale_too_low.dat (3620, 2021-01-12)
spec\data\test_file_stereo_16bit_64spp.dat (7220, 2021-01-12)
spec\data\test_file_stereo_8bit_64spp.dat (3620, 2021-01-12)
spec\data\version2.dat (3620, 2021-01-12)
spec\data\zero_length.dat (20, 2021-01-12)
spec\spec_helper.rb (364, 2021-01-12)
# audio_waveform-ruby
[![Gem Version](https://badge.fury.io/rb/audio_waveform-ruby.svg)](http://rubygems.org/gems/audio_waveform-ruby) [![Build Status](https://travis-ci.org/bbc/audio_waveform-ruby.svg?branch=master)](https://travis-ci.org/bbc/audio_waveform-ruby)
The audio_waveform-ruby gem provides a Ruby API for access to audio waveform data
files generated by the [audiowaveform](https://github.com/bbc/audiowaveform) program.
Refer to the [audiowaveform](https://github.com/bbc/audiowaveform) documentation for more information and [this page](https://github.com/bbc/audiowaveform/blob/master/doc/DataFormat.md) for file format details.
## Installation
To install:
$ gem install audio_waveform-ruby
or, if using bundler, add this line to your application's Gemfile:
```ruby
gem 'audio_waveform-ruby', :require => 'audio_waveform'
```
or, to use the latest code from the GitHub repository:
```ruby
gem 'audio_waveform-ruby', :require => 'audio_waveform',
:git => 'https://github.com/bbc/audio_waveform-ruby.git'
```
and run
$ bundle install
## Usage
To use this Gem in your program, add:
```ruby
require 'audio_waveform'
```
Then, to load and use data from an existing waveform data file:
```ruby
waveform = AudioWaveform::WaveformDataFile.new(filename: "test.dat")
puts waveform.sample_rate # Returns audio sample rate, in Hz
puts waveform.bits # Returns resolution of waveform data points
puts waveform.samples_per_pixel # Returns waveform zoom level, in samples per pixel
puts waveform.size # Returns number of waveform data points
(0...waveform.size).each do |i|
puts waveform.min_sample(i) # Returns waveform minimum at index i
puts waveform.max_sample(i) # Returns waveform maximum at index i
end
```
To generate a binary representation of a waveform data file:
```ruby
waveform = AudioWaveform::WaveformDataFile.new(filename: "test.dat")
data = waveform.to_binary
```
To save waveform data as a file in binary format:
```ruby
waveform = AudioWaveform::WaveformDataFile.new(filename: "test.dat")
waveform.save_as_binary("output.dat")
```
To generate a JSON representation of a waveform data file:
```ruby
waveform = AudioWaveform::WaveformDataFile.new(filename: "test.dat")
waveform.to_json
```
To save waveform data as a file in JSON format:
```ruby
waveform = AudioWaveform::WaveformDataFile.new(filename: "test.dat")
waveform.save_as_json("output.json")
```
To create a new waveform data file:
```ruby
waveform = AudioWaveform::WaveformDataFile.new(
sample_rate: 44100,
samples_per_pixel: 512,
bits: 8
)
waveform.append(-10, 10)
.append(-11, 11)
.append(-3, 3)
# etc
```
## License
See COPYING for details.
## Contributing
If you have a feature request or want to report a bug, we'd be happy to hear from you. Please either raise an [issue](https://github.com/bbcrd/audio_waveform-ruby/issues), or fork the project and send us a pull request.
## Authors
This software was written by [Chris Needham](https://github.com/chrisn), chris.needham at bbc.co.uk.
## Copyright
Copyright 2020 British Broadcasting Corporation
近期下载者:
相关文件:
收藏者: