Jump to content

SwiftPengu

Member
  • Posts

    34
  • Joined

  • Last visited

  • Country

    Netherlands
  • Donations

    0.00 USD 

Profile Information

  • Gender
    Male
  • Location
    Netherlands
  • Guitar
    Peavey AT-200

Recent Profile Visitors

3,180 profile views

SwiftPengu's Achievements

Rookie

Rookie (2/14)

  • Conversation Starter Rare
  • First Post Rare
  • Collaborator Rare
  • Week One Done
  • One Month Later

Recent Badges

21

Reputation

  1. Fortunately, cables aren't all that expensive :)
  2. I also tend to stand still a lot. However, when I have more confidence on how good I can play a song (practice helps here, you'll get more feeling with the emotional flows of a song), I tend to move more, and show more expression during playing.
  3. After a really long radio silence, I remembered I had created this project, and resumed work on it again. This project will certainly take a while, as I am still as busy as the past 6 months. I managed to implement a better performing version of my current algorithm (which shares some silmilarities with the A* algorithm), which is able to generate the 'optimal' tab for Ferrum Aeternum in 500ms instead of 6 seconds. I also took a course on machine learning, and I think I will drop the genetic algorithm component as I am certainly lacking training data (as mentioned by firekorn). Anyhow, the current algorithm is fast enough for most purposes. The areas I will focus on in the near future: -Implement a graphical interface to allow people other than me to use the software -Support more techniques: --Slides --HOPOs --Two-finger tapping?? -Redesign the internal mechanism for representing notes and applied playing techniques In the long run I have a wholly different heuristic in mind, where the algorithm tries to minimize the movement of all fingers. This will likely require time between notes to be taken into account. There are some sequences of notes which are easier to play than the current algorithm suggests (for instance HOPOs on a single string, such as Thunderstruck, without picking ofc), which means that the current heuristic is probably too simple.
  4. What about projecting the notes on your physical guitar? I vaguely recall a different game which tried to do so.
  5. A 7-string guitar's 7th string is a B in E-standard tuning, for B or lower, you could try that. Or a baritone guitar.
  6. I do not have two examples, maybe the old Ferrum Aeternum tab (which has recently been updated) and the old one are examples of small improvements. Currently I let my algorithm optimize a cost function (where the cost function currently calculates the amount of shifts needed to accomplish the suggested hand positions). Because minimizing shifting is not always better (ie I think that running my current algorithm on the intro of Thunderstruck by AC/DC, which is played on a single string, will generate some quite unplayable tabs), I have to adapt this cost function. At some point, however, this will come up to personal preferences. I am therefore thinking of including a 'Mother of all Cost functions', which consists of the weighted sum of some cost functions. My idea for the genetic algorithm was to let one gene determine part of the structure of a neural network, and a different gene the weights. You have a point about the guitar technique part, I have been playing guitar for some time, but only picked up electric guitar when the first Rocksmith game came out. I'd consider myself to be of intermediate level, I am able to score 90%+ on almost all songs I play, and the only technique I encounter which I don't know how to perform is sweep picking. I am not very knowledgable on music theory.
  7. I am a computer science student, and I took up this project for fun/practice, and because of the annoyance of weird tabs. The algorithm is currently far from perfect though, the tab works fine for Ferrum Aeternum, but I tried generating tabs for other songs, but their playability isn't improved by blindly optimizing shifting. I became interested in genetic algorithms, because they sound fancy, but their implementation seem like guesswork vaguely related to evolution principles (survival of the fittest namely). I have heard of some combinations with neural networks (which I have to look into) have been used to generate good results in different areas (not my work btw): As for now, the best algorithm yet is a slightly modified Depth-First Search, which is a very basic search algorithm. Maybe I'll post some calculations on the computational complexity of this problem soon.
  8. So I started messing around with some very dumb genetic algorithms, and while the speed is ok, the solutions are not really good (even the greedy algorithm has better results). Maybe I will look into a combination with learning algorithms, but I'let the genetic algorithms rest for now. Edit: I fixed a bug where my tab input was processed on the wrong strings, this is the new tab for Ferrum Aeternum: https://gist.github.com/anonymous/720b6ad17929dd35e95a
  9. When playing some songs in Rocksmith, I was sometimes annoyed by the fact that some passages sometimes become unplayable due to weird tabbing. Sometimes this is done to reflect how the original guitar player plays the piece, but sometimes it is just the result of a bad transcription to tabs. This annoyance let me start on a project to create an algorithm which optimizes tabs based on certain properties (for instance, minimize the amount of position shifts). The project also serves as an experimenting ground where I try out various standard problem solving algorithms. I also used this project to try out the new JVM based language Kotlin. Currently, I managed to generate at least one useful tab for a part of a song (still in 5 minutes on an i5, so there's still room for improvement). Improved tab for the intro of Ferrum Aeternum by Ensiferum (thanks to Chlipouni for making the CDLC): https://gist.github.com/anonymous/997f8bcd8da95215423c Link to the project: https://bitbucket.org/hnhindriks/tabhelper Things I am going to work on: Short term: -Import arbitrary tabs -Support stretching of the left hand -Support more guitar techniques (for instance barre chords, two-finger tapped) -Create more useful tests Long(er) term: -Try out different optimization properties (for instance finger movement, or picking difficulty) -Frontend or commandline interface -Importing/exporting to CDLC Done: -Try out some simple genetic algorithms
  10. I also used to tune my low e string a little bit flat, but after fixing the intonation of my guitar (it was way off) that was no longer nessecary. I also noticed that when I enable the auto-tune feature of my guitar (Peavey AT-200), the game registers the high b string as being 10-11Hz too low (but my chromatic tuner does not).
  11. We could also use vocals to learn note/scale names! Exercises are an awesome idea!
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. - Privacy Policy