Looking for code to determine length of audio files

Discussion in 'Ruby' started by Rick DeNatale, Jan 19, 2008.

  1. I'm working on a project which has the requirement to automatically
    determine the runtime of audio files in several formats, right now mp3
    and aac.

    I googled around to see if there might be some existing code,
    hopefully ruby code which can determine this, but I'm coming up dry.

    Any ideas?

    --
    Rick DeNatale

    My blog on Ruby
    http://talklikeaduck.denhaven2.com/
     
    Rick DeNatale, Jan 19, 2008
    #1
    1. Advertising

  2. Rick DeNatale

    ara.t.howard Guest

    [OT] Re: Looking for code to determine length of audio files

    On Jan 18, 2008, at 6:47 PM, Rick DeNatale wrote:

    > I'm working on a project which has the requirement to automatically
    > determine the runtime of audio files in several formats, right now mp3
    > and aac.
    >
    > I googled around to see if there might be some existing code,
    > hopefully ruby code which can determine this, but I'm coming up dry.
    >
    > Any ideas?
    >
    > --
    > Rick DeNatale
    >
    > My blog on Ruby
    > http://talklikeaduck.denhaven2.com/
    >



    cfp:~/src/ruby > mp3info -p "%S seconds\n" /Users/ahoward/mp3/hot\
    chip\ -\ crap\ kraft\ dinner.mp3
    394 seconds


    a @ http://codeforpeople.com/
    --
    we can deny everything, except that we have the possibility of being
    better. simply reflect on that.
    h.h. the 14th dalai lama
     
    ara.t.howard, Jan 19, 2008
    #2
    1. Advertising

  3. I got curious and decided to look at RAA.
    http://raa.ruby-lang.org/
    mp3info claims to be able to give mp3 length.
    -Carlos

    On Sat, 19 Jan 2008 10:47:47 +0900, "Rick DeNatale"
    <> said:
    > I'm working on a project which has the requirement to automatically
    > determine the runtime of audio files in several formats, right now mp3
    > and aac.
    >
    > I googled around to see if there might be some existing code,
    > hopefully ruby code which can determine this, but I'm coming up dry.
    >
    > Any ideas?
    >
    > --
    > Rick DeNatale
    >
    > My blog on Ruby
    > http://talklikeaduck.denhaven2.com/
    >
     
    Carlos J. Hernandez, Jan 19, 2008
    #3
  4. Rick DeNatale

    Tom Reilly Guest

    Re: [OT] Re: Looking for code to determine length of audio files

    I wrote this to determine how much dictation there is to do in my office
    to see how backed up the typist is. It's a quick and dirty program but
    it works
    #---------------------------------------
    #
    # Compute time of unfinished dictation
    #
    #--------------------------------------
    # Version 1.1 1/18/07
    require 'find'
    file_tb = Array.new
    Find.find(".\\trdict",".\\Dictations") do |f|
    if f =~ /DONE/
    Find.prune
    elsif f =~ /wav/
    fsize = File.stat(f).size
    time = fsize.to_f * 0.00157 / 1000.0 #minutes
    file_tb.push([f,fsize,time])
    elsif f =~ /WMA/
    fsize = File.stat(f).size
    time = f.size.to_f * 0.008123 / 1000.0
    file_tb.push([f,fsize,time])
    end
    end

    totSize = 0
    totTime = 0
    #file_tb.each {|x| p "#{x[0]} #{x[1]} #{x[2]}"}
    file_tb.each {|x| totSize += x[1]; totTime += x[2]}
    p "# Files=#{file_tb.size}, File Size=#{totSize/1000000} MB, Total
    Time=#{totTime} Min"
    sleep 10
    ara.t.howard wrote:
    >
    > On Jan 18, 2008, at 6:47 PM, Rick DeNatale wrote:
    >
    >> I'm working on a project which has the requirement to automatically
    >> determine the runtime of audio files in several formats, right now mp3
    >> and aac.
    >>
    >> I googled around to see if there might be some existing code,
    >> hopefully ruby code which can determine this, but I'm coming up dry.
    >>
    >> Any ideas?
    >>
    >> -- Rick DeNatale
    >>
    >> My blog on Ruby
    >> http://talklikeaduck.denhaven2.com/
    >>

    >
    >
    > cfp:~/src/ruby > mp3info -p "%S seconds\n" /Users/ahoward/mp3/hot\
    > chip\ -\ crap\ kraft\ dinner.mp3
    > 394 seconds
    >
    >
    > a @ http://codeforpeople.com/
    > --
    > we can deny everything, except that we have the possibility of being
    > better. simply reflect on that.
    > h.h. the 14th dalai lama
    >
    >
    >
    >
    >
     
    Tom Reilly, Jan 19, 2008
    #4
  5. Re: [OT] Re: Looking for code to determine length of audio files

    On 1/19/08, Tom Reilly <> wrote:
    > I wrote this to determine how much dictation there is to do in my office
    > to see how backed up the typist is. It's a quick and dirty program but
    > it works


    Except that it doesn't handle the file types I need.


    --
    Rick DeNatale

    My blog on Ruby
    http://talklikeaduck.denhaven2.com/
     
    Rick DeNatale, Jan 24, 2008
    #5
  6. Re: [OT] Re: Looking for code to determine length of audio files

    On 1/18/08, ara.t.howard <> wrote:
    >
    > On Jan 18, 2008, at 6:47 PM, Rick DeNatale wrote:
    >
    > > I'm working on a project which has the requirement to automatically
    > > determine the runtime of audio files in several formats, right now mp3
    > > and aac.


    >
    > cfp:~/src/ruby > mp3info -p "%S seconds\n" /Users/ahoward/mp3/hot\
    > chip\ -\ crap\ kraft\ dinner.mp3
    > 394 seconds


    Where does this mp3info come from? I installed mp3info from
    http://ruby-mp3info.rubyforge.org/ following Carlo's lead, but it
    doesn't seem to have a command line component.

    But looking at an example of the podcast I need to handle, in both mp3
    and aac format, neither seems to have any duration related tags.

    So I guess I need to figure out if there's any way to compute the duration.

    Any ideas anyone?

    --
    Rick DeNatale

    My blog on Ruby
    http://talklikeaduck.denhaven2.com/
     
    Rick DeNatale, Jan 24, 2008
    #6
  7. Rick DeNatale

    ara.t.howard Guest

    Re: [OT] Re: Looking for code to determine length of audio files

    On Jan 24, 2008, at 9:55 AM, Rick DeNatale wrote:

    > Where does this mp3info come from? I installed mp3info from
    > http://ruby-mp3info.rubyforge.org/ following Carlo's lead, but it
    > doesn't seem to have a command line component.


    osx? port install mp3info

    otherwise: http://www.ibiblio.org/mp3info/

    regards.

    a @ http://codeforpeople.com/
    --
    share your knowledge. it's a way to achieve immortality.
    h.h. the 14th dalai lama
     
    ara.t.howard, Jan 24, 2008
    #7
  8. Rick DeNatale

    jonty Guest

    Re: [OT] Re: Looking for code to determine length of audio files

    I have just yesterday tried a script using mp3info, which worked a treat
    identifying some music files and giving their length
    even though their was no tag data. Hope this helps.

    require 'mp3info'


    Dir.chdir("C:/Mymusic)
    musicdir=Dir.glob("*.mp3")
    musicdir.sort
    out=""
    musicdir.each do |f|
    Mp3Info.open(f) do |mp3|
    l=mp3.length
    mins=l.divmod(60)
    if mins[0]==0
    ln=mins[1].round.to_s+" secs"
    else
    ln=mins[0].to_s+ " minutes, "+mins[1].round.to_s+" seconds"
    end
    fl=mp3.filename

    out+= fl + " length: "+ln+"\n\n"

    end
    end

    f= File.open("musicinfo.txt","w")
    f.write(out)
    f.close



    Rick DeNatale wrote:
    > On 1/18/08, ara.t.howard <> wrote:
    >
    >> On Jan 18, 2008, at 6:47 PM, Rick DeNatale wrote:
    >>
    >>
    >>> I'm working on a project which has the requirement to automatically
    >>> determine the runtime of audio files in several formats, right now mp3
    >>> and aac.
    >>>

    >
    >
    >> cfp:~/src/ruby > mp3info -p "%S seconds\n" /Users/ahoward/mp3/hot\
    >> chip\ -\ crap\ kraft\ dinner.mp3
    >> 394 seconds
    >>

    >
    > Where does this mp3info come from? I installed mp3info from
    > http://ruby-mp3info.rubyforge.org/ following Carlo's lead, but it
    > doesn't seem to have a command line component.
    >
    > But looking at an example of the podcast I need to handle, in both mp3
    > and aac format, neither seems to have any duration related tags.
    >
    > So I guess I need to figure out if there's any way to compute the duration.
    >
    > Any ideas anyone?
    >
    >
     
    jonty, Jan 24, 2008
    #8
  9. Re: [OT] Re: Looking for code to determine length of audio files

    On 1/24/08, ara.t.howard <> wrote:
    >
    > On Jan 24, 2008, at 9:55 AM, Rick DeNatale wrote:
    >
    > > Where does this mp3info come from? I installed mp3info from
    > > http://ruby-mp3info.rubyforge.org/ following Carlo's lead, but it
    > > doesn't seem to have a command line component.

    >
    > osx? port install mp3info
    >
    > otherwise: http://www.ibiblio.org/mp3info/


    Ara,

    Thanks!

    We'd found another program called sox as an alternative, but at least
    on OSX, it's rather slow, it's really an audio file transcoder and it
    seems to be doing quite a bit of work to discover the playing time,
    several seconds for a 30 minute MP3.

    --
    Rick DeNatale

    My blog on Ruby
    http://talklikeaduck.denhaven2.com/
     
    Rick DeNatale, Jan 25, 2008
    #9
  10. Re: [OT] Re: Looking for code to determine length of audio files

    Rick DeNatale wrote:
    > But looking at an example of the podcast I need to handle, in both mp3
    > and aac format, neither seems to have any duration related tags.
    >
    > So I guess I need to figure out if there's any way to compute the duration.
    > Any ideas anyone?


    mp3info tries to estimate the running time unless you run it with the -F option,
    which tells it to scan the whole file and count frames etc.

    I have a command-line version installed in Debian using apt-get, and the same
    version installed in Windows. I haven't tried the Mac version yet.

    Clifford Heath.
     
    Clifford Heath, Jan 25, 2008
    #10
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. aeonsun
    Replies:
    2
    Views:
    433
    Luc The Perverse
    Mar 11, 2007
  2. Peña, Botp
    Replies:
    1
    Views:
    242
    Robert Klemme
    Jan 24, 2004
  3. Jesse Jurman

    Audio Files length

    Jesse Jurman, Aug 5, 2010, in forum: Ruby
    Replies:
    1
    Views:
    118
    Raveendran .P
    Aug 6, 2010
  4. roadrunner
    Replies:
    1
    Views:
    227
    A. Sinan Unur
    Feb 6, 2006
  5. sick dick
    Replies:
    0
    Views:
    393
    sick dick
    Apr 3, 2006
Loading...

Share This Page