Rockbox

Tasklist

FS#6323 - Speech for ID3 viewer, playlist catalog and playlist viewer

Attached to Project: Rockbox
Opened by Stephane Doyon (sdoyon) - Monday, 13 November 2006, 03:18 GMT
Last edited by Thomas Martitz (kugel.) - Sunday, 05 June 2011, 11:43 GMT
Task Type Patches
Category User Interface
Status Closed
Assigned To No-one
Operating System All players
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Add speech to the browse_id3() screen.

The fact that everything was in a list made it easy: just speak the
current line and let user move to hear the rest. But properly speaking
the various data types took a bit more work.

title, artist, album and genre are spelled.
(Genres are known strings but there's way too many of them to make voice
clips for each. Is there a half-dozen most used that we could do?)

Track number and year are usually a number but are in fact free-form and
given in a string. So I go through the string, saying successive digits
as numbers and spelling anything else. I even made a year unit so it says
"nineteen ninety nine" instead of "one thousand 9 hundred ninety nine".

Length (duration) is said in numbers of hours,minutes,seconds.
Playlist position is spoken as <number> "of" <number>.
Bitrate and frequency are said with appropriate unit.

Replaygain is parsed and if in the expected format, said as a signed
number, dot, fraction numbers spelled, and decibel unit. It the expected
form is not recognized, we just spell everything as a fallback.

Path is said using functionality from my talk_file patch, which I will
upload in a few minutes: it can play the .talk clips for each component
of the path, or just spell the whole thing.

And if no info is available for a particular field, it says so.
This task depends upon

View Dependency Graph

This task blocks these from closing
 FS#6338 - Playlist playing time 
Closed by  Thomas Martitz (kugel.)
Sunday, 05 June 2011, 11:43 GMT
Reason for closing:  Out of Date
Additional comments about closing:  There doesn't seem to be interest in this anymore. Open a new task if this is wrong.
Comment by Stephane Doyon (sdoyon) - Monday, 13 November 2006, 03:19 GMT
Some talk.c infrastructure to play a file's or dir's .talk thumbnail when
available, falling back to spelling or going straight to settings
depending on preference settings. Ability to prefix the thumbnail or
spelling with some talk ids. Function to speak each component of a
component of a full pathname, or spell it.

These are useful for bookmark entries, ID3 info and the playlist viewer,
and probably other places.

There is one issue with spelling the full path of a file: the queue of
clips in talk.c is quickly exceeded, as path names longer than 64 are not
uncommon. The simplistic fix is to bump up the queue size, but that does
waste a kilobyte or two of RAM.
Comment by Stephane Doyon (sdoyon) - Monday, 13 November 2006, 03:21 GMT
Add speech to the playlist catalog.

Very small patch, but requires my talk_file patch.

Will play the playlist's .talk clip or spell out the name, depending
on settings.
Comment by Stephane Doyon (sdoyon) - Monday, 13 November 2006, 03:23 GMT
Add speech to the playlist viewer and playlist search screens.

Implemented as a list, so we speak the current entry.
Requires my talk_file patch.

In the viewer:
-If icons are enabled, says equivalent information such as "now playing",
"track to move"...
-If indices are enabled, says the index.
-It then says the track filename or full path (depending on settings)
using .talk clips or spelling.
-When in the process of moving a track, after saying the current entry it
pauses and says "moving track".

Playlist search: no progress report during the search, but the number of
matches is spoken when the search is complete. Then it's a simple list of
track names again.
Comment by daniel (daniel) - Monday, 11 June 2007, 09:34 GMT
Hi Can you tell me what number fly spray your talk_file patch is? Also do you know if this compiles on the latest svn build? Thanks.
Comment by Stephane Doyon (sdoyon) - Friday, 14 September 2007, 03:55 GMT
Here are current updates for all the patches.

These patches use functionality from:
-P6239: Lack of protection against reuse of p_thumbnail
-P7774: Voice callback for gui_synclist

And they are made to apply on top of:
-P7775: Use list voice callback in file browser
-P7653 Say file type
Comment by Stephane Doyon (sdoyon) - Friday, 14 September 2007, 03:56 GMT
And the other two.
Comment by Stephane Doyon (sdoyon) - Tuesday, 18 September 2007, 02:19 GMT
Sync'ed with recent gui_synclist_do_button change.
Comment by Stephane Doyon (sdoyon) - Tuesday, 18 September 2007, 02:33 GMT
Sync'ed for recent gui_synclist_do_button change,
and I extracted common code used by other patches so this
now requires P#7798: Voice unit for time.
   id3.diff (16.8 KiB)
Comment by Stephane Doyon (sdoyon) - Wednesday, 26 September 2007, 01:04 GMT
update of id3.diff: Sync with P#7798 syntax change, and a simulator fix.
   id3.diff (16.9 KiB)
Comment by Stephane Doyon (sdoyon) - Wednesday, 26 September 2007, 01:10 GMT
Update to talk_file.diff:
-A stupid mistake that had an enqueue flag inverted.
-Sim fixes.
-Killed TABs...
Comment by Sofian Babai (sofianbabai) - Friday, 28 September 2007, 02:01 GMT
i'm impressed by this work. i'm going through all those patches and discovering. a really nice job!
Comment by Stephane Doyon (sdoyon) - Wednesday, 28 November 2007, 02:20 GMT
Sync of talk_file and playlist_catalog patches.

The only remaining dependency is P6239: Lack of protection against reuse
of p_thumbnail.
Comment by Stephane Doyon (sdoyon) - Tuesday, 15 July 2008, 16:20 GMT
talk_file and playlist_catalog have been committed.

playlist_viewer and id3 remain.

id3 has a good deal of code and voice entries, IWBN as a plugin, when plugins can talk.

Loading...