Sign in to follow this  
Followers 0
Kovacic

Thinking of making MP3 organizing utility but need backend ideas

4 posts in this topic

Hi all.. I have no code ready yet, so this is more of a 'what are your thoughts' post.

I have a large music collection that is barely organized. I want to make an app that will make a catalog of all the music, rename the files, and organize them in the proper folders by artist / album / song. I plan on using the Mp3 UDF floating around to fix the Tags as needed, and I have the script to scour the directories. What I am wondering about is what format to keep the music data in. I have over 170,000 tracks, and I am afraid if I just have the data in a csv file or something, it will be slow or crash. I am thinking either SQLite, or XML or something like that. I would like something easy to deploy so if anyone else wants to use it, its an easy install.

 

Does anyone have any experience using autoit with large amounts of data? I wrote an asset tool that manages around 5000 items with an SQL backend (not lite) and works flawlessly, thats why I was thinking SQLite... 

 

Any thoughts on this idea, or was this already done and I am just reinventing the wheel?

 

Thanks!!


C0d3 is P0etry( ͡° ͜ʖ ͡°)

Share this post


Link to post
Share on other sites



I was kind of in the same spot, I have a huge amount of music in my collection, on an external tb drive, but got tired of when I put songs on my cell phone, it wouldn't show up right with the artist, song title, ect ect ect

several months ago, I ended up reloading my pc with Linux mint, cause I didn't like win10 at all, and found the program banshee music (kinda like iTunes)

it organized all my music in a catalog, and I was able to write meta data etc etc

well... that didn't really help you at all, just throwing something your way.

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Feature request: Duplicate file finding is a must.

Honestly, I think you should just have some Co-processing for loading, sorting, and saving the catalog. No matter what you use otherwise for storage, your program will stall while it does these and you'll get a bunch of invalid bug reports. Pretty much everything else can be done in the main program.

Edited by rcmaehl

My UDFs are generally for me. If they aren't updated for a while, it means I'm not using them myself. As soon as I start using them again, they'll get updated.

MY PROJECTS


Active: IRC UDF, WindowEx UDF
Discontinued: GithubBubbleSort UDF

Share this post


Link to post
Share on other sites

Personally, I find using multiple INI files with one or more index INI files, best serves my catalog needs, but it depends on your end game really. I use multiple INI files to get around the limitations of INI files, and so long as you have a proper Index INI file(s) regime, all is usually fine ... provided you take the other INI file issues into account.

XML also has issues, and I have found speed as a deterrent with them too. Not tried making a multiple version scenario of them to get around the speed issue.

SQLite I am yet to try.

In the end, depending on your anticipated needs, you might well be better served by something already in existence. Been a while since I looked, but I imagine there are a few good freebies around, with Sourceforge being a good place to start looking perhaps, though be aware they no longer enjoy the reputation they once had, due to spam installers, etc.

You may even be able to find something you can easily interact with, with your own coding, to add what may be missing or make your own changes .... kind of like a frontend scenario.

All in all though, there are (probably surprisingly) quite a few factors to take into account when building your own catalog database. It all depends on the level of control you require. When it comes to music, I require a lot of control over all sorts of things ... which has turned out to be quite a huge number of aspects.

Unless you are prepared to go to that trouble or want to go to that, then you just may well be better off with something by a third party.


AutoIt.4.Life Clubrooms - Life is like a Donut (secret key)

Make sure brain is in gear before opening mouth!
Remember, what is not said, can be just as important as what is said.

Spoiler

What is the Secret Key? Life is like a Donut

If I put effort into communication, I expect you to read properly & fully, or just not comment.
Ignoring those who try to divert conversation with irrelevancies.
If I'm intent on insulting you or being rude, I will be obvious, not ambiguous about it.
I'm only big and bad, to those who have an over-active imagination.

I may have the Artistic Liesense ;) to disagree with you. TheSaint's Toolbox (be advised many downloads are not working due to ISP screwup with my storage)

userbar.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Similar Content

    • wakillon
      By wakillon
      Mp3SearchEngine v2.0.0.6

      May be some of you know Songr .
      This script do the same job, it can find more mp3 files but is not as fast as Songr.
       
       



      Sites used are music search engine Websites designed for LEGAL entertainment purposes only.
      Thanks to Brett Francis, Prog@ndy and Eukalyptus for >Bass Udf, trancex for >WinHttp Udf and the AutoIt Community for his help.

       
      Changes of v1.0.8.5
       
      Three websites replaced cause they are dead or use now js.
      All search engines updated ( not without difficulties for audiodump)
      I use RAGrid.dll for the first listview (more fast and stable, but with some inconvenients to manage the no-edit of cells)
      Input queries are saved ( the twenty latest)
      I use now an mp3 pre-Load management before playing and a double progressbar for visualize pre-load and play, where you can click for directly go play in the loaded part.
      Most includes needed are embedded and all external files are embedded in script with >BinaryToAu3Kompressor .
      Multi downloads available with embedded downloader.exe
       
      Changes of v1.0.8.8
      Search on audiodump and myfreemp3 fixed.
      New buttons.
      Added Gui Menu.
      Titles are no more editable.
      New "About" with >TaskDialog (Thanks Prog@andy)
      Query button permit now to check / uncheck all checkboxes
      And some few fixes and cleaning.
      Really more stable now.
      Changes of v1.0.9.2
      Dilandau is replaced by mp3chief and mp3ili by mp3clan 
      Search on mp3juices, baseofmp3 and soundcloud fixed.
      Soso now provide m4a (aac) instead of mp3 ( m4a can be played by MSE)
      Added possibility to encode automaticaly to mp3, aac or ogg ( at the end of download) using bassenc.dll and command line tools : lame, faac and oggenc.
       
      Changes of v1.0.9.3   mp3skull fixed mp3chief fixed myfreemp3 fixed mp3clan changed to tusmp3  mp3juices changed to emp3world baseofmp3 changed to imp3 and some minor improvements.  
      Version 2.0.0.6
      Most previous websites used are dead or have changed the way to get links, 
      so instead of try to repair the previous version, i have created a complete new version.
      The main tendency is the simplification :
      Only one website : audiodump (Up to 500 results by request)
      Script use now the little pearl created by Ward : curl.au3
      It permit to create tasks (get source and get multi mp3) in asynchronous mode.
      So now, no need to use several executables and no more gui who do not respond in case of connection problems. 
      Script use Bass.dll X86 loaded in memory for play songs.
      Result is light and fast, but don't abuse of audiodump servers who are not beasts of race.
      Warning : For avoid errors with curl.au3, you'll need to comment the line 63 : ;~ #Include <BinaryCall.au3>
      @AutoItX64 not supported and only tested on Win7X64 and Win8.1X64.
      As your browser, use Ctrl+w for remove the current Tab.(if there is no search or download running from it)
      And also Ctrl+q for set/remove Gridlines.
      Events are displayed to the bottom of the Gui.
       
      Version 2.0.1.1
      Added a Paste Button.
      Querry list is now correctly saved.
      Querry Combo is now sorted in alphabetical order
      After a 'No match', the next search will use the previous empty listview.
      Bug when removing tabs is corrected.
      Added string correction for the request that, in the previous version, was not always able to return a correct result.
       
      A big thanks to Ward for his great UDF, and Nina my favorite tester, (who between us is also my third daughter), for his precious advices .
      previous downloads : 1703
       
      As there is no more script downloads count, source and executable are available in the downloads section

      Enjoy ! 
      July 2017 Project Discontinued due to website changes
    • wakillon
      By wakillon
      TinyMp3Player : A basic Mp3 player 

      Hold left shift key and click load music button for select a mp3 directory, instead of a single mp3 file.
      A random check box for listen randomly.
      An automatic random config set the type of Audio meter display at each start or each click on the Next button.

      Previous downloads : 447

      TinyMp3Player v 1.0.1.7 Update of 2012-07-28

      Source : TinyMp3Player v 1.0.1.7.au3
      executable : TinyMp3Player.exe.html
      (Once this html file downloaded, double click on it for start the download)
      Changes :

      mp3 and m3u can be associated to compiled script. ( Double click )
      Contextual menu can be added for mp3, m3u and folder. ( Right Click )

      How to proceed : Once compiled, run it, and in tray menu click on "Add Context Menu"
      Once done, you can double click on any mp3 or m3u ( or Right Click on mp3 folder, mp3 or m3u ) and it will be played by compiled script.
      You can also Remove Context Menu ( by tray menu ) and your previous association will be restored.
      Gui do not close if you start a new play...
      Added a new skin and did a lot of cleaning !
      Tested on XP sp3 32 bit and Seven 64 bit.

      Bass.au3 and ?do=embed' frameborder='0' data-embedContent>>WinApiEx.au3 are needed.
      As usual some external files ( dll and icons ) are downloaded at the first execution to @TempDir & 'TMP'.


      Thanks to Brett Francis for his Bass.au3 ( external download link on Eukalyptus Topic on AutoIt.de )
      Thanks to Eukalyptus, Prog@ndy for their BassExt.au3
      Thanks to Melba for his _StringSize function
      Thanks again to Eukalyptus for his AudioMeter.au3
      Thanks to Yashield for his ?do=embed' frameborder='0' data-embedContent>>WinAPIEx UDF

      Hope you like it !

    • wakillon
      By wakillon
      I use a USB key or an FM transmitter in my car to listen mp3.  Two problems have emerged: long silences or a different sound level between different tracks or between tracks and FM radio.    Seeking a software that could solve automatically these problems, for multiple files, I returned empty-handed ! All i have found who could be interesting were some examples about remove silence on un4seen.com (the bass audio library website) After much research I managed to adapt it, here is the result :       Mp3SilenceRemover can trim a bunch of mp3 files that have silence at the beginnings and ends, automatically. Script scans each file for when the sound starts and ends, by detecting a pre-determined silence threshold, then reencode them without silent parts found.   Usefull if you want use mp3 files for a mix or avoid long silences between tracks.   Multiple settings are available for preserving mp3 quality. Mp3Gain can be used for avoid a too big difference in sound level between 2 tracks. Main Id3 Tags can be preserved and the fade at end of the track too.   Script use  : bass.dll, bassenc.dll, bassext.dll, tags.dll, lame.exe and mp3gain.exe.   The default settings I have choosen are the ones who give me the best results during my numerous tries. Free to you to adapt them to your needs, they are saved automatically.   New mp3 files will be located in the same folder with "_SR1" at the end of the name.   Buttons were made online with chimply.com the easy and free buttons generator ! No external files or includes needed, they are embbeded in script.
      source and executable are available in the Download Section

      Hope you like it !   
    • wakillon
      By wakillon
      Mp3SilenceRemover can trim a bunch of mp3 files that have silence at the beginnings and ends, automatically.
      Script scans each file for when the sound starts and ends, by detecting a pre-determined silence threshold, then reencode them without silent parts found.
      Usefull if you want use mp3 files for a mix or avoid long silences between tracks.
      Multiple settings are available for preserving mp3 quality.
      Mp3Gain can be used for avoid a too big difference in sound level between 2 tracks.
      Main Id3 Tags can be preserved and the fade at end of the track too.
      Script use : bass.dll, bassenc.dll, bassext.dll, tags.dll, lame.exe and mp3gain.exe.
       
    • wakillon
      By wakillon
      BeepSongEditor v1.0.2.4 Create easily Beep Songs and Mp3 Ringtones

      After >Beep Song Creator by Paulie, mine is more intended to hobbyists musicians ( based on a TT22 idea )





      Now you can easily create Beep Songs and Mp3 Ringtones without being musician !
      Source and Executable are available in the Download Section

      See Tray menu for options and help.

      If somes includes are missing : Bass Includes.rar
      Somes examples of ini files : Ini files.rar

      Thanks to Brett Francis, Prog@ndy and Eukalyptus for Bass Udf and trancexx for >DSBeep.au3
      As usual several files are downloaded at first execution.


      Beep Party is back !!! Hope you like it !