Git Product home page Git Product logo

sayit's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sayit's Issues

If possible, start transcribing ASAP

If the audio is uploaded with JavaScript, we can presumably start the transcription then, and then when they submit the rest of the form, go straight to the edit form (if transcription done quickly enough), or the please wait page as now if it's still processing.

(If it's really quick, it could get the transcription and insert into the form before they submit it, I guess, but probably not worth doing that.)

Remove 'audio or text' interstitial

Currently, when you click 'add a new speech' the site shows you a page which says:

"Do you have Audio to upload, Text to enter, or Both?"

In future the option to upload audio should happen on the same page as the text authoring page - they shouldn't be different pages.

Homepage show 'recent debates' and speaker list

Currently is just recent speeches, should include recent debates and a list of all speakers for the moment.

Now, is "recent" in "recent debates" by added to site, or date of speeches within them? Both? All speakers sounds like might be a lot.

Add headshot support

Requires mysociety/popit-django#11 . Just HTML width/height for different sizes now, and we'll then think about an image proxy at some later point. The photo should default to the current missing person image, and should work with the coloured borders appropriately.

/sections shouldn't be a special case

There's /sections for listing root sections, and then /sections/ for listing a particular section (and its speeches and descendants/ancestors). This should really just be the same code.

Interface to add popit dataset

Currently it's a django management command to pull in popit data. A form to provide a popit URL that pulls it in (async?).

Stop listing by time using get_ancestors

It works okay for now, but I guess the first call to get_descendants gets all the data necessary from the database, so it should be possible to do what get_ancestors does without it calling the db again.

Add player for whole recording.

Have a player, same as one on speech pages, on the /recordings/[ID] page that lets someone play back the entire uploaded recording.

More metadata on sections

An instance can have a description; each section could usefully have one too (this could be markdown, to enable links to e.g. agendas elsewhere). This could also provide credit to the person who uploaded/transcribed the material (thanks Richard for the suggestion).

Add section as part of add speech UX

Currently you need to have created a section in order to properly catalogue a speech. It would be great to be able to add these on the fly as I'm adding a speech.

Allow import from/of videos?

e.g. import from a youtube URL?

(Yes, this ticket comes from my use-case of familiarizing self with transcription process by transcribing a Youtube video... are members of public who record meetings likely to upload video to YouTube? or audio to Soundcloud/audioboo etc.?)

Warn about duplicate source urls

"Obviously there are cases where >1 person is quoted in a source URL but i would like to see the speeches listed so that I can verify the speakers referenced and amend if necessary."

Allow recording timestamps to be altered

Currently, /recordings/[ID] displays a list of the timestamps for a recording, links to the speeches created as a result of the recording upload, and lets you assign all the speeches of a recording to a section.

  • Make RecordingTimestamps have a foreign key to Recording, rather than a ManyToMany (I can't see why they're ManyToMany)
  • On recording upload, store the first timestamp datetime also in the Recording as the start of the recording (to base changing the timestamps from)
  • Have a form that allows the timestamps to be edited (perhaps by datetime, perhaps might be better as "seconds from start"), and then on submission resplits the main uploaded MP3 and updates the associated speeches. (This will probably involve a Django formset.)

API querying

Need to work out which fields can be queried on and add them to the API fields.

Lots of get_ancestors is slow

If you have a page of speeches (by a particular speaker, most recent, or whatever), it'd be nice to show the ancestry of each speech, ie. all the sections that lead down to that speech. But calling get_ancestors on each one in turn is relatively slow (c 0.01s per row, doesn't appear to be in the db lookup which is <1ms, hmm). Need to either find out why it's slow and speed it up, make one call to get all the ancestors and match them up to the items in code, or something else.

Move to using popit-django

Might as well do this sooner rather than later. Make sure it's optional to be tied to a popit person.

Add the ability to order Sections differently

Sections are listed by time of Speeches under them if there are any times, falling back to Section insertion (ID) order. This works okay, but you might want to e.g. insert two sets of same-date written answers (each a separate Section containing question and answer) to a particular department and have all topics listed in alphabetical order, not insertion order.

To consider - order_with_respect_to (adds column, manual (re)ordering then possible); a flag on Section to say "order its children this way" (dunno if recursive query will make that tricky, but current ordering is done in python after fetching anyway).

Have "no speaker" as well as "unknown speaker"

Currently, a speech with no speaker is treated as narrative - we need to distinguish between "unknown speaker" and "no speaker" in some way. A flag/tag on a particular speaker to treat as "Unknown", or a flag on a speech to mark as procedural?

"Save and add another" speech button

If you're writing a whole debate's worth of speeches, you want as much as possible set up from one speech form to the next. All that's probably going to change is time, speaker, and text - prioritise these three (guess time based on size of previous speech? Guess speaker based on dialogue?), default others, move some to section?

Section API

An API to retrieve sections of an instance, their subsections, (parent?), and so on.

Allow recording timestamp editing to add/remove speeches

#31 lets you edit the recording timestamps, but not create/remove any.

Add the ability to insert a new RecordingTimestamp at any point among the other timestamps. This will then create a new Speech.

Also allow a RecordingTimestamp to be removed, which should then remove the associated Speech.

Assign multiple Speeches to a Section

When you've uploaded an audio and it's been split into speeches, you might well want to put all those speeches in the same (possibly new) Section. Need to have some interface that makes that easier/easy, and for in general if possible.

Should uploaded audio create a root Section and put a group in there? Too many root sections in that case? Would mean you just need to add/change the parent of the Section (assuming you have a structure already). @mhl any thoughts?

Section level/type

Perhaps have an optional table to provide a name for a particular depth of Section tree (e.g. "Day", "Department", "Play").

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.