Im very new to coding and programming language. Ive been learning, but want to make sure im headed in the right direction and see if there is an easy method for something.
I’m the band leader at my church, and I’ve had an idea the last few months to create an app, web app, or program that is pretty much a database of the songs that we play with the ability to find songs that have similar chord progressions or tempo.
It doesn’t really need to show the chord charts like ultimate guitar, but a list of the songs that can be filtered by the musical properties. I have PDFs of most of the songs and don’t know if that would be easier to collect the data from than compiling a list of every URL from Ultimate Guitar and figuring out how to scrape the information.
Any ideas on what I should focus on learning first or beginning steps to get something going with this? Its much appreciated.
I think you should start with the most important step of choosing the right IDE (i.e integrated development environment), I believe this step is as important as Harry Potter choosing the magical wand and than proceed with the magic of web development.
You could use something like the Database application in Open Office to begin creating a database locally. That could help you explore what data you need.
I sure don’t understand what you are trying to say. If you want to explore the possibility of scraping the data then you could write a program that does that that is independent of the other programs. If you are successful at scraping the data then it should be easy to use the code in a larger program. The question is whether you want to do the scraping online. My guess is no. My guess is that you will want to have a program read each PDF and save the data in a table or some tables but you would likely do that in a desktop type of program, not online. The data could then be put online. If you do a desktop program then the question is what computer language. I think it is possible to use PHP but I do not know what you are capable of so I can’t help any further.
You’ll have to be careful of copyright. You very likely don’t own the songs and you could be liable for copyright infringement if it gets out to the public.
This could be a very interesting thread, but people should be aware that @robrhapsody90 has not been back to the site since he created this a month ago.
Thank you everyone for your feedback. I realized that I wasn’t receiving email notifications of the replies to my post and things got busy!
@WebSteve
I’m mainly hoping to make this a database of songs that can be filtered by the characteristics. I won’t be including the lyrics or chord charts within the program. This should help to stay safe of any copywrite infringement as far as I know.
That’s definitely a good idea. The harder part is that songs may be played in one key when a male sings it and another key when a female does. So I have to find some way to convert the chords into the number they land on the scale. Ex: Chord chart is in G. G=1 Am=2 Bm=3 C=4 D=5 Em=6 and repeat that for every key the songs could be shown as on the chord charts.
<off-topic>
Disagree. In my opinion systems (or at least the interesting ones) are about capturing and enforcing behaviour of systems. Things like “C may only happen if A and B have already happened, unless D also happened, because then C may not happen at all”.
If all your system does is pump data around without any interesting behaviour and/or rules around that you could -and should- just use Excel.
What I meant by that is that I’m not sure how to make sure that I’m not scraping online way more information online than I really need for this project as I am currently focusing in on one genre of music at this time.
If I were able to use the documents that I already have, or convert them to HTML, it would keep it more manageable.
I did find a site that only has the resources for the specific genre I’m looking for, and the terms of the site leave it open to use the resources however I need to. I did begin to scrape all of the data, but one thing I ran into was that I couldn’t figure out how to only scrape pages under a specific directory of the site. It would only let me scrape the whole site. Also when opening the scraped files on my PC, they were not able to be opened with anything. On a Mac they opened as HTML.
I’ll have to look into the Open Office databases for sure!
I don’t think you should worry about that. It’s absolutely not important when you’re beginning and when you understand what you’re doing it comes down to personal preference. Most beginners courses will recommend you something, if they don’t then Visual Studio Code is a solid choice for a lot of stacks.
So the system analyzes a data model to make an output, or does the system create a data model?
If I have the different possible chord progressions and a type of theory for probability, what format should that be put in that a system could analyze?
There are documents found online that would help me as a foundation of concepts and rules, but I’m not sure what type of model would need to be created for the system to be useful.
Yes! i’m glad as well! I received a browser notification on my mobile device when you did. It’s a good thing, because I forgot the URL for this forum since I didn’t receive any emails.
I do have Visual Studio installed already and noticed it seems to have a lot of addons/packages that could be helpful.