Open JeromeNelsonC opened 1 year ago
Can you be more precise in what exactly you want to achieve? What would be an example input, and what output would you expect?
So Ill attach two screenshots to show whats is happening This one shows how it is before I concatenate... notice the timestamps
After I concatenate and commit the spilts in karaoke mode we get this:
notice that the timestamps for each word dont correspond to the ones I had before.
it should be like this (I manually put them somewhat in place):
I hope this helps make it clear.
Wait, so are you concatenating first and then applying the automatically generated karaoke splits?
Maybe you just want to use the Subtitle > Join Lines > As Karaoke command instead? This can also be bound to a keyboard shortcut, the command is called edit/line/join/as_karaoke
.
That worked somewhat... but look at the results... IS there a way I can ad a space after each word automatically?
Sure, there's a lot of ways. The simplest one might be to append a space to every line before joining, by running search&replace (Ctrl+H) to replace $
with
(i.e. a space character) with "Use regular expressions" checked.
If you need more complex behavior, you might be better off with a simple automation script, or a luainterpret snippet.
Oh wow .. I'll try the search & replace and let you know... Thanks!
On Fri, Jun 9, 2023, 3:22 PM arch1t3cht @.***> wrote:
Wait, so are you concatenating first and then applying the automatically generated karaoke splits? Maybe you just want to use the Subtitle > Join Lines > As Karaoke command instead? This can also be bound to a keyboard shortcut, the command is called edit/line/join/as_karaoke.
— Reply to this email directly, view it on GitHub https://github.com/arch1t3cht/Aegisub/issues/55#issuecomment-1584976332, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZEBLC5A435ARTWS5U2V3JDXKNSV3ANCNFSM6AAAAAAZAVFL5M . You are receiving this because you authored the thread.Message ID: @.***>
Well... I just realized that join/karaoke does about the same this as concatenate... It doesnt preserve the timestamps of each line. Your search replace worked though... Anyway to get those timestamps?
And btw, is there a shortcut to commit splits in the audio pane?
I'm still not sure what you mean by "preserve the timestamps" here. Doesn't "join as karaoke" set karaoke timing markers that match the timing of the input lines?
And no, there's no shortcut to commit splits. This is likely because it's a button for this specific timing mode and not an action that can be run globally from anywhere. But usually you'd only use that button after manually setting splits. If all you want is to automatically generate splits based on words with timing being guessed based on the length, you could use an automation script.
Exactly. "Join as Karaoke" doesn't use the timestamps from the input lines, it just guesses it's own timestamps based on the word length (I think)
On Sat, Jun 10, 2023, 3:31 PM arch1t3cht @.***> wrote:
I'm still not sure what you mean by "preserve the timestamps" here. Doesn't "join as karaoke" set karaoke timing markers that match the timing of the input lines?
And no, there's no shortcut to commit splits. This is likely because it's a button for this specific timing mode and not an action that can be run globally from anywhere. But usually you'd only use that button after manually setting splits. If all you want is to automatically generate splits based on words with timing being guessed based on the length, you could use an automation script.
— Reply to this email directly, view it on GitHub https://github.com/arch1t3cht/Aegisub/issues/55#issuecomment-1585763046, or unsubscribe https://github.com/notifications/unsubscribe-auth/AZEBLC4TMPX4WLX2OKFS273XKS4OJANCNFSM6AAAAAAZAVFL5M . You are receiving this because you authored the thread.Message ID: @.***>
No, it doesn't guess. It uses the timestamps of the input lines and outputs \k
tags accordingly.
Then what am I doing wrong that its not working? Let me try again.
I don't know, what are you doing?
I figured out the bug... It only messes up when there is a pause between two lines (a silent time-gap). Because it expects to have one word after the other. Would it be too diffucult to implement a segment with no text when this happens? I only have an elementary undetrsanding of programing, but I assume there will have to be another if loop, to check if the ending timestamp of "first" is the same as the beggining timestamp of the "second" and then if yes, add a segment "space" with the starts with the end of first and ends with the begging of "second"
I hope it makes sense
I guess its hard to change that, right?
Excellent work here, but I wonder if it is too difficult to proportion this detail. I generate word level timestamps using Whisper_timestamped (https://github.com/linto-ai/whisper-timestamped) but I want to make karaoke style captions, so when I put it into aegisub, i can join many words to make it karaoke. But When I use join concatenate, it doesnt maintain my already accurate timestamps, and I have to re-align each word again, which is a lot of work. So do you have anyway to maintain the timestamps of the different parts of the concatenate, instead of just taking the beginning timestamp of the first part and the ending of the last part?