# Play audio file (AAC) from ruby program

**URL:** <https://www.ruby-forum.com/t/play-audio-file-aac-from-ruby-program/188583>\
**Category:** Ruby\
**Created:** [May 14, 2010, 9:45am UTC](https://www.ruby-forum.com/t/play-audio-file-aac-from-ruby-program/188583 "2010-05-14T09:45:55Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![sentinel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@sentinel](https://www.ruby-forum.com/u/sentinel)\
**Post date:** [May 14, 2010, 9:45am UTC](https://www.ruby-forum.com/t/play-audio-file-aac-from-ruby-program/188583/1 "2010-05-14T09:45:55Z")

</div>

I need to play, pause and resume AAC files from a ruby console program  
(much like iTunes or any music player).

After much searching, I’ve come across these libraries:

1. mp3info
2. metadata
3. id3lib-ruby
4. rvideo (uses ffmpeg)

These seem to help me in getting track length and tags which i also  
need, but I need something to play AAC (at least) and if possible other  
formats. I also must be able to pause and resume (so shelling a program  
like mpg321 is out).

---

<div class="post-metadata">

**Author:** ![sentinel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@sentinel](https://www.ruby-forum.com/u/sentinel)\
**Post date:** [May 14, 2010, 3:42pm UTC](https://www.ruby-forum.com/t/play-audio-file-aac-from-ruby-program/188583/2 "2010-05-14T15:42:40Z")

</div>

On Fri, May 14, 2010 at 10:26 AM, Louis-Philippe [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> > 1. metadata
> > 2. id3lib-ruby
> > 3. rvideo (uses ffmpeg)
> > 
> > These seem to help me in getting track length and tags which i also  
> > need, but I need something to play AAC (at least) and if possible other  
> > formats. I also must be able to pause and resume (so shelling a program  
> > like mpg321 is out).

I’m not saying it’s the best solution, but you can use mpg321 to  
pause and resume. I think you need to use -R

---

<div class="post-metadata">

**Author:** ![sentinel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@sentinel](https://www.ruby-forum.com/u/sentinel)\
**Post date:** [May 14, 2010, 3:27pm UTC](https://www.ruby-forum.com/t/play-audio-file-aac-from-ruby-program/188583/3 "2010-05-14T15:27:26Z")

</div>

if its for the mac, you could use MacRuby with QTKit.

2010/5/14 R. Kumar [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![sentinel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@sentinel](https://www.ruby-forum.com/u/sentinel)\
**Post date:** [May 14, 2010, 4:47pm UTC](https://www.ruby-forum.com/t/play-audio-file-aac-from-ruby-program/188583/4 "2010-05-14T16:47:13Z")

</div>

Luis P. wrote:

> > > These seem to help me in getting track length and tags which i also  
> > > need, but I need something to play AAC (at least) and if possible other  
> > > formats. I also must be able to pause and resume (so shelling a program  
> > > like mpg321 is out).
> 
> I’m not saying it’s the best solution, but you can use mpg321 to  
> pause and resume. I think you need to use -R

Thanks, I just tried it. It gave a malloc error complaining first that  
it could only do 44Khz files. (Crashed out on LOAD).

---

<div class="post-metadata">

**Author:** ![sentinel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@sentinel](https://www.ruby-forum.com/u/sentinel)\
**Post date:** [May 14, 2010, 4:59pm UTC](https://www.ruby-forum.com/t/play-audio-file-aac-from-ruby-program/188583/5 "2010-05-14T16:59:57Z")

</div>

> Thanks, I just tried it. It gave a malloc error complaining first that  
> it could only do 44Khz files. (Crashed out on LOAD).

You might also try mplayer in -slave mode. I know that can handle 48k  
audio.

-Jonathan N.

---

<div class="post-metadata">

**Author:** ![sentinel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@sentinel](https://www.ruby-forum.com/u/sentinel)\
**Post date:** [May 14, 2010, 4:45pm UTC](https://www.ruby-forum.com/t/play-audio-file-aac-from-ruby-program/188583/6 "2010-05-14T16:45:03Z")

</div>

Louis-Philippe wrote:

> if its for the mac, you could use MacRuby with QTKit.

I am on a mac, but this is a console program so should be usable on  
other systems too. Also, Macruby makes it a GUI program, I am using a  
character terminal.

---

<div class="post-metadata">

**Author:** ![sentinel](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/fbc32d/32.png) [@sentinel](https://www.ruby-forum.com/u/sentinel)\
**Post date:** [May 15, 2010, 9:22am UTC](https://www.ruby-forum.com/t/play-audio-file-aac-from-ruby-program/188583/7 "2010-05-15T09:22:49Z")

</div>

I’ve come across a Snack Sound Toolkit,  
[Snack Sound Toolkit - Wikipedia](http://en.wikipedia.org/wiki/Snack_Sound_Toolkit) – seems to be some  
ancient bindings to it, less than alpha and untested. It also requires  
Tk.

portaudio has some ruby bindings to it: paruby and ruby-portaudio  
([ruby-portaudio/lib/portaudio.rb at master · jvoorhis/ruby-portaudio · GitHub](http://github.com/jvoorhis/ruby-portaudio/blob/master/lib/portaudio.rb#)).  
The latter is Feb 2010 the other (paruby) seems quite old and perhaps  
abandoned (updated 2006, status: in development).

Someone suggested “afplay” – this is a command line utility on OSX.  
Unfortunately, does not allow me to pause resume.

So it looks like ruby-portaudio may be the best bet at present.
