Title Song: Don’t Lose Sight
Title Artist: Lawrence
Song Link: https://youtu.be/VMs-l9Hru-I
Hello again! It’s been a bit since my last update, two weeks actually. Last week was Spring Break and so I took some time to relax, but I was able to make some decent progress on my project these past two weeks.
The first success is that the actual karaoke form now shows the current and next line of lyrics at the same time. The next line is smaller and in a different color to distinguish it from the current line, but still visible. I’ve added a video below of what this looks like at the moment. Just a few notes about the video though, some of the lines will appear to change before that part of the song and that is because I messed up when creating that example and never went back to change it. Another note, ignore the textbox at the top of the form that has a number in it. This is just for testing purposes to tell me what line I am on to make sure things are working correctly. This will be removed in the final version.
The other success is that I started to connect all of the separate pieces that I have been working on. There isn’t much to show yet as all it does right now is open separate, blank forms, but by next week there will be some images/videos of that to share.
The final success is also a failure/current roadblock. The undo/redo functionality along with utilizing the trackbar to scroll through the song have proven to be a challenge. Isolating the scrolling through the song as its own feature works fine and the user is able to jump to any place in the song they desire to. But, in conjunction with timestamping where lines of lyrics start, it doesn’t work as expected. Once a user has placed all of the timestamps for the song, they are able to scroll through to a place in the song in order to more quickly edit any possible mistakes. When scrolling, a function is determining which line the song is now at. While the function correctly determines which line the song should be at, the audio doesn’t match. I’ve included a video as an example of what I mean by this.
A similar thing to what happens with the trackbar when repositioning occurs when undoing and redoing placed timestamps. The current time appears to be where it needs to be (the previously placed timestamp or the newly placed timestamp depending on whether undo or redo occurred), but the audio itself is actually further back or forward than the timestamp indicates. I’ve been reading through a lot of StackOverflow entries and Naudio documentation to try and figure out what the cause of this is, and I think it has to do with the buffer and some kind of offset that occurs when repositioning, but I have yet to try anything out with that as I will be reaching out to Drs. McVey, Pankratz, and Diedrich for some help and suggestions as well. I’m hoping that I can at least get one of these functionalities working so that the user doesn’t have to type any changes themselves, but only time will tell whether this is possible.
Anyway, that’s all for this update. Here’s hoping that these issues can get sorted and working correctly.
As always, thanks for reading!
Lauren (3/21/22)
StackOverflow Entries that I have been Reading:
- c# – naudio streaming position – Stack Overflow
- c# – NAudio playback position – Stack Overflow
- c# – Synchronize playback of audio to a timer using NAudio – Stack Overflow
- c# – How to use track bar in NAudio MP3 streaming section – Stack Overflow
- How do I create a seekbar in C#\NAudio Music Player? – Stack Overflow
- c# – NAudio – seeking and navigation to play from the specified position – Stack Overflow
- NAudio: How to accurately get the current play location when changing play position using AudioFileReader and WaveOutEvent – Stack Overflow
Videos:
Scrolling demonstration starts at 2:51
No responses yet