[Vorbis] Newbie seeking directions

j at v2v.cc j at v2v.cc
Sat Oct 2 01:26:23 PDT 2004


to work around the same serial number in chained ogg stream you could do
something like this:
http://svn.xiph.org/trunk/py-ogg2/examples/reserializer.py

but since you repeat the same 4 ogg sequences all the time, would it not
be better to just create a playlist(m3u)?

j

On Fri, 2004-10-01 at 22:37 +0200, Filippo Rusconi wrote:
> Hello everybody,
> 
> 
> I'm developing the www.polyxmass.org (GNU polyxmass) program that is a
> polymer sequence editor (a polymer is a thread made of concatenated
> monomers).
> 
> I would like to code a "self-speak-out" feature for that sequence
> editor: the user would select a sequence region and ask that the
> program would "dictate" the sequence.
> 
> For example, the following could be a DNA sequence:
> 
> "ATGCTTCTGGGCTTGCG".
> 
> The user can define that:
> 
> - for monomer letter 'A', the ogg sound file "adenine.ogg" should be
>   used to vocalize it; 
> 
> - for monomer 'G', the sound file "guanine.ogg" should be used, and so
>   on...
> 
> Now, this is how the program could vocalize the sequence
> "ATGCTTCTGGGCTTGCG":
> 
> 0. Let the user define an output file (ogg file) where all the sounds
>    are sent to (say "gene.ogg");
> 
> 1. Prepare all the sounds: for each __different__ monomer in the
>    polymer ('A', 'T', 'G', 'C'), read its corresponding ogg file
>    (adenine.ogg for 'A'... see above) and put the contents of that ogg
>    file into an allocated char * string in memory;
> 
> 2. Now that all the monomers in the sequence have their corresponding
>    sound data in allocated gchar * strings, we can parse the sequence
>    and for each parsed monomer fwrite () the contents of the
>    corresponding ogg sound gchar * string to the gene.ogg file (see
>    0).
> 
> 3. At the end of the parsing of the sequence, we'll have a "gene.ogg"
>    file that is acutally a concatenation of the contents of the sound
>    files corresponding to the sequence "ATGCTTCTGGGCTTGCG".
> 
> Note that, to ease the "self-speak" hearing, the user might configure
> the system to intercalate "silent sound" ("silent sound" file created
> using the Audacity utility) between the contents of monomer sounds.
> 
> Basically this should work because I've read in a number of places
> that ogg files are "concatenable"...
> 
> 
> However, I have noticed this using ogginfo on the gene.ogg file:
> 
> New logical stream (#4, serial: 2553ab11): type vorbis
> Vorbis headers parsed for stream 4, information follows...
> Version: 0
> Vendor: Xiph.Org libVorbis I 20030909 (1.0.1)
> Channels: 1
> Rate: 44100
> 
> Nominal bitrate: 96.001000 kb/s
> Upper bitrate not set
> Lower bitrate not set
> Vorbis stream 4:
>         Total data length: 10644 bytes
>         Playback length: 0m:01.011s
>         Average bitrate: 84.206821 kbps
> Logical stream 4 ended
> 
> ~~~~~~~~~~~ piece of interest below ~~~~~~~~~~~~~~~
> 
> Warning: illegally placed page(s) for logical stream 3
> This indicates a corrupt ogg file: Page found for stream after EOS flag.
> Warning: sequence number gap in stream 3. Got page 1 when expecting
> page 6. 
> Indicates missing data.
> New logical stream (#5, serial: 70c4bd08): type vorbis
> Vorbis headers parsed for stream 5, information follows...
> 
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> 
> It seems that the concatenation of by-themselves-correct files does
> not always succeed. 
> 
> Can somebody point me to some example of such concatenation of many
> in-memory gchar * ogg data into a single ogg file ?
> 
> Sorry for this long message,
> 
> Thank you for your kind help,
> 
> Filippo
> 
> 
> _______________________________________________
> Vorbis mailing list
> Vorbis at xiph.org
> http://lists.xiph.org/mailman/listinfo/vorbis



More information about the Vorbis mailing list