Hi Jan,

There should be the following codebook files once generated:

codebook.c
codebookd.c
codebookjmv.c
codebookge.c
codebooknewamp1.c
codebooknewamp1_energy.c
codebooknewamp2.c
codebooknewamp2_energy.c

generate_codebook expects one or more .txt files and outputs the resulting
.c file on standard output. For example, to generate codebooknewamp1.c:

generate_codebook train_120_1.txt train_120_2.txt > codebooknewamp1.c

The exact list of files required for each .c file can be found in the set()
lines at the top of the previously mentioned CMakeLists.txt file.
Continuing with the above example:

set(CODEBOOKSNEWAMP1
    ${D}/train_120_1.txt
    ${D}/train_120_2.txt
)

(${D} in this case is the "codebook" folder under codec2's src/ folder.)

Thanks,

-Mooneer K6AQ

On Mon, Dec 18, 2023 at 4:02 AM Jan Ropek <ropek...@gmail.com> wrote:

> Hi,
>
> My attempts at generating a codebook :-). I downloaded the entire Codec2
> repo, turned generate_codebook.c into generate_codebook.exe which I tried
> to run in the command line, but that's where I got stuck.
> 1) Is this approach even correct? Or do I need to do it through the
> mentioned CMakeLists?
> 2) In the codebook folder, there are many .txt files (codes_450.txt,
> dlsp1-10, lsp1-10, ...). So, do I need to generate a corresponding
> codebook.c for each of these files? Or should all these txt files have one
> common output file?
>
> Possibly, how should I proceed? Or is it possible to download these
> generated codebooks from somewhere already prepared?
>
> Thanks a lot for any help.
> *Best regards. Jan Ropek.*
>
>
>
> ne 17. 12. 2023 v 19:10 odesílatel Mooneer Salem <moon...@gmail.com>
> napsal:
>
>> Hi Jan,
>>
>> In the STM32 CMake code, there's logic to generate the codebook files by
>> calling the generate_codebook application in
>> https://github.com/drowe67/codec2/blob/main/stm32/cmake/gencodebooks.cmake.
>> In that file, there should be the command lines you should use to generate
>> the needed files. I'd generate all of them to start and remove the ones you
>> ultimately don't need.
>>
>> Thanks,
>>
>> -Mooneer K6AQ
>>
>> On Sun, Dec 17, 2023 at 5:01 AM Jan Ropek <ropek...@gmail.com> wrote:
>>
>>> Hi David, Mooneer, and everyone,
>>>
>>> It seems that I have made some progress with the implementation into the
>>> STM32 project. However, I have encountered an error: int lsp_bits(int i) {
>>> return lsp_cb[i].log2m; }. Does this mean that I might need to generate
>>> something with the codebook? I have installed MSYS2 to run
>>> generate_codebook.c, but I am not sure what exactly I should use from the
>>> codebook folder. Or should I use everything? How does this work? Can you
>>> please advise me?
>>>
>>> Thank you very much :-)
>>>
>>> [image: image.png]
>>> *Best regards, Jan,*
>>>
>>>
>>>
>>> st 13. 12. 2023 v 11:13 odesílatel david <da...@rowetel.com> napsal:
>>>
>>>> Hi Jan,
>>>>
>>>> Please feel free to ask any question.
>>>>
>>>> There's a list of files for the vocoder in the codec2.pdf doc I posted
>>>> a link to earlier today, well most of them anyway.  One trick is that
>>>> some of the tables are generated as part of the build process, so best
>>>> to follow the standard build process on an Ubuntu machine first, to
>>>> generate them.
>>>>
>>>> Starting with all files then removing the unneeded ones is also a good
>>>> approach, as Mooneer hinted at.
>>>>
>>>> - David
>>>>
>>>>  On Wed, 2023-12-13 at 09:17 +0100, Jan Ropek wrote:
>>>> >
>>>> > Hello everyone, I might get thrown out for asking this, but I want to
>>>> > import CODEC2 libraries into my STM32 project (created in CubeIde) -
>>>> > just the encoding and decoding, nothing else like FreeDV or other
>>>> > things. But I'm quite lost about which files to import and which not
>>>> > to. Is there a manual on which files to use? Or should I just try
>>>> > brute force? I assume I need to use some of these files from
>>>> > https://github.com/drowe67/codec2/tree/main/src plus the memtools
>>>> > from here https://github.com/drowe67/codec2/tree/main/stm32/src,
>>>> > right?
>>>> >
>>>> > Thank you very much. Jan.
>>>> > _______________________________________________
>>>> > Freetel-codec2 mailing list
>>>> > Freetel-codec2@lists.sourceforge.net
>>>> > https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Freetel-codec2 mailing list
>>>> Freetel-codec2@lists.sourceforge.net
>>>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>>>
>>> _______________________________________________
>>> Freetel-codec2 mailing list
>>> Freetel-codec2@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>>
>> _______________________________________________
>> Freetel-codec2 mailing list
>> Freetel-codec2@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>>
> _______________________________________________
> Freetel-codec2 mailing list
> Freetel-codec2@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/freetel-codec2
>
_______________________________________________
Freetel-codec2 mailing list
Freetel-codec2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to