Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add time sync for lyrics. #29

Open
sophronesis opened this issue Mar 13, 2023 · 8 comments · May be fixed by #52
Open

Add time sync for lyrics. #29

sophronesis opened this issue Mar 13, 2023 · 8 comments · May be fixed by #52
Labels
enhancement New feature or request

Comments

@sophronesis
Copy link

It is possible to get track length and current position of track from mpris/dbus and this can be used to highlight current position in lyrics. Would be really interesting to see something like this implemented.

@M1ndo
Copy link
Contributor

M1ndo commented Mar 23, 2023

@sophronesis i'm sure you came from "ncspot" for not adding lyrics options.
Altho this requests is possible,Timing position can be inconsistent and requires some work.
I'll try to implement this, whenever i get some free time.

@iconoclasthero
Copy link

Should be able to integrate this with mpd using the mpd idle feature and mpd's unix socket.

@eadmaster
Copy link

eadmaster commented Jun 1, 2024

i've made a similar script recently.

demo

@iconoclasthero
Copy link

i've made a similar script recently.

demo

Really cool. ChatGPT says that it doesn't natively support mpd via the dbus interface?

So, bottom line this for me. I'm listening to

  Playing: Sugaree - Gov't Mule with Bob Weir
           2007-06-16: Bonnaroo Music Festival, Manchester, TN
           05-new.music/Gov't Mule -- 2007-06-16: Bonnaroo Music Festival, Manchester, TN (2007)/
           01-05 - Gov't Mule with Bob Weir -- Sugaree.mp

I mean, objectively this is a pretty interesting track, what with Haynes and Weir at Bonnaroo doing a traditional that the Dead worked over for decades...but I'm not sure that lyrics files are going to exist with timing to match the performance.

How far off is being able to have AI listen and adjust the timing?

@eadmaster
Copy link

eadmaster commented Jun 8, 2024

doesn't natively support mpd via the dbus interface

dbus with mpd is optional.

How far off is being able to have AI listen and adjust the timing?

there are some projects for this, but i still haven't tried any of them:

btw if you have only a few songs to resync, you could simply fix them manually with SubtitleEdit.

@lecheel
Copy link

lecheel commented Nov 25, 2024

i've made a similar script recently.
demo

Really cool. ChatGPT says that it doesn't natively support mpd via the dbus interface?

So, bottom line this for me. I'm listening to

  Playing: Sugaree - Gov't Mule with Bob Weir
           2007-06-16: Bonnaroo Music Festival, Manchester, TN
           05-new.music/Gov't Mule -- 2007-06-16: Bonnaroo Music Festival, Manchester, TN (2007)/
           01-05 - Gov't Mule with Bob Weir -- Sugaree.mp

I mean, objectively this is a pretty interesting track, what with Haynes and Weir at Bonnaroo doing a traditional that the Dead worked over for decades...but I'm not sure that lyrics files are going to exist with timing to match the performance.

How far off is being able to have AI listen and adjust the timing?

using fasterWhisper can generate the lrc or srt lyrics

@Ja4e
Copy link

Ja4e commented Dec 31, 2024

Integrate syncedlyrics python library to give timesnyc for lyrics.
This project has lots of potential to be revived back alive.

[update]
I do not think applying AI is variable here, it's more about where to fetch the lyrics sources.

[update]
I think make another hotkey to allow user adjust the speed and latency just incase they need it

[update]
I think applying AI to adjust the latency of the lyrics to make sure it starts at the same time as the music sources to adjust time timing only nothing else. that could work yeah. Or even better, make it listen for the current lyric playtime of the music players.

@Jugran Jugran added the enhancement New feature or request label Dec 31, 2024
This was linked to pull requests Dec 31, 2024
@Jugran Jugran removed a link to a pull request Dec 31, 2024
@Jugran
Copy link
Owner

Jugran commented Dec 31, 2024

Synced lyrics support is already in works in development branch.

To enable auto scrolling properly I need to make all I/O async.

Currently user key input listener and network I/O blocks the window refresh, this causes UI to freeze.

I have offloaded input to a separate background thread and using asyncio for managing I/O operations.

In development branch liblrc support is added but auto scrolling is currently broken.

I will fix it as soon as I find some time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants