Neo TeAm Forum

NEO Coding Competitions => NEO Spring Coding Compo 2008 => NEO Compo 2008 => The past Neo Coding Compos => the PSP APP zone - March.2008 => Topic started by: arpaagent on March 20, 2008, 09:40:52 PM

Title: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: arpaagent on March 20, 2008, 09:40:52 PM
Hey Everyone!  This is pretty much my first release of anything PSP, so please do enjoy!

Nickname: arpaagent
Projet name : VisMP3
From : USA
Division : PSP APP
Original enter : YES
Support Motion : NO
In last NEO Compo this project have won in the top 10 : NO

Project description: 
VisMP3 is an alternative to the lackluster built-in music player on the PSP.  Although it only supports decoding of mp3 formatted files at this time, VisMP3 offers some important features that Sony could not fit into flash0, namely a media library that organizes mp3s (regardless of folder setup)as well as playlist functionality.  Also, as indicated by the name, VisMP3 demonstrates several different types of visualizations for a visual as well as audio experience.  The Fireworks visualization is a MUST SEE.

SCREENSHOTS down a few posts.  Check them out.
::sm-11.gif::

Features:
 * Developed for 3.x kernel (I am using 3.72), Works for Phat and Slim
 * Automatic detection of MP3 files in a folder and its subfolders (specified in config)
 * Hardware decoding of mp3 files
 * Parsing of ID3v1 and ID3v2 information used to build media library
 * Media Library accessed through Artist, Album, and Genre categories
 * Creation of playlists from media library items, easy to add full albums or single songs
 * Playlists are number 0-98 and can save/load from the program
 * Skinnable (background image and UI colors chosen while running)
 * Supports Sony remote control for playback control
 * Smart Random (no repeats) and Linear playback of playlists
 * Four different visualizers (for now...will be more to come), all with runtime adjustable properties:
      * Spectrum Analyzer
      * "Boom Box" (boxes flying across the screen with visually stimulating "thumps"
      * Fireworks that explode with the beats of the song, with colors correspdonding to frequency ranges
      * Oscilloscope-style view of sample data
 * Allows background visualizations while navigating media library, playlist, etc
 * Font support for loading pgfs (not available to the user yet, but uses system fonts to look nice)
 * Also supports simple bitmap style font for faster rendering

Future Plans
 * Full support for skinning and themes (including rearrangeable UI parts and fonts)
 * Addition of supported formats (audio + video)
 * More, Better, Cooler visualizations
 * Better playlist editing and functionality


Edited:

VisMP3v0.1.2 Released!!
Hey Everyone!  I have still been updating my program and wanted to drop a new release on the Forum.  I know it isn't valid for the contest, but I though some of you might be interested in an updated.  It fixes several bugs and adds a few very useful options (for full changes download and see the readme):

Important Additions
 * .zip includes a theme I made with a background and all settings included.
 * Added control of CPU clock speed.  Music plays down to 19 Mhz!! (for cpu speed, the bus speed goes down to 95, that's the lowest allowed).  Now you can get more out of your PSP's battery!!  If you are using a low clock speed, be sure to use simple fonts with no background or the UI will be slow.
 * Simple text now has larger version to match pgf font (for list Title, etc)
 * Color choice for Fonts now shows a color box instead of changing the item color, which makes it easier to read and also see the color
 * Ability to change the media library directory from within the Library options menu
Important Bugfixes
 * Playlist now advances correctly after text has faded.
 * Playlist control keys no longer affect fade state
 * Fixed some bugs in the playlist advancement algorithm
 * Changing background while drawing background no longer crashes program

A couple shots from the new program
(http://img254.imageshack.us/img254/5151/screen02uz4.jpg)
What my theme looks like.

(http://img254.imageshack.us/img254/3314/screen01cz8.jpg)
Showing how the clock is set.

Download:

Latest Version!!!
VisMP3v0.1.2 (http://www4.ncsu.edu/~jbashcra/VisMP3v0.1.2.zip)


Original Entry (VisMP3v0.1) (http://www4.ncsu.edu/~jbashcra/VisMP3v0.1.zip)

ZIP file has been released!  Please everyone try it out and let me know what you think (good OR bad).  Be sure to check out the readme in the zip.

Just extract the VisMP3 file into your ms0:/PSP/GAME directory, put some mp3z (would be good if they have id3 info in them) in ms0:/MUSIC and you should be good to go!!  See the readme for additional info.
Title: Re: VisMP3 Media Library / Visualizer
Post by: MK2k on March 21, 2008, 03:55:53 AM
Ok, screenshots please :)
Title: Re: VisMP3 Media Library / Visualizer
Post by: Lastad on March 21, 2008, 04:23:57 AM
sounds pretty impressive and i love that you implemented a shuffle of all songs seing as there is no program that does it.
irshell only does folders .. hopefully it's for real ~sm-42.gif~
Title: Re: VisMP3 Media Library / Visualizer
Post by: arpaagent on March 21, 2008, 11:48:31 AM
I'll see if I can get a few screenshots up now that I have finally got my submission in!

Here ya go.  Keep in mind that this stuff will look MUCH BETTER when it's in motion on the PSP's slow LCD screen.   So single frames don't really do the fireworks justice especially.

(http://img180.imageshack.us/img180/7717/screen02hi3.jpg)
Shot from the Media Library Tab, showing list of artists.


(http://img180.imageshack.us/img180/6131/screen03lg3.jpg)
Some fireworks exploding to the sound of music (gotta see them in motion).


(http://img180.imageshack.us/img180/6131/screen03lg3.th.jpg) (http://img180.imageshack.us/my.php?image=screen03lg3.jpg)    (http://img180.imageshack.us/img180/5725/screen04lj8.th.jpg) (http://img180.imageshack.us/my.php?image=screen04lj8.jpg)

(http://img142.imageshack.us/img142/7979/screen07av2.jpg)
Oscilloscope view with pretty colors


(http://img142.imageshack.us/img142/9662/screen08wt9.th.jpg) (http://img142.imageshack.us/my.php?image=screen08wt9.jpg)        (http://img142.imageshack.us/img142/6259/screen09wt6.th.jpg) (http://img142.imageshack.us/my.php?image=screen09wt6.jpg)
Random Fireworks going off while navigating other menus


(http://img180.imageshack.us/img180/2982/screen05kj8.jpg)
Craziness with a background image and a couple visualizers going at once.

(http://img142.imageshack.us/img142/5426/screen10eh5.th.jpg) (http://img142.imageshack.us/my.php?image=screen10eh5.jpg)   (http://img142.imageshack.us/img142/778/screen11vs5.th.jpg) (http://img142.imageshack.us/my.php?image=screen11vs5.jpg)
Examples of some moving "boom boxes" as I like to call them.


(http://img142.imageshack.us/img142/3131/screen12yn3.th.jpg) (http://img142.imageshack.us/my.php?image=screen12yn3.jpg)    (http://img142.imageshack.us/img142/2230/screen13tl7.th.jpg) (http://img142.imageshack.us/my.php?image=screen13tl7.jpg)
Spectrum analyzers.

Have fun!!!
 
Title: Re: [Screenshots Added!] VisMP3 Media Library / Visualizer
Post by: nesianstyles on March 22, 2008, 06:33:46 AM
Looks great :)
Just an idea, but it would be awesome if you could lower the cpu clock in your program to save battery.
Title: Re: [Screenshots Added!] VisMP3 Media Library / Visualizer
Post by: arpaagent on March 22, 2008, 10:47:45 AM
Yea, I was planning on it but didn't get around to it for this release.  I'll certainly add that as one of my To-Do's.  I'd probably also have to disable the visualizations whenever the clock is set lower, but I'm sure that would be ok if you are going for max battery life.
Title: Re: [Screenshots Added!] VisMP3 Media Library / Visualizer
Post by: lansingone on March 23, 2008, 12:19:00 AM
i have used alot of music programs for the PSP. and this is the best one out of all of them, stable, supports sorting of artst and other tags, and has visuals. my feture wish list would include album art support, and support for this touch screen http://www.sparkfun.com/commerce/product_info.php?products_id=8448 . this musc player alone supporting the touch screen would make it a must buy for me.
Title: Re: [Screenshots Added!] VisMP3 Media Library / Visualizer
Post by: arpaagent on March 23, 2008, 12:42:33 AM
lansingone:

Thanks for the props, I've worked hard on this one to make it useable, and I'm still going to be working on it quite a bit to improve it further.  I can add the album art to my To-Do list, hopefully get it in there sometime.

As far as the touch screen goes, do you have one of these connected up to your PSP?  I am curious about this and had not heard of it actually.  I'm not even sure how it would interface into the PSP hardware...let me know if you have any more info about it.

Thanks!
Title: Re: [Screenshots Added!] VisMP3 Media Library / Visualizer
Post by: lansingone on March 23, 2008, 01:24:11 AM
i found it on that site recently. i looked for more info on it, and found that it is only a touch screen in the size for a PSP. so it needs a PCB board to take info from the touch screen and translate it to X.Y cordinants for the serial port or USB. then all you would need is to make your program have a invisible mouse, and have the touch screen act as the analog stick. then when you press one spot on the screen it would emulate the analog stick being held long enough to move to that spot and pressing X (or whatever other button used for click)
Title: Updated to new version!
Post by: arpaagent on March 24, 2008, 02:36:07 PM
Hey guys.  Just letting everyone that is interested know that I updated VisMP3 to version 0.1.2, fixed a few bugs and added some desired features.

See the original post, which I edited to add details about the new version.  Unfortunately this version won't be used for the contest, but hopefully you guys will make use of it!

I'll still be working on it so if anyone has any more suggestions I'll gladly listen to them.
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: cory1492 on March 25, 2008, 04:46:35 AM
I'm technically illiterate where it comes to sound processing (aside from install it and use it hardware wise), but does the PSP have what it would take to add some of the things I've found lacking in other players that in my mind go along with spectrum analysis, things like auto volume leveling (one song louder than the next) or bass/mid/treble style equalization?

The reason I ask is, it looks great and since I've always wondered how a PSP would do as a head replacement in a car system... put the two together and ::sm-05::
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: arpaagent on March 25, 2008, 10:49:50 AM
cory:

I agree with you that a PSP would make a great in-car System, especially with such a nice screen.  The auto-volume leveling feature might not be too difficult, but it would require the song to be analyzed prior to being played (which means loading it from memory stick, which means a small delay)...some mp3s may even have the song level encoded into the metadata in one of the song headers.  I'm not sure about that, but if that were the case then it would make it much simpler.  Even if the song had to be analyzed, that information regarding the audio level of the song could be stored after it was analyzed once, so after the first time it was played, there wouldn't be any delays prior to playing (unless the media library needed to be reconstructed for some reason).  A special id3 frame could even be written to the file so it would always be there, but I'm not a big fan of writing into people's mp3s for specific program purposes.

As far as the equalizations go, I am pretty sure that could be done as well.  The PSP can handle playing back tracks with full software decoding with libmad (an mp3 decoding library), and I believe that it has some sort of equalizer support, although I haven't had personal experience with this.  Since the PSP has the hardware facilities that can speed up decoding mp3s, this is the way to go, but the question then would be determining how to apply the equalizer to the music data.  I'm not sure if the mp3 data stream itself can be manipulated to achieve an "equalized" effect, or if it is better to post-process the final samples.  The spectrum analyzer is essentially the frequency representation of the music (using the final samples), but the question would be if the PSP can handle doing that (and then adjust frequency levels, and then converting back to time domain), for every sample that is output...I'd have to think about this and figure out if the numbers add up.

Anyways...an equalizer would be a cool function to have, and I'll consider it for a future release.  Depending on what it involves though, I can't promise it will be anytime soon.

Cheers!
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: cory1492 on March 25, 2008, 04:44:21 PM
I figured it would be more complicated than using some hardware API (if it was something that could be done via purpose built hardware they'd have had it in the system menu by now), but thanks for considering the suggestion.

Something a bit more realistic that occurs to me as a suggestion would be some form of time display (time of day), be it a toggle-able digit field or a more ambitious spectrum based on time (time instead of boxes? kinda corny... a very large alpha mask of the time which comes up instead of the display dimming entirely? dunno, it's your app and your ideas so far have trumped most of what I could have come up with)
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: surisimi on March 27, 2008, 12:07:04 AM
Hey Everyone!  This is pretty much my first release of anything PSP, so please do enjoy!

Nickname: arpaagent
Projet name : VisMP3
From : USA
Division : PSP APP
Original enter : YES
Support Motion : NO
In last NEO Compo this project have won in the top 10 : NO

Project description: 
VisMP3 is an alternative to the lackluster built-in music player on the PSP.  Although it only supports decoding of mp3 formatted files at this time, VisMP3 offers some important features that Sony could not fit into flash0, namely a media library that organizes mp3s (regardless of folder setup)as well as playlist functionality.  Also, as indicated by the name, VisMP3 demonstrates several different types of visualizations for a visual as well as audio experience.  The Fireworks visualization is a MUST SEE.

SCREENSHOTS down a few posts.  Check them out.
::sm-11.gif::

Features:
 * Developed for 3.x kernel (I am using 3.72), Works for Phat and Slim
 * Automatic detection of MP3 files in a folder and its subfolders (specified in config)
 * Hardware decoding of mp3 files
 * Parsing of ID3v1 and ID3v2 information used to build media library
 * Media Library accessed through Artist, Album, and Genre categories
 * Creation of playlists from media library items, easy to add full albums or single songs
 * Playlists are number 0-98 and can save/load from the program
 * Skinnable (background image and UI colors chosen while running)
 * Supports Sony remote control for playback control
 * Smart Random (no repeats) and Linear playback of playlists
 * Four different visualizers (for now...will be more to come), all with runtime adjustable properties:
      * Spectrum Analyzer
      * "Boom Box" (boxes flying across the screen with visually stimulating "thumps"
      * Fireworks that explode with the beats of the song, with colors correspdonding to frequency ranges
      * Oscilloscope-style view of sample data
 * Allows background visualizations while navigating media library, playlist, etc
 * Font support for loading pgfs (not available to the user yet, but uses system fonts to look nice)
 * Also supports simple bitmap style font for faster rendering

Future Plans
 * Full support for skinning and themes (including rearrangeable UI parts and fonts)
 * Addition of supported formats (audio + video)
 * More, Better, Cooler visualizations
 * Better playlist editing and functionality


Edited:

VisMP3v0.1.2 Released!!
Hey Everyone!  I have still been updating my program and wanted to drop a new release on the Forum.  I know it isn't valid for the contest, but I though some of you might be interested in an updated.  It fixes several bugs and adds a few very useful options (for full changes download and see the readme):

Important Additions
 * .zip includes a theme I made with a background and all settings included.
 * Added control of CPU clock speed.  Music plays down to 19 Mhz!! (for cpu speed, the bus speed goes down to 95, that's the lowest allowed).  Now you can get more out of your PSP's battery!!  If you are using a low clock speed, be sure to use simple fonts with no background or the UI will be slow.
 * Simple text now has larger version to match pgf font (for list Title, etc)
 * Color choice for Fonts now shows a color box instead of changing the item color, which makes it easier to read and also see the color
 * Ability to change the media library directory from within the Library options menu
Important Bugfixes
 * Playlist now advances correctly after text has faded.
 * Playlist control keys no longer affect fade state
 * Fixed some bugs in the playlist advancement algorithm
 * Changing background while drawing background no longer crashes program

A couple shots from the new program
(http://img254.imageshack.us/img254/5151/screen02uz4.jpg)
What my theme looks like.

(http://img254.imageshack.us/img254/3314/screen01cz8.jpg)
Showing how the clock is set.

Download:

Latest Version!!!
VisMP3v0.1.2 (http://www4.ncsu.edu/~jbashcra/VisMP3v0.1.2.zip)


Original Entry (VisMP3v0.1) (http://www4.ncsu.edu/~jbashcra/VisMP3v0.1.zip)

ZIP file has been released!  Please everyone try it out and let me know what you think (good OR bad).  Be sure to check out the readme in the zip.

Just extract the VisMP3 file into your ms0:/PSP/GAME directory, put some mp3z (would be good if they have id3 info in them) in ms0:/MUSIC and you should be good to go!!  See the readme for additional info.

Hey there VisMP3 isn't working with my firmware on my PSP, I have the latest firmware version 3.93.  Readme doesn't help me anywhere on that.  Do you think you could possible help me or possible upgrade VisMP3 please.
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: arpaagent on March 27, 2008, 12:33:06 AM
surisimi:

I wasn't aware that it had any problems with 3.9x, but I'll look into it.  I have been developing on some old 3.7x firmware.  In the next day or two I'll take a look at it, upgrade my firmware, and see what the deal is.  Thanks for letting me know.

Cheers.
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: surisimi on March 27, 2008, 12:54:49 AM
You are very welcome arpaagent.  I would actually like to create some homebrew of my own for the psp it is just the fact I don't know how exactly.
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: sturmen on March 27, 2008, 01:01:45 AM
Hey there VisMP3 isn't working with my firmware on my PSP, I have the latest firmware version 3.93.  Readme doesn't help me anywhere on that.  Do you think you could possible help me or possible upgrade VisMP3 please.
Are you the official 3.93 firmware? If you are, you need to find someone who has a Pandora's battery so you can get on Custom Firmwares. Otherwise, you're outta luck. Official firmwares don't run homebrew.
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: surisimi on March 27, 2008, 01:23:57 AM
thanks you sturm.  I will go and do that sometime this weekend as I am on the official firmware don't have pandora's battery or nothing.
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: zefie on March 31, 2008, 06:14:41 PM
Hiya. I like where you are going with this. The font is nice, and the execution is as well. I just thought I'd let you about a few things I found though.

1) Files with Unicode tags choke it. They show up as gibberish (not "moonspeak", but just random letters), and do not play (note that the filenames are not Unicode, just the tags). Multiple attempts to play the file may eventually result in a hard crash.

2) This app would be golden if you could add seek support ^.^

3) Another great thing would be an A-B loop option like the XMB, but doesn't suck like the XMB (the XMB seems to not loop exactly when you press it but a second or two ahead. If you could somehow come up with an A-B loop that seamlessly looped exactly from when the user clicked it on to exactly when the user clicked it off, it would rule)

4) VBR is not supported? VBR MP3 sounds like it is underwater, attempting to switch to another MP3 while VBR is playing results in hard crash.

5) Or maybe the hard crashes are me navigating the menus too fast?

6) PSP does not seem to automatically shut off when it hard crashes like most frozen apps do.

Keep up the great work.
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: arpaagent on April 01, 2008, 03:42:24 AM
Hey zefie, just wanted to respond to all your comments/questions.

1) Interesting about the Unicode.  Although I don't really support display of Unicode tag characters, i thought I had at least handled them when reading the id3 info.  I guess i'll have to look into it again.  As far as why the files don't play, I think I might have an idea why...but I'll have to look into that too.

2) That is one of the things that is on my To-Do List.  I know it is pretty much a necessary feature for media players, I just didn't have the time to get it in before this compo.  It will be included in my next release.

3) I could probably manage this.  I'll also add that to my To-Do list.  If you have some suggestions in terms of how this could be controlled, let me know.  It's not something most people would use so it probably wouldn't be a main feature.  But I could have a little tool that could be brought up where you could press a button to do A-B repeats.

4) None of my VBR songs have a problem.  What bitrate are you using?  Maybe the bitrate on your songs is simply too high for the PSP to handle it well.  Also, if you have set the clock (in v0.1.2) to a low value, it may not handle high-bitrate songs very well, as these require more processor time.

5) How fast you navigate the menus shouldn't affect the way the MP3s play.  The MP3 decode routine runs in a separate, higher priority thread than the main program, so if you are running out of clock cycles, you'll see a slow down in the framerate of the UI, but it shouldn't affect the playback of the MP3s.

6) This is most likely due to extra thread that the MP3 decoding is occuring in.  Even if the main thread crashes for some reason, the MP3 thread may still be running, in which case the PSP may think the program is still alive.  I am not exactly sure.  But you can just hold the power switch up for several seconds and it will for a hard power off.



Also, i'm not sure exactly when my next release will be.  I need to dedicate a little more time to my Master's Thesis, but I will be continuing to work on this when I have time.  I hope that this program will become a viable option to the other MP3 players for the PSP, and I am confident that it will in time.  After all, this is a new program and needs improvement.

Thanks for all the feedback, suggestions!!
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: zefie on April 01, 2008, 06:37:11 AM
Hey zefie, just wanted to respond to all your comments/questions.

4) None of my VBR songs have a problem.  What bitrate are you using?  Maybe the bitrate on your songs is simply too high for the PSP to handle it well.  Also, if you have set the clock (in v0.1.2) to a low value, it may not handle high-bitrate songs very well, as these require more processor time.

I sent you a PM regarding this.

6) This is most likely due to extra thread that the MP3 decoding is occuring in.  Even if the main thread crashes for some reason, the MP3 thread may still be running, in which case the PSP may think the program is still alive.  I am not exactly sure.  But you can just hold the power switch up for several seconds and it will for a hard power off.

I don't know much about the internals of the PSP, but if you can split into threads, would it be possible to make a 3rd thread to check on the other two, and maybe do some sort of recovery? Or would this not be feasible?

Also, i'm not sure exactly when my next release will be.  I need to dedicate a little more time to my Master's Thesis, but I will be continuing to work on this when I have time.  I hope that this program will become a viable option to the other MP3 players for the PSP, and I am confident that it will in time.  After all, this is a new program and needs improvement.

Thanks for all the feedback, suggestions!!

No biggie, I understand. Keep up the great work :)
Title: Re: [Updated! New Version] VisMP3 Media Library / Visualizer
Post by: stiks on April 09, 2008, 10:12:42 PM
something i noticed while using this. i have 1 song that is in variable bitrate mp3 (at least that is what im pretty sure it is) every player including this one plays the song at high speed (not pitch increase just speed) and choppy kind of like frame skips but with audio (nothing like hearing warren g regulate at 500 MPH) funny thing is it plays fine only in the XMB. maybe if you need a copy to test i can post it to an online storage site, other then that and 1 album freezing the GUI (ghosts included in ctorrent for psp). this is the best Media player so far on the psp