28 August 2010

Announcing as3-karaoke-player, my first open library

Today I’m very excited to announce my first open source library: as3-karaoke-player. It comes from a request to make a small karaoke website. The idea is that karaoke is a popular kind of entertainment in Vietnam so I thought I would make the core rendering engine open source so that everyone especially my fellow developers can make and/or enjoy karaoke online. (About the said karaoke site, of course I only charged the GUI customization and the Red5 recorder)

You can check out or download the source at Google Code site: http://code.google.com/p/as3-karaoke-player/. This library is licensed under Apache License 2.0.

Here's the sample player:


(The background photo is taken by me :P )

This library will render lyrics and music in synchronization so that viewer can sing a long. The core player was designed as simple as a screen to render karaoke only. Developers can implement their own graphical interface to control the engine and add other features.

The library was implemented with performance concerns and open standards kept in mind. The lyrics data file is adopted from W3C standard Timed Text. The player uses AS3Signals as communication mechanism among components.

Current features:

  • Load and parse a Timed Text-based lyrics XML file (see specifications)
  • Load and play progressive beat audio (MP3)
  • Lyric texts are synchronized with audio
  • Play, pause, stop, seek allowed
  • Set global lyric styles (font, color, size) and few options

I have also created a sample player (demo above) based on the Lunar skin from RealEyes OSMF Media Player with these additional features:

  • Set volume
  • Turn lyrics (A.K.A captions) on/off
  • Go to full screen

These are features that I plan to add (random order and no promises):

  • AIR application for editing the lyric data file
  • Song-specific lyric color styling
  • Multiple text lines (more than 2, not decided how to show/animate them)
  • Custom transition for text line instances
  • Photo slide show for background
  • Red5 application for recording from user's microphone
  • Play video as background
  • Play karaoke video (videos with music and running lyrics)
  • Flex Component 
  • AIR application for local recording
  • ... (please suggest)

If you find any bugs or have any suggestion, feel free to post a new ticket to the issue tracker. I welcome anyone wants to join this project.

[Vietnamese tag: công bố thư viện nguồn mở đầu tiên của tôi as3-karaoke-player]

15 comments:

  1. That sounds great, I will wait for it ^^

    ReplyDelete
  2. Sounds a great idea for a Karaoke Player with good enough demand too. Well done!

    ReplyDelete
  3. Word! great work, can't wait to check it out!

    ReplyDelete
  4. "Next song" will be greater

    ReplyDelete
  5. Hello. I'm from Mongolia. I could not play this sample. I wrote email. Please check it. 

    ReplyDelete
  6. You have to select a song at top-right corner first.

    ReplyDelete
  7. Bác Trần ơi có thể tạo khung tìm kiếm từ kho nhạc thay vì chọn từ danh sách không

    ReplyDelete
  8. Cái đó bạn phải viết thêm. Thường việc tìm kiếm từ CSDL được thực hiện ở server-side. Khi người dùng nhấn chọn kết quả thì hiển thị trang web có Karaoke được nhúng và thông tin bài hát được truyền vào bằng FlashVars.

    ReplyDelete
  9.  Hic em ko rành về cái này em định setup 1 cái lên host để cả nhóm karaoke online cho vui thôi.

    ReplyDelete
  10.  Bác có thể làm giúp em send qua mail boss9x@gmail.com không thanks bác nhiều lắm. Em thích CNTT nhưng CNTT không phải ngành của em nên em chỉ biết 1 số thứ thôi.

    ReplyDelete
  11. Tôi viết thư viện này nhắm đến đối tượng lập trình viên có nhu cầu viết chương trình Karaoke online. Nếu có làm tiếp tôi cũng sẽ viết những tính năng thuộc về nền tảng của một thư viện. Còn yêu cầu cụ thể của bạn, bạn phải tự làm thôi.Nếu bạn viết sơ sơ HTML, bạn vẫn có thể làm một trang danh sách bài hát đơn giản. Khi nhấn vào đường link bài hát, nó sẽ mở ra trang Karaoke player. Trang Karaoke sẽ xử lý parameter trên URL để truyền thông tin bài hát vào flashvars...Cuối cùng nếu mục đích của bạn chỉ đơn thuần giải trí, bạn nên tìm đến các website như sannhac.com hay star.zing.vn.

    ReplyDelete
  12. Em chưa học qua bất kỳ lớp lập trình nào nên ko thể hiểu rõ dc. Vì các trang trên không phải bài nào cũng có theo ý mình nên em mới có ý tưởng tự làm 1 cái nhỏ để cho 1 group xài chung. Dù sao cũng cảm ơn bác.

    ReplyDelete