Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brad 2020 #1

Merged
merged 65 commits into from
Jun 2, 2019
Merged

Brad 2020 #1

merged 65 commits into from
Jun 2, 2019

Conversation

ac0zj
Copy link

@ac0zj ac0zj commented Mar 23, 2019

Hi David, here's the pull request. Brad

@@ -1111,7 +1116,7 @@ void MainFrame::OnTimer(wxTimerEvent &evt)
m_textSync->SetLabel("Modem");
}
g_prev_State = g_State;
if (g_mode == FREEDV_MODE_700D) {
if ((g_mode == FREEDV_MODE_700D) || (g_mode == FREEDV_MODE_2020)){
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good thinking! Hhowever the interleaver (at least past one frame) seems really used, so I doubt it will be used for 2020

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The interleaver might be good for broadcasting.

ac0zj and others added 7 commits March 29, 2019 07:56
…Frame::designAnEQFilter to use this, but using stubbed freedv_get_speech_sample_rate.
…current speech sample rate. Replaced instances of FS when used as voice sample rate with freedv_get_speech_sample_rate. This is a pre-test, and testing might show instances of FS being replaced when it shouldn't, and vice versa.
…etting argc to wrong value. In CMakeLists.txt, added lpcnetfreedv to target_link_libraries.
wxGetApp().m_codec2LPCPostFilterBeta,
wxGetApp().m_codec2LPCPostFilterGamma);
}

// Init Speex pre-processor states
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ac0zj How about this Brad? I thought this was perhaps easier than adding (yet another) API function.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that's fine - simple and makes sense!

ac0zj and others added 16 commits April 19, 2019 12:44
…t to file. There were/are two 2020 integration issues, one having to do with a fifo not being big enough, the other with pulling too much data out of a sound card fifo. Right now both issues are made to work with hacks - look for bvs in the code. I still need to figure out why the size changes are needed and how those values should be derived, then I'll remove the hacks.
…mp patch. Comments in code explain what the problem is. Still working on solution to this issue.
@drowe67
Copy link
Owner

drowe67 commented May 2, 2019

@ac0zj or @hobbes1069 could you pls:

  1. Update README.md on how to build freedv-gui with 2020 support for Linux. I am not sure what cmake line to use.
  2. Alternatively get .travis.yml working in this branch, as that will show me how to do it.

@hobbes1069
Copy link
Collaborator

@ac0zj or @hobbes1069 could you pls:

  1. Update README.md on how to build freedv-gui with 2020 support for Linux. I am not sure what cmake line to use.
  2. Alternatively get .travis.yml working in this branch, as that will show me how to do it.

Ok, I want to be carefull... This is Pull #1 but mine is Pull #9. Do I need to merge my pull request and then fix Travis CI?

@drowe67
Copy link
Owner

drowe67 commented May 2, 2019

@hobbes1069 no I think that would be too big a step right now. I just need the build instructions pls so I can start testing FreeDV 2020 in this branch ASAP.

@drowe67
Copy link
Owner

drowe67 commented May 10, 2019

@ac0zj I've been working up the Windows side and have the problem traced to the NN decoder drowe67/LPCNet#7 (comment)

I have a few local Hams set up to try the Linux version this weekend. I'd like to see how the "human factors" play out in a PTT QSO, in particular sync time.

@ac0zj
Copy link
Author

ac0zj commented May 14, 2019 via email


int nsam_in_48 = g_soundCard2SampleRate * freedv_get_n_speech_samples(g_pfreedv)/freedv_get_speech_sample_rate(g_pfreedv);
assert(nsam_in_48 < 10*N48);
while((unsigned)codec2_fifo_free(cbData->outfifo1) >= nsam_one_modem_frame) {

Copy link
Owner

@drowe67 drowe67 May 24, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ac0zj I think this should be:

while((unsigned)codec2_fifo_free(cbData->outfifo1) >= nsam_one_modem_frame)

to ensure output fifo stays full?

Perhaps we can now try smaller FIFO sizes?

If you switch on Options - txrxDumpFifoState it will print out a bunch of info and you can see it waiting until there is just enough room for a new buffer of modem samples before entering the while loop.

@ac0zj
Copy link
Author

ac0zj commented May 26, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants