`
jsntghf
  • 浏览: 2532649 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

用ruby脚本管理你的音乐

阅读更多

用ruby管理mp3,不是重命名这么简单,需要深入去操作mp3的标签,所以需要用到一些第三方的库,这里有两个比较流行的库:id3lib-ruby和ruby-mp3info。

 

首先,需要在gem里安装这些库:

 

gem install ruby-mp3info 
gem install id3lib-ruby

 

安装其中之一就可以了。在这些安装的库里都有很详细的实例来演示使用方法,而且使用起来也非常简单,如果在安装过程中出现302错误,说明你的gem版本太低,可以去gem官网升级你的gem(gem版本太低的话,gem update --system命令可能不起作用,必须自行升级)。

 

http://rubygems.org/pages/download下载zip文件,解压后执行setup.rb即可升级,升级后就可以正常安装gem库了。

 

下面以id3lib-ruby为例。

 

也可以到https://github.com/oldsong/ruby-mp3info下载后,执行下面命令进行安装:

 

ruby install.rb config
ruby install.rb setup
ruby install.rb install

 

不建议通过gem的方式安装,因为这样安装的版本有bug,建议采用上面的方法。

 

1、修正文件名

 

这个应该是很常用的一个功能,就是音乐文件的文件名通常很乱,但是标签里的名字可能是正确的,这时候就可以用脚本读取标签名,然后重命名音乐文件名。

 

    require 'id3lib'
    require 'find'
    require 'fileutils'

    source = "D:/music"
    Find.find(source) do |file|
      if !File.directory?(file)
        tag = ID3Lib::Tag.new(file)
        File.rename(file, File.dirname(file) + "/" + tag.title + File.extname(file))
      end
    end

 

2、将文件名写入标签

 

    require 'id3lib'
    require 'find'
    require 'fileutils'

    source = "D:/music"
    Find.find(source) do |file|
      if !FileTest.directory?(file)
        tag = ID3Lib::Tag.new(file)
        tag.title = File.basename(file, ".mp3")
        tag.update!()
      end
    end

 

用这个库可以开发一个完整的音乐管理软件,因为它提供了一整套完备的针对音乐文件的操作。

分享到:
评论

相关推荐

    ruby语言开发的音乐推荐网站源码(作业).zip

    4. **untitled.rb**:这可能是一个未命名的Ruby脚本文件,可能包含了特定的功能代码或者临时的测试代码。 5. **config.ru**:这是Sinatra或者Rails应用的启动配置文件,用于启动 Rack 服务器。Rack 是一个 Ruby Web...

    基于ruby实现的音乐推荐网站.zip

    Ruby是一种面向对象的脚本语言,以其简洁明了的语法和强大的元编程能力而受到开发者的喜爱。在这个基于Ruby实现的音乐推荐网站项目中,我们可以深入学习Ruby在Web开发中的应用以及相关技术栈。 1. **Ruby on Rails...

    用Python,Lua和Ruby语言设计游戏-Game.Programming.with.Python.Lua.And.Ruby.

    《用Python,Lua和Ruby语言设计游戏-Game.Programming.with.Python.Lua.And.Ruby》这本书深入探讨了如何利用这些语言的优势来构建游戏。 Python在游戏开发中的应用主要体现在其强大的库支持和清晰的语法结构上。例如...

    Ruby-YeahRuby视频游戏框架

    8. **脚本系统**:Ruby本身就是一种强大的脚本语言,Yeah充分利用这一优势,允许开发者通过Ruby代码编写游戏逻辑,提供高度的灵活性和可扩展性。 9. **教程和文档**:Yeah项目通常会附带详细的文档和示例代码,帮助...

    simple_game_engine:这是一个用 ruby​​ 编写的简单游戏引擎

    4. **音频管理**:虽然Ruby本身不擅长处理音频,但可以通过与其他库如FMod或SFML集成来播放音效和音乐。 5. **对象和实体**:游戏中的角色、物品等都可以表示为对象。Ruby的面向对象特性非常适合创建和管理这些游戏...

    mumble-ruby-pluginbot:一个 Mumble-ruby 机器人(基于插件)

    无论是简单的欢迎消息还是复杂的自动化流程,都可以通过编写Ruby脚本来实现。 七、Murmur服务器集成 Murmur是Mumble服务器的后台程序,mumble-ruby-pluginbot能够与之无缝对接。通过Murmur服务器,机器人可以获取...

    推荐系统的协同过滤_Ruby_Shell_下载.zip

    推荐系统是一种广泛应用于电商、音乐流媒体、视频分享等领域的个性化信息推送技术,它通过...通过深入学习和实践这个项目,你不仅可以掌握推荐系统的基础知识,还能提升编程技能,尤其是Ruby和Shell脚本的应用能力。

    ruby 和 gosu 的 图像处理工具_c语言_代码_下载

    Ruby是一种面向对象的脚本语言,常常用于快速开发和原型设计。在与Gosu结合时,它们可以创建出强大的图像处理和游戏开发工具。Gosu是Ruby的一个库,专为2D游戏编程设计,同时也非常适合进行图像操作和显示。 在Ruby...

    rgss3a解包器

    5. 输出:解包后的资源以原始格式保存到指定目录,如PNG图片、MIDI音乐文件、Ruby脚本等。 使用RGSS3A解包器需要注意以下几点: - **版权问题**:解包游戏资源可能涉及侵犯版权,因此仅应在合法范围内使用,如个人...

    learn-game-programming-with-ruby:https

    在IT行业中,游戏编程是一个非常热门且充满挑战的领域,而Ruby作为一种强大的脚本语言,以其简洁、易读的语法和强大的元编程能力受到了许多开发者的喜爱。"learn-game-programming-with-ruby:https"这个项目很显然是...

    基于rpgmaker游戏引擎简单游戏实现

    虽然基础版的RPGMaker提供了很多预设的功能,但如果希望实现更独特或复杂的游戏机制,就需要利用Ruby脚本来扩展其功能。例如,修改战斗系统,增加特殊技能,或者创建复杂的剧情分支。 在学习和实践"基于RPGMaker...

    RM百变宝典

    1. **脚本系统**:RMXP引入了Ruby语言作为脚本基础,使得游戏逻辑定制更加灵活和强大,开发者可以通过编写Ruby脚本来实现复杂的游戏机制。 2. **图形升级**:相比前作,RMXP的图形界面得到了显著提升,支持更高...

    RMXP 基础教程

    2. **脚本系统**:Ruby编程语言被用作RMXP的脚本语言,允许你实现自定义功能。教程可能会教你基本的Ruby语法,并展示如何通过脚本来增强游戏体验。 3. **音乐与音效**:RMXP支持导入音频文件,用于背景音乐和各种...

    touhou_music_search:东方同人音乐发行管理应用程序

    4. **应用程序开发**:touhou_music_search是针对特定需求定制的软件应用,旨在解决东方同人音乐爱好者在搜索、管理音乐上的问题。这通常包括数据的收集、整理、分类和搜索功能。 5. **音乐发行管理**:该程序可能...

    RPG_Maker_XP教程

    - **强大的脚本系统**:基于Ruby语言的脚本系统,允许开发者自定义游戏逻辑、界面设计及战斗系统等,极大地提高了游戏创作的灵活性和深度。 #### 三、系统需求 - **最低配置**:Windows 98/98SE/Me/2000/XP操作...

    RPG Maker XP

    5. **脚本系统**:尽管RPG Maker XP主要依赖于图形化界面,但它也支持Ruby脚本编写。对于有编程基础的用户,可以通过编写和修改脚本来扩展游戏功能,实现更高级的游戏逻辑。 6. **游戏发布与共享**:完成游戏制作后...

    RPG制作大师图片教程

    教程会介绍基础的Ruby脚本知识,以及如何通过脚本来增强游戏逻辑。 7. **音乐与音效**:音乐和音效能极大地提升游戏氛围。教程会指导你如何导入和管理音频资源,以及在合适的时间播放它们。 8. **发布与调试**:...

    playlists:我的iTunes音乐库

    版本跟踪确保了音乐库的灵活性和可恢复性,而Shell脚本可以进一步提升管理效率,尽管这个特定的压缩包可能对Shell编程爱好者来说不太相关。通过分析和利用“playlists-master”中的资源,用户可以深入探索如何利用...

    RM天干宝典

    2. **脚本系统**:虽然RMXP提供预设的事件和系统,但它还允许用户通过Ruby脚本来自定义游戏逻辑,极大地扩展了其可能性。 3. **资源库**:RMXP内建了大量的图形、音乐和音效资源,如角色、地图、动画等,这些都为...

    RPG maker XP电子书

    虽然其默认的功能已经相当全面,但通过学习和编写Ruby语言的脚本,用户可以扩展游戏功能,实现更复杂的游戏机制。例如,可以编写脚本来改变战斗系统,增加特殊技能,或者创建独特的剧情分支。 RPG Maker XP教程.exe...

Global site tag (gtag.js) - Google Analytics