Go Back   Home > Forums > >

PC Based Computer music servers, crossovers, and equalization

GSFIR the Open Source Multiplatform Python FIR Generation Tool
GSFIR the Open Source Multiplatform Python FIR Generation Tool
Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools
Old 24th November 2020, 03:46 PM   #1
Boscoe is offline Boscoe  United Kingdom
diyAudio Member
 
Join Date: Feb 2010
Location: England
Default GSFIR the Open Source Multiplatform Python FIR Generation Tool

Hi all,

I've been looking for a macOs replacement for rePhase (which is amazing) but have come up with nothing. I can write a bit of python so started looking into writing a script to create the FIR coefficients I needed. I'm only really interested in sharp angle filters and shelving - not EQ.

I have put the code in this repo:

GitHub - geowal19/GSFIR

Current functionality is extremely basic and only a proof of concept. I have implemented a way to create brickwall filters and shelving, I have no tested the coefficients in real life.

Please feel free to clone and play with the code, there's a demo script called tester.py.

I will be continuing to work on this in a very casual basis.
  Reply With Quote
Old 28th November 2020, 11:45 PM   #2
ariendj is offline ariendj  Germany
diyAudio Member
 
Join Date: Jan 2004
Hey Boscoe, thank you for sharing this!

I had been looking for a FOSS alternative to rePhase for a while. While rePhase is hosted on sourceforge.org, I have unfortunately never seen any source code published for it.

I'm currently experimenting with using a soundcard and ffmpeg as my phono preamp. The results are surprisingly good so far.

For an experiment I'd like to generate an 18Hz brickwall highpass filter and compare it with the 8th order Linkwitz-Riley filter I'm currently using.

Do I understand correctly that I'd only have to change sample rate in gs_fir.py to the 96000Hz rate that I use and edit tester.py to this:
Code:
from gs_fir import GSFIR

config = GSFIR()
#config.apply_low_pass(1000)
config.apply_high_pass(18)
#config.apply_shelf(10, 100, 10)
#config.print_resp()
config.create_coefficients(n_taps=8001)
config.print_output_resp()
config.output_coefs('output.fir')
to get a coefficients file called output.fir?
  Reply With Quote
Old 29th November 2020, 10:01 AM   #3
Boscoe is offline Boscoe  United Kingdom
diyAudio Member
 
Join Date: Feb 2010
Location: England
Quote:
Originally Posted by ariendj View Post
Hey Boscoe, thank you for sharing this!

I had been looking for a FOSS alternative to rePhase for a while. While rePhase is hosted on sourceforge.org, I have unfortunately never seen any source code published for it.

I'm currently experimenting with using a soundcard and ffmpeg as my phono preamp. The results are surprisingly good so far.

For an experiment I'd like to generate an 18Hz brickwall highpass filter and compare it with the 8th order Linkwitz-Riley filter I'm currently using.

Do I understand correctly that I'd only have to change sample rate in gs_fir.py to the 96000Hz rate that I use and edit tester.py to this:
Code:
from gs_fir import GSFIR

config = GSFIR()
#config.apply_low_pass(1000)
config.apply_high_pass(18)
#config.apply_shelf(10, 100, 10)
#config.print_resp()
config.create_coefficients(n_taps=8001)
config.print_output_resp()
config.output_coefs('output.fir')
to get a coefficients file called output.fir?
Hi Ariendj, that is almost correct. Yes, you can set fs in gs_fir.py but it is better if you leave the API alone and change it in tester.py by doing the following:

Code:
config.fs = 96000
All frequency values are in Hz so this line should look like this:

Code:
config.apply_high_pass(18000)
Remember to set the correct number of taps for your application.
  Reply to this post

Reply


GSFIR the Open Source Multiplatform Python FIR Generation ToolHide this!Advertise here!
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
rePhase, a loudspeaker phase linearization, EQ and FIR filtering tool pos Multi-Way 3223 15th December 2020 03:52 AM
FIR-LADSPA: A LADSPA plugin for FIR filtering CharlieLaub PC Based 42 31st March 2020 06:10 PM
Python Open Room Correction (PORC) greenm01 Digital Line Level 112 29th March 2020 11:17 PM
When can humans no longer differentiate a long FIR filter and a longer FIR filter? torgeirs Digital Line Level 7 21st May 2017 11:09 AM
FIR filter design tool for Loudspeaker magnitude equalization ttmusic Software Tools 3 24th May 2013 09:30 PM


New To Site? Need Help?

All times are GMT. The time now is 11:06 AM.


Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.
Resources saved on this page: MySQL 15.00%
vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.
Copyright ©1999-2021 diyAudio
Wiki