• Status Unconfirmed
  • Percent Complete
  • Task Type Patches
  • Category Rbutil
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.6
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by trumpton - 2010-09-11

FS#11622 - Improved Synthesis of talk clips for CamelCased files and directories

The Rockbox utility generates its talk files and directory files using the filename and directory names.

If the filenames do not contain spaces, but are CamelCased, they are currently synthesized badly, for example: “I Do I Do I Do” gets pronounced eeedoyeeedoyeeedoy.

The patch to the rbutil/base/talkfile.cpp processes CamelCased filenames and directory names just before synthesis and produces much better sounding talk clips.

There is no patch attached – did you forget to actually attach it?

Furthermore, IMO a better approach would be to allow filename adjustments using regular expressions – those could easily convert CamelCase to Separate Words, and also do other nice transformations (like converting numbers like “01” to “1” as not all TTS engines can do so).

I thought I had attached the patch … well, here it is now!

Two remarks about your diff (not much of a problem with this one but for the future):

- We generally prefer patches done with svn diff (or the corresponding diff option if you use a mirror with a different VCS). svn diff has the advantage to record the revision it’s done against and it also uses the unified diff format which is nicer to read.
- We usually prefer patches done from the root of the Rockbox tree (so they can get applied with patch -p0, the format created by git diff / format-patch is also ok in case you’re mirroring the repository).

The patch itself looks ok from a quick look, however, as I said before (especially in the forums) I don’t think this is a good approach since it hard codes only one specific use case.


Available keyboard shortcuts


Task Details

Task Editing