From ae3f835e219c5d6a21565247b05a112dffb4ee9e Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Tue, 13 Dec 2022 00:50:32 -0500 Subject: Automated commit --- 2022/organizers-notebook.md | 523 +++++++++++++++++++++++++++++++------------- 1 file changed, 367 insertions(+), 156 deletions(-) (limited to '2022/organizers-notebook.md') diff --git a/2022/organizers-notebook.md b/2022/organizers-notebook.md index 9dd6052b..5923c1a5 100644 --- a/2022/organizers-notebook.md +++ b/2022/organizers-notebook.md @@ -6,8 +6,8 @@ This file is automatically exported from [/2022/organizers-notebook/index.org](/ # Table of Contents -- [Cadence](#cadence) - [Overall priorities](#overall) +- [Next comms update](#update) - [Projects and other long-running tasks](#projects) - [Ideas for next year](#maybe-projects):nextyear: - [Things to figure out / decisions to make](#decisions) @@ -51,117 +51,6 @@ Schedule by status: (gray: waiting, light yellow: processing, yellow: to assign, ![img](schedule.svg) - - -# Cadence - - - - --- -- -- -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Week endingWorkSpeakersVolunteersPublic
[2022-09-30 Fri] acceptance, reply to confirm  
[2022-10-09 Sun] schedule, reply if not okayoverall priorities 
[2022-10-16 Sun]Etherpad, stream infra update 
[2022-10-23 Sun]file upload, file upload instructions, backstagetraining 
[2022-10-30 Sun]OBS in the cloud caption kickoffschedule, posters?
[2022-11-06 Sun]intro, exit, dry run, prerecsprerec confirmation/reminder, caption progress  
[2022-11-13 Sun]captionstech check, bio, support links (ex: Liberapay)?shifts 
[2022-11-20 Sun]captionscheckin instructions and schedule updates  
[2022-11-27 Sun]captionslast weekend before EmacsConf watching
- - # Overall priorities @@ -201,8 +90,24 @@ interests you! chapter markers edited transcripts + + + +Previous priorities; + + +++ ++ ++ ++ + @@ -389,6 +294,15 @@ interests you!
conf.org management on sachac’s laptop
+ + +# Next comms update + +- next step is to review all the playbacks and publish them +- [2022-12-11 Sun] Thank-you notes sent to all the speakers with Toobnix and YouTube URLs, BBB playback info +- [2022-12-10 Sat] small-model VTTs uploaded for easier review and chapter markers, still working on large-model transcripts + + # Projects and other long-running tasks @@ -423,6 +337,26 @@ interests you! ## Harvest live talks and Q&A +### Publish more Q&A recordings + + +#### DONE Write code to make it easy to do so + +emacsconf-extract-publish-qa + + +#### SOMEDAY Handwritten needs to be trimmed + + +#### SOMEDAY Sqlite needs trimming + + +#### TODO Add audio-only options to the publishing process + + +#### DONE Fetch the reencoded maint answers and post it to backstage + + ### DONE Document this phase of the conference We’re now in the harvesting phase of the conference, where we work on @@ -637,6 +571,150 @@ To avoid duplicating work, maybe we can use this Etherpad to call dibs on talks If you’re already set up to edit the wiki or you can figure out the slightly complicated setup for editing, feel free to edit the page directly. If not, you can email a Markdown or Org Mode snippet to emacsconf-submit@gnu.org and let me know what page to put it on. +### STARTED Write some code to copy the events.xml to the backstage + +recording timestamp is 2022-12-03T09:41:30.888-08 +bandali user ID is w\_uwwpzp4fjtqq +joined 2022-12-03T10:07:06.066-08 +aaaaaah, hmm. recording timestamp seems earlier, that might just be when BBB starts the whole thing. +aha! The raw directory has the whole thing, not just the recorded part, and the recording timestamp is the beginning of the meeting. So let’s find out where the actual recording starts. + +Maybe StartWebRTCShareEvent ? +ParticipantStatusChangeEvent might be the webcam start. +Is it DeskShareStartRTMP ? + + +### TODO Improve visualization for Q&A sessions, especially when there’s nothing else to look at + + +#### SOMEDAY Consider the challenge of aligning video segments with a timeline + + +#### SOMEDAY windows - Reducing command-line shortcomings caused by excessive number of FFmpeg inputs - Super User + + + + +#### SOMEDAY kkroening/ffmpeg-python: Python bindings for FFmpeg - with complex filtering support + + + + +#### SOMEDAY Extension repository - Inkscape Wiki + + + + +#### SOMEDAY how to render a long text in an area with automatic wrap - Legacy ImageMagick Discussions Archive + + + + +#### SOMEDAY svg to tex with svg package and inkscape: make the text to wrap inside a shape - TeX - LaTeX Stack Exchange + + + + +#### SOMEDAY tikz API documentation + + + + +#### SOMEDAY tikz pgf - Absolute positioning in beamer - TeX - LaTeX Stack Exchange + + + + +#### SOMEDAY CTAN: Package textpos + + + + +#### SOMEDAY positioning - How do I put some text in specific position on a page horizontally with the prosper class? - TeX - LaTeX Stack Exchange + + + + +#### SOMEDAY Exporting LaTeX TikZ as Image Files | Baeldung on Computer Science + + + + +#### SOMEDAY OpenAI Whisper tutorial: Whisper - Transcription and diarization (speaker identification) | LabLab + + + + +#### TODO Consider ffmpeg to make speaker labels so that I can overlay them on webcams.webm + + +#### TODO could be fancy to have an FFMPEG compose the videos with names and webcams on the right side + + +#### SOMEDAY Try using the single webcam view of the speaker + + +### SOMEDAY Think about how I want to format the VTT for the RMS Q&A + + +#### SOMEDAY Use word data, maybe reflow based on it + + +### SOMEDAY Combine webcams and deskshare + + +### TODO Extract comments from IRC + + +#### SOMEDAY Auto-add A: marker for speaker + + +### DONE compare deskshare with webcams + + (mapcar (lambda (o) + (cons (emacsconf-get-slug-from-string o) + (- (compile-media-get-file-duration-ms o) + (compile-media-get-file-duration-ms (replace-regexp-in-string "deskshare" "webcams" o))) ) + + ) + (directory-files emacsconf-cache-dir t "-deskshare.webm")) + + +### Improve segmented audio normalization + + +#### SOMEDAY How to normalize the volume of an audio file in python? - Stack Overflow + + + + +#### SOMEDAY Execute Macro from Script - Audacity Forum + + + + +### TODO subtitle hyperorg + + +### DONE Check duration + + (/ (apply '+ + (mapcar #'compile-media-get-file-duration-ms + (directory-files emacsconf-cache-dir t "\\(main\\|webcams\\).webm\\|rms.*ogg"))) + 3600000.0) + +28.860543888888888 + +- 29 hours including Q&A +- 14 hours of talks, 15 hours of Q&A + +(\* 28 0.0075 60) +12.6 + + +### SOMEDAY Copy irc, haven’t actually done that yet + + ## TODO Send thanks @@ -649,36 +727,91 @@ Dependencies: - youtube, toobnix urls - bbb playback urls - pads copied + + (defvar emacsconf-mail-thank-speaker-open-youtube t + "If non-nil, browse to the YouTube page so we can mention views and stuff.") + + (defun emacsconf-mail-thank-speaker (group &optional template) + (interactive (list (emacsconf-mail-complete-email-group))) + (delete-other-windows) + (with-selected-window + (split-window-right) + (emacsconf-edit-wiki-page (plist-get (cadr group) :slug)) + (when (> (length (cdr group)) 1) + (mapc + (lambda (talk) + (with-selected-window (split-window-below) + (emacsconf-edit-wiki-page (plist-get talk :slug)))) + (cddr group)) + (balance-windows))) + (let ((with-bbb (seq-filter (lambda (talk) (plist-get talk :bbb-playback)) (cdr group)))) + (emacsconf-mail-prepare + (or template (emacsconf-mail-merge-get-template "thanks-speaker")) + (car group) + (list + :email (car group) + :conf-name emacsconf-name + :year + emacsconf-year + :plural + (if (= (length (cdr group)) 1) "" "s") + :video-is + (if (= (length (cdr group)) 1) "video is" "videos are") + :bbb-note + (if with-bbb + (concat + " We'd like to publish the audio (and possibly the video as well) + with chapter markers and maybe even captions, depending on + volunteers. In case you want to revisit your Q&A session in + order to remember anything particularly cool that you'd like to + follow up on (or anything particularly sensitive/embarrassing + that you'd like us to omit), you can view the BigBlueButton + playback at " (mapconcat (lambda (talk) (plist-get talk :bbb-playback)) with-bbb " , ") " . Volunteers will be working on harvesting the Q&A over the next few weeks/months. If you'd like to help with the processing, I've added the files + to ${backstage} and documented our harvesting process at + https://emacsconf.org/harvesting/ . The files start with --bbb in the backstage area. This is + totally optional and just there in case you feel like taking advantage + of it. =)") + "") + :backstage + (mapconcat (lambda (talk) + (concat "https://media.emacsconf.org/" emacsconf-year "/backstage/#" (plist-get talk :slug))) + (cdr group) " , ") + :urls + (mapconcat (lambda (talk) + (plist-get talk :absolute-url)) + (cdr group) " , ") + :toobnix-url + (mapconcat (lambda (talk) + (plist-get talk :toobnix-url)) + (cdr group) " , ") + :youtube-url + (mapconcat (lambda (talk) + (plist-get talk :youtube-url)) + (cdr group) " , ") + :speakers-short (plist-get (cadr group) :speakers-short))) + (when emacsconf-mail-thank-speaker-open-youtube + (mapc (lambda (talk) + (when (plist-get talk :youtube-url)) (browse-url (plist-get talk :youtube-url))) + (cdr group))))) #### Template -Hi ${speakers-short}! +Hi, ${speakers-short}! Thank you so much for being part of EmacsConf ${year}! Hundreds of people enjoyed it, and I’m sure even more will come across the videos in the days to follow. -Your video is available on the talk page at ${url} , and we’ll be -working on adding the questions and comments from IRC/BBB/Etherpad. -We’d like to publish the audio (and possibly the video as well) with -chapter markers and maybe even captions depending on volunteers. In -case you want to revisit your Q&A session in order to remember -anything particularly cool that you’d like to follow up on (or -anything particularly sensitive/embarrassing that you’d like us to -omit), you can view the BigBlueButton playback at ${bbb-playback} . - -You can also do your own processing, if you like. I’ve added the files -to } . They start -with –bbb. This is totally optional and just there in case you feel -like taking advantage of it. - -We’ve also uploaded your talk video to ToobNix (a PeerTube instance) -at ${toobnix-url} and YouTube at ${youtube-url} . If you want to -reupload the video to your own channel, please feel free to do so. If -you let me know where you’ve uploaded it, I can switch our playlist to -include your version of the video instead. That way, it might be -easier for you to respond to comments on videos.${wrap} +Your ${video-is} available on the talk page${plural} at ${urls} , and +we’ve added the discussions from Etherpad/IRC.${bbb-note}${wrap} + +We’ve also uploaded your talk video${plural} to Toobnix (a PeerTube +instance) at ${toobnix-url} and YouTube at ${youtube-url} . If you +want to reupload the video to your own channel, please feel free to do +so. If you let me know where you’ve uploaded it, I think I can switch +our playlist to include your version of the video instead. That way, +it might be easier for you to respond to comments on videos.${wrap} If you would like to share more resources, you can add them to the talk page or e-mail them to us and we can add them for you. @@ -1191,12 +1324,12 @@ tags: emacs,emacsconf (when (and (file-exists-p (expand-file-name - (concat (plist-get o :video-slug) "--final.webm") + (concat (plist-get o :video-slug) "--main.webm") emacsconf-cache-dir)) (null (plist-get o :toobnix-url))) (format "node dist/server/tools/peertube.js upload -f %s -n %s -l 2 -c 15 -P 2 -t emacs,emacsconf -L en -C emacsconf -d %s" (expand-file-name - (concat (plist-get o :video-slug) "--final.webm") + (concat (plist-get o :video-slug) "--main.webm") emacsconf-cache-dir) (shell-quote-argument (concat emacsconf-name " " emacsconf-year ": " (plist-get o :title) " - " (plist-get o :speakers-with-pronouns))) @@ -2054,6 +2187,29 @@ if we can get the anchor plugin ### SOMEDAY Write about setup for vnc +### SOMEDAY Write about setting org properties from a region, looking at tables, summing it up + + +### SOMEDAY Record animation of changing the schedule + + +### SOMEDAY Write about mail merge + + +### #EmacsConf behind the scenes: Testing the schedule with SVGs + +> Org mode allows you to have inline images, and you can return them as the results of Org Babel +> blocks. I wanted to test different #EmacsConf scheduling strategies quickly. I used Emacs’s XML and +> SVG support to create the SVGs based on the scheduling data I gave it. Splitting my window made it +> easy to change the schedule, use \`C-c C-c\` to execute the block, and see the schedule image +> (including any validation notes) in the other window. The code is in +> . +> +> [Screenshot of how I tested #EmacsConf scheduling strategies using inline images in an Org file](https://emacs.ch/system/media_attachments/files/109/485/992/555/721/586/original/7bf3ab2a89fdcaec.png) + + + + # Ideas for next year :nextyear: @@ -2291,6 +2447,27 @@ jotaemei@social.coop - @sachac I like this idea of a timezone converter for peop +## SOMEDAY Look into properly streaming to YouTube, Toobnix, and 480p + + +## TODO Consider practising with ffmpeg in the cloud so that we can handle last-minute submissions + + + +or a VM + + +### TODO + + + + +### SOMEDAY Investigate bacalhau compute over data + + +## SOMEDAY Add timer for 5 minute and 2 minute warnings to go to emacsconf-org + + # Things to figure out / decisions to make @@ -2765,7 +2942,7 @@ AM: 9-12 PM EST, PM: 1-5 PM EST (plus a little extra for setup/transition) Saturday Dec 3 - +
@@ -2845,7 +3022,7 @@ publicvoit - pad until 4pm on Sat, until 2pm on Sun Sunday Dec 4 -
+
@@ -3214,8 +3391,6 @@ We tried using q56 before, but it was a little too aggressive. Q=32 is the defau - [X] abin (meain, ack’d by zaeph) - - #### Acknowledge pre-rec submission (defun emacsconf-mail-acknowledge-submission (talk &optional template) @@ -3958,7 +4133,7 @@ Probably focus on grabbing the audio first and seeing what’s worth keeping Make a table of the form -
+
@@ -4075,10 +4250,10 @@ See for more. - [In case we need to do things manually because the task status hooks don’t work](#manual) - [Alternate stream volunteer wants to stream](#alternate) - [Video playing error, need to play with mpv manually](#play-mpv-manually):stream: -- [Shift changes](#org3329c61) +- [Shift changes](#org873d736) - [Need to restart 480p stream](#restart-480p):stream: - [Renamed talk](#renamed):sched: -- [Need to restart the Toobnix streams so we don’t exceed 5 hours](#org4e58b8c) +- [Need to restart the Toobnix streams so we don’t exceed 5 hours](#orgc2028ca) @@ -4300,12 +4475,12 @@ mpv –vf=negate $url export SLUG=the ID of the talk -- [TO\_STREAM -> PLAYING](#org326b43a):stream: +- [TO\_STREAM -> PLAYING](#org84bcf82):stream: - [CLOSED\_Q -> OPEN\_Q](#open) - [OPEN\_Q -> TO\_ARCHIVE](#archive) - + ### TO\_STREAM -> PLAYING :stream: @@ -4374,7 +4549,7 @@ You can skip the intro and play a video by specifying the filename, like this: play ~/stream/emacsconf-2022-journalism-\* - + ## Shift changes @@ -4425,7 +4600,7 @@ lspbridge science health eev - + ## TODO Need to restart the Toobnix streams so we don’t exceed 5 hours @@ -4644,8 +4819,6 @@ Process for accepting a talk: Look for the TO\_CONFIRM status in conf.org, probably include in schedule e-mail - - ## DONE Send people schedule information and doublecheck their availability/Q&A preference :sachac:email:speakers:sched: (defun emacsconf-mail-schedule (group &optional template) @@ -5159,8 +5332,6 @@ Where: It’s now on front. - - ## DONE Prepare email for nudging speakers to send prerec, and inform on upload workflow :timesensitive:needsowner: @@ -5359,8 +5530,6 @@ should the captions be outside the wiki? - SIL fonts choice - - ## DONE Write volunteer update 2022-10-23 :update: Hello, folks! Here’s the weekly update on what’s happening backstage @@ -5515,8 +5684,6 @@ Sacha ### CANCELLED Email speakers because I’ll be shutting down the web upload - - ## DONE Send schedule-published email for emacsconf-discuss :needsowner:timesensitive:email: Schedule is now available; post to emacsconf-discuss, emacs-tangents @@ -6676,6 +6843,52 @@ ffmpeg -y -i emacsconf-2022-rmsted–main.ogg -acodec pcm\_s16le -ac 1 -ar ### TODO Move the captioning stuff to the public area +### TODO Look into getting the confidence intervals out of aeneas, maybe by getting it as an XML + +Also look into finetuneas + + +### SOMEDAY A Deep Dive Exploration Applying OpenAI’s Whisper ASR To A PBS NewsHour Broadcast – The GDELT Project + + + + +### SOMEDAY Confidence scores for each word? - Discussion #284 - openai/whisper + + + + +### SOMEDAY jianfch/stable-ts: Stabilizing timestamps of OpenAI’s Whisper outputs down to word-level + + + + +### SOMEDAY See if we can get confidence data out of whisper + + +### SOMEDAY Use bbb events to identify speaker changes and overlapping spans that might need closer attention + + +### SOMEDAY Getting Started with Bacalhau | Bacalhau Docs + + + + +### SOMEDAY Use OpenAI Whisper and Bacalhau to transcribe audio and video files | Nerd For Tech + + + + +### SOMEDAY A Deep Dive Exploration Applying OpenAI’s Whisper ASR To A Russian Television News Broadcast – The GDELT Project + + + + +### SOMEDAY Benchmarks for T4 & V100 GPUs, comparison with human captioning, and deep dive on non-deterministic output · Discussion #395 · openai/whisper + + + + ## DONE Find a way to accommodate a specific return-speaker We’re not sure if we’re going to get a presentation or a prerec for them @@ -7242,8 +7455,6 @@ Sacha Chua ### Captions for approval - - #### Template Hi ${speakers-short}! -- cgit v1.2.3