Coder Social home page Coder Social logo

wwmm / easyeffects Goto Github PK

View Code? Open in Web Editor NEW
6.0K 74.0 260.0 74.04 MB

Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications

License: GNU General Public License v3.0

Python 0.99% Meson 0.90% CSS 0.01% C++ 96.27% Shell 1.84%
equalizer reverberation pulseaudio compressor stereo-equalizer-effects auto-volume pipewire gtk4

easyeffects's People

Contributors

adem4ik avatar albanobattistella avatar asavartzeth avatar atalanttore avatar bleuzen avatar blobcodes avatar comradekingu avatar dependabot[bot] avatar digitalone1 avatar easyeffects-bot avatar flipflop97 avatar fschaupp avatar hch12907 avatar hosiet avatar ideathbyte avatar lebedevri avatar m0rf30 avatar marcelocripe avatar mbousq avatar mikhailnov avatar milotype avatar mkljczk avatar oersen avatar openglfreak avatar serdarsaglam avatar torokati44 avatar vchernin avatar violetmage avatar weblate avatar wwmm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easyeffects's Issues

Void Linux GLib-GIO-ERROR / python errors

Hi @wwmm !

I am trying to build a package for Void linux, in response to this recent PackageRequest.

I'm almost done, but I get this error when I run the program:

$ pulseeffects
(pulseeffects:17538): GLib-GIO-ERROR **: Settings schema 'com.github.wwmm.pulseeffects' is not installed
Trace/breakpoint trap

Do you have any idea ?
Regards.

Effects for input devices / streams from microphone

Hi, I have a suggestion.
I would like to use this effects for my input (mic).
During playing around with PulseEffects and PulseAudio / pavucontrol ... I got it already working, that I can hear myself and apply the effects.
But I don't know how I can not hear myself and rout this into other apps, which want to record my voice ... and it would be great if this would be a feature instead of a random 'playing around' thing..

issue with mic monitor?

Hi,

I am running on master [ b04df85 ] and I get this error

(pulseeffects:3601): Gtk-WARNING **: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(pulseeffects:3601): Gtk-WARNING **: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(pulseeffects:3601): Gtk-WARNING **: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version
12:05:13.228 - PulseEffects - INFO - pulseaudio context started
12:05:13.228 - PulseEffects - INFO - connected to server: unix:/run/user/1000/pulse/native
12:05:13.228 - PulseEffects - INFO - server protocol version: 32
12:05:13.229 - PulseEffects - INFO - pulseaudio version: 10.0
12:05:13.229 - PulseEffects - INFO - default pulseaudio source: alsa_input.pci-0000_00_1f.3.analog-stereo
12:05:13.229 - PulseEffects - INFO - default pulseaudio sink: alsa_output.pci-0000_00_1f.3.analog-stereo
12:05:13.229 - PulseEffects - INFO - default pulseaudio sink audio format: s16le
12:05:13.229 - PulseEffects - INFO - default pulseaudio sink sampling rate: 44100 Hz. We will use the same rate.
12:05:13.230 - PulseEffects - INFO - default pulseaudio source audio format: s16le
12:05:13.230 - PulseEffects - INFO - default pulseaudio source sampling rate: 44100 Hz. We will use the same rate.
12:05:13.230 - PulseEffects - INFO - loading Pulseeffects applications sink...
12:05:13.231 - PulseEffects - INFO - sink owner module index: 26
12:05:13.234 - PulseEffects - INFO - Pulseeffects apps sink was successfully loaded
12:05:13.234 - PulseEffects - INFO - Pulseeffects apps sink index:1
12:05:13.234 - PulseEffects - INFO - Pulseeffects apps sink monitor name: PulseEffects_apps.monitor
12:05:13.235 - PulseEffects - INFO - loading Pulseeffects microphone output sink...
12:05:13.236 - PulseEffects - INFO - sink owner module index: 27
12:05:13.236 - PulseEffects - INFO - Pulseeffects mic sink was successfully loaded
12:05:13.237 - PulseEffects - INFO - Pulseeffects mic sink index:2
12:05:13.237 - PulseEffects - INFO - Pulseeffects mic sink monitor name: PulseEffects_mic.monitor
Traceback (most recent call last):
File "/usr/bin/pulseeffects", line 4, in
import('pkg_resources').run_script('PulseEffects==2.2.1', 'pulseeffects')
File "/usr/lib64/python3.4/site-packages/pkg_resources/init.py", line 739, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib64/python3.4/site-packages/pkg_resources/init.py", line 1500, in run_script
exec(code, namespace, namespace)
File "/usr/lib64/python3.4/site-packages/PulseEffects-2.2.1-py3.4.egg/EGG-INFO/scripts/pulseeffects", line 6, in
a = Application()
File "/usr/lib64/python3.4/site-packages/PulseEffects-2.2.1-py3.4.egg/PulseEffects/application.py", line 61, in init
self.sie = SinkInputEffects(self.pm.default_sink_rate)
File "/usr/lib64/python3.4/site-packages/PulseEffects-2.2.1-py3.4.egg/PulseEffects/sink_input_effects.py", line 69, in init
self.pipeline = self.build_pipeline()
File "/usr/lib64/python3.4/site-packages/PulseEffects-2.2.1-py3.4.egg/PulseEffects/sink_input_effects.py", line 124, in build_pipeline
self.audio_src.set_property('volume', 1.0)
AttributeError: 'NoneType' object has no attribute 'set_property'
(pulseeffects:3601): Gtk-WARNING **: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(pulseeffects:3601): Gtk-WARNING **: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(pulseeffects:3601): Gtk-WARNING **: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version
12:05:13.228 - PulseEffects - INFO - pulseaudio context started
12:05:13.228 - PulseEffects - INFO - connected to server: unix:/run/user/1000/pulse/native
12:05:13.228 - PulseEffects - INFO - server protocol version: 32
12:05:13.229 - PulseEffects - INFO - pulseaudio version: 10.0
12:05:13.229 - PulseEffects - INFO - default pulseaudio source: alsa_input.pci-0000_00_1f.3.analog-stereo
12:05:13.229 - PulseEffects - INFO - default pulseaudio sink: alsa_output.pci-0000_00_1f.3.analog-stereo
12:05:13.229 - PulseEffects - INFO - default pulseaudio sink audio format: s16le
12:05:13.229 - PulseEffects - INFO - default pulseaudio sink sampling rate: 44100 Hz. We will use the same rate.
12:05:13.230 - PulseEffects - INFO - default pulseaudio source audio format: s16le
12:05:13.230 - PulseEffects - INFO - default pulseaudio source sampling rate: 44100 Hz. We will use the same rate.
12:05:13.230 - PulseEffects - INFO - loading Pulseeffects applications sink...
12:05:13.231 - PulseEffects - INFO - sink owner module index: 26
12:05:13.234 - PulseEffects - INFO - Pulseeffects apps sink was successfully loaded
12:05:13.234 - PulseEffects - INFO - Pulseeffects apps sink index:1
12:05:13.234 - PulseEffects - INFO - Pulseeffects apps sink monitor name: PulseEffects_apps.monitor
12:05:13.235 - PulseEffects - INFO - loading Pulseeffects microphone output sink...
12:05:13.236 - PulseEffects - INFO - sink owner module index: 27
12:05:13.236 - PulseEffects - INFO - Pulseeffects mic sink was successfully loaded
12:05:13.237 - PulseEffects - INFO - Pulseeffects mic sink index:2
12:05:13.237 - PulseEffects - INFO - Pulseeffects mic sink monitor name: PulseEffects_mic.monitor
Traceback (most recent call last):
File "/usr/bin/pulseeffects", line 4, in
import('pkg_resources').run_script('PulseEffects==2.2.1', 'pulseeffects')
File "/usr/lib64/python3.4/site-packages/pkg_resources/init.py", line 739, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib64/python3.4/site-packages/pkg_resources/init.py", line 1500, in run_script
exec(code, namespace, namespace)
File "/usr/lib64/python3.4/site-packages/PulseEffects-2.2.1-py3.4.egg/EGG-INFO/scripts/pulseeffects", line 6, in
a = Application()
File "/usr/lib64/python3.4/site-packages/PulseEffects-2.2.1-py3.4.egg/PulseEffects/application.py", line 61, in init
self.sie = SinkInputEffects(self.pm.default_sink_rate)
File "/usr/lib64/python3.4/site-packages/PulseEffects-2.2.1-py3.4.egg/PulseEffects/sink_input_effects.py", line 69, in init
self.pipeline = self.build_pipeline()
File "/usr/lib64/python3.4/site-packages/PulseEffects-2.2.1-py3.4.egg/PulseEffects/sink_input_effects.py", line 124, in build_pipeline
self.audio_src.set_property('volume', 1.0)
AttributeError: 'NoneType' object has no attribute 'set_property'

Any ideas?

No Visualization and a lot of errors

PE 1.4.2

ValueError: max() arg is an empty sequence
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/PulseEffects/gst.py", line 346, in on_message
if max(magnitudes) > -100:
ValueError: max() arg is an empty sequence
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/PulseEffects/gst.py", line 346, in on_message
....

and keeps repeating

No visualizer and effects.py

This is on ElementaryOS 0.4 (Ubuntu 16.04)
Not sure what's causing the 'magnitude' error.
My visualizer/spectrum doesn't show anything which I think is tied to GstValueList error as it appeared when enabling spectrum.

File "/usr/local/lib/python3.5/dist-packages/PulseEffects-2.0.3-py3.5.egg/PulseEffects/sink_input_effects.py", line 410, in on_message_element
magnitudes = msg.get_structure().get_value('magnitude')
TypeError: unknown type GstValueList

Ability to modify bin frequency values for equalizer

It'd be great to have a functionality where the specific frequency values can be set for each "bin" (slider) in the equalizer pane (e.g. changing "26Hz" for first slider to "30Hz" or something). I'm not sure if this is possible (or if the functionality already exists but I'm not seeing it), but it would be handy for people using specific profiles created for other equalizers for specific audio equipment.

No sound coming out

Hey

I'd love to try this out but I can't.
Seems like I cannot hear anything coming out either from my speakers and from my headset.
It's the same for both Chromium and ncmpcpp.

Here are some screenshots attached showing my settings.

screenshot from 2017-03-24 18-40-09
screenshot from 2017-03-24 18-42-38

Hope this might help.

Reverberation

Everytime when I run pulseeffects, Level in reverberation is not working, it's showing value that I set (0.00) but I have to change it to other value and back to value that I want, otherwise program thinks that Level in reverberation has default value.

Previously chosen options are not selected when opening the configuration sub-group

All sub-groups have a Configuration button with a gear button, which displays the respective options.

However, for most of these subgroups (namely: Input Limiter, Reverberation, Compressor and Equalizer), reopening them after having previously selected an option won't highlight which option is active. This doesn't happen for the Test Signal subgroup.

To be clear, the chosen settings are saved and applied, the issue here is mostly a cosmetic one.

Have a small "info" button near the "buffer-time" option to aid users in setting Latency

The default buffer window for this program is 60ms, which I believe is a bit too high of latency for most multimedia/gaming scenarios.

In my system I can lower this down to 24ms in normal circumstances, but in reality, the value of 30ms is the minimum I can set it to without introducing audio stuttering/clipping during high CPU usage. So I have just settled with 33ms, which appears to be a well-accepted default (you can see the discussion here, for instance: https://lists.freedesktop.org/archives/pulseaudio-discuss/2014-March/020174.html).

This 33ms setting is working very smoothly, even with sustained 100% CPU load, plus heavy I/O activity. This is for 48 KHz sources.

I'm a previous MS Windows user, and in Windows I used ViPER4Windows. The default latency for this software is 46ms, which is already quite noticeable.

So in this issue I'm really making two suggestions:

  1. Consider lowering the default latency for PulseEffects
  2. Introduce a small "info" icon (for help, possibly simply a round "i" or "?" symbol) right near the Buffer-time option so that new users can just click it and read about latency and how to better adjust it.

I though about having pre-set latencies but that idea doesn't really appeal to me.

Now to be a bit off-topic, you are doing a great work in this project. Congratulations, and best regards.

No sound and error loop.

I use Xubuntu 16.04. I install the newest pulseeffects, but it told me to install gtk+ 3.20 but I have gtk+ 3.18. I then install new repo from sudo add-apt-repository ppa:gnome3-team/gnome3-staging and sudo add-apt-repository ppa:gnome3-team/gnome3 and update. I tried restart once but upon starting pulseefects with GSETTINGS_SCHEMA_DIR=share/glib-2.0/schemas/ ./pulseeffects
I got this infinite loop of error... however pulseeffect did start but no sound.
http://i.imgur.com/6VRE8Fs.png

Add an option to disable individual effects

Currently all effects are always enabled.
This causes more CPU usage as needed. On my old laptop this is bad, also for the battery..

So it would be great if we could enable for example only the equalizer, if we only need the equalizer.
This would also 'fix': #42

For the GUI: What about something like 'planes' or 'tabs' ..
I mean there could be a effect list at the left and right of it there can be the effect settings.
Depending on which effect is selected in the list at the left, the settings things change at the right..

Like this for example:
pei

At the left, (in the effects list), currently "Equalizer" is selected and next to the list, there are the equalizer settings (marked orange) with an "enable" checkbox.

With this GUI, there would be also more place for the effect settings, because always only the settings of the current selected effect of the list are displayed.

(I know, not the best example picture and maybe not the best idea in general, but I have no other idea yet.)

Maybe this is the next big goal for 3.0 and it would be great ;)

Need help running pulseeffects on xubuntu 16.04

Hi,
First I got setup.py to run
kevin@kevin-desktop:~/Desktop/Software/pulseeffects-master$ sudo python3 setup.py
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help

error: no commands supplied

And I just left it there...
What I do next is...
I follows the steps here.

  1. git clone https://github.com/wwmm/pulseeffects.git
  2. cd pulseeffects
  3. glib-compile-schemas share/glib-2.0/schemas/
  4. chmod +x pulseeffects
  5. GSETTINGS_SCHEMA_DIR=share/glib-2.0/schemas/ ./pulseeffects

on the last step I got error.
kevin@kevin-desktop:~/pulseeffects$ GSETTINGS_SCHEMA_DIR=share/glib-2.0/schemas/ ./pulseeffects
Traceback (most recent call last):
File "./pulseeffects", line 6, in
a = Application()
File "/home/kevin/pulseeffects/PulseEffects/application.py", line 36, in init
self.gst = GstEffects()
File "/home/kevin/pulseeffects/PulseEffects/gst.py", line 49, in init
self.pipeline = self.build_pipeline()
File "/home/kevin/pulseeffects/PulseEffects/gst.py", line 109, in build_pipeline
pipeline.add(self.limiter)
TypeError: Argument 1 does not allow None as a value

However, I got pulseeffect to appear on sound setting>playback>pulseeffect, but no sound.

I don't know how to install it, I don't know which python file are suppose to launch that awesome looking gui.

Regression causes sound effect distortions

Commit 9d82395 and possibly ones that follow causes regressions in some of PulseEffects sound effects. Not sure which plugin, but something causes static in the sound. The music I play is still audible but the static is louder.

Tray

Could you add option to run Pulseeffects in tray?

undefined symbol: Py_InitModule4_64

Traceback (most recent call last):
  File "/usr/bin/pulseeffects", line 4, in <module>
    from PulseEffects.application import Application
  File "/usr/lib/python3.5/site-packages/PulseEffects/application.py", line 18, in <module>
    from PulseEffects.sink_input_effects import SinkInputEffects
  File "/usr/lib/python3.5/site-packages/PulseEffects/sink_input_effects.py", line 9, in <module>
    from gi.repository import GObject, Gst
  File "/usr/lib/python3.5/site-packages/gi/importer.py", line 146, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/usr/lib/python3.5/site-packages/gi/overrides/__init__.py", line 125, in load_overrides
    override_mod = importlib.import_module(override_package_name)
  File "/usr/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/lib/python3.5/site-packages/gi/overrides/Gst.py", line 487, in <module>
    from . import _gi_gst
ImportError: /usr/lib/python3.5/site-packages/gi/overrides/_gi_gst.cpython-35m-x86_64-linux-gnu.so: undefined symbol: Py_InitModule4_64

Distro is Void Linux

'NoneType' object has no attribute 'set_property'

$ pulseeffects
06:53:29.855 - PulseEffects - INFO - pulseaudio context started
06:53:29.855 - PulseEffects - INFO - connected to server: 127.0.0.1
06:53:29.856 - PulseEffects - INFO - server protocol version: 32
06:53:29.856 - PulseEffects - INFO - pulseaudio version: 10.0-rebootstrapped
06:53:29.856 - PulseEffects - INFO - default pulseaudio source: alsa_input.pci-0000_00_14.2.analog-stereo
06:53:29.856 - PulseEffects - INFO - default pulseaudio sink: alsa_output.pci-0000_09_05.0.analog-stereo
06:53:29.857 - PulseEffects - INFO - default pulseaudio sink audio format: s16le
06:53:29.857 - PulseEffects - INFO - default pulseaudio sink sampling rate: 48000 Hz. We will use the same rate.
06:53:29.858 - PulseEffects - INFO - default pulseaudio source audio format: s16le
06:53:29.858 - PulseEffects - INFO - default pulseaudio source sampling rate: 44100 Hz. We will use the same rate.
06:53:29.858 - PulseEffects - INFO - loading Pulseeffects applications sink...
06:53:29.859 - PulseEffects - INFO - Pulseeffects apps sink was successfully loaded
06:53:29.859 - PulseEffects - INFO - Pulseeffects apps sink index:3
06:53:29.859 - PulseEffects - INFO - Pulseeffects apps sink monitor name: PulseEffects_apps.monitor
06:53:29.859 - PulseEffects - INFO - loading Pulseeffects microphone output sink...
06:53:29.860 - PulseEffects - INFO - Pulseeffects mic sink was successfully loaded
06:53:29.860 - PulseEffects - INFO - Pulseeffects mic sink index:4
06:53:29.860 - PulseEffects - INFO - Pulseeffects mic sink monitor name: PulseEffects_mic.monitor
Traceback (most recent call last):
  File "/usr/bin/pulseeffects", line 6, in <module>
    a = Application()
  File "/usr/lib/python3.5/site-packages/PulseEffects/application.py", line 63, in __init__
    self.sie = SinkInputEffects(self.pm.default_sink_rate)
  File "/usr/lib/python3.5/site-packages/PulseEffects/sink_input_effects.py", line 69, in __init__
    self.pipeline = self.build_pipeline()
  File "/usr/lib/python3.5/site-packages/PulseEffects/sink_input_effects.py", line 179, in build_pipeline
    self.output_limiter.set_property('input-gain', 0)
AttributeError: 'NoneType' object has no attribute 'set_property'

Option to hide/change spectrum analyzer. Resize windows.

Could you make an option to hide the spectrum analyzer and maybe add other new cool spectrum analyzers also( I like clementine nyanalyzer). And why can't I resize the windows? I would like to make it fit nicely with music player. Thanks.

Tune music to 432 Hz

Hi,

it it possible to tune the output music to 432 Hz, instead of 440 Hz?

If so, how could this be achieved? If not, is that something that can be integrated in to the app?

I have been looking for a solution to do this for so long now, and there is only methods for playing music files, not streaming services like Spotify etc...

Best regards,
Tommy :)

py issue

when i try to launch

mfoxdogg@LINUX-4OBW:~/bin/pulseeffects> pulseeffects
16:17:58.587 - PulseEffects - INFO - pulseaudio context started
16:17:58.587 - PulseEffects - INFO - connected to server: /run/user/1000/pulse/native
16:17:58.588 - PulseEffects - INFO - server protocol version: 31
16:17:58.588 - PulseEffects - INFO - pulseaudio version: 9.0-rebootstrapped
16:17:58.588 - PulseEffects - INFO - default pulseaudio source: alsa_input.usb-AKM_AK5370-00.analog-mono
16:17:58.588 - PulseEffects - INFO - default pulseaudio sink: alsa_output.pci-0000_00_1b.0.analog-stereo
16:17:58.588 - PulseEffects - INFO - default pulseaudio sink audio format: s16le
16:17:58.588 - PulseEffects - INFO - default pulseaudio sink sampling rate: 44100 Hz. We will use the same rate.
16:17:58.589 - PulseEffects - INFO - default pulseaudio source audio format: s16le
16:17:58.589 - PulseEffects - INFO - default pulseaudio source sampling rate: 44100 Hz. We will use the same rate.
16:17:58.589 - PulseEffects - INFO - loading Pulseeffects applications sink...
16:17:58.589 - PulseEffects - INFO - sink owner module index: 32
16:17:58.591 - PulseEffects - INFO - Pulseeffects apps sink was successfully loaded
16:17:58.591 - PulseEffects - INFO - Pulseeffects apps sink index:2
16:17:58.591 - PulseEffects - INFO - Pulseeffects apps sink monitor name: PulseEffects_apps.monitor
16:17:58.592 - PulseEffects - INFO - loading Pulseeffects microphone output sink...
16:17:58.592 - PulseEffects - INFO - sink owner module index: 33
16:17:58.592 - PulseEffects - INFO - Pulseeffects mic sink was successfully loaded
16:17:58.592 - PulseEffects - INFO - Pulseeffects mic sink index:3
16:17:58.592 - PulseEffects - INFO - Pulseeffects mic sink monitor name: PulseEffects_mic.monitor
Traceback (most recent call last):
File "/usr/bin/pulseeffects", line 4, in
import('pkg_resources').run_script('PulseEffects==2.0.9', 'pulseeffects')
File "/usr/lib/python3.4/site-packages/pkg_resources/init.py", line 735, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3.4/site-packages/pkg_resources/init.py", line 1652, in run_script
exec(code, namespace, namespace)
File "/usr/lib/python3.4/site-packages/PulseEffects-2.0.9-py3.4.egg/EGG-INFO/scripts/pulseeffects", line 6, in
a = Application()
File "/usr/lib/python3.4/site-packages/PulseEffects-2.0.9-py3.4.egg/PulseEffects/application.py", line 63, in init
self.sie = SinkInputEffects(self.pm.default_sink_rate)
File "/usr/lib/python3.4/site-packages/PulseEffects-2.0.9-py3.4.egg/PulseEffects/sink_input_effects.py", line 65, in init
self.pipeline = self.build_pipeline()
File "/usr/lib/python3.4/site-packages/PulseEffects-2.0.9-py3.4.egg/PulseEffects/sink_input_effects.py", line 177, in build_pipeline
self.output_limiter.set_property('input-gain', 0)
AttributeError: 'NoneType' object has no attribute 'set_property'

opensuse42.2

Textual parameter input

Hi.

I tried this thing for voice recording, mainly the compressor. Parameters for attack/release and so on are typically set very low for voice recordings and those are next to impossible to set using the current slider. Some textual input would help there.

On a sidenote, this thing needs more documentation, it's non-obvious how it works, especially the routing within PA.

ImportError: cannot import name 'CubicSpline'

kev@kev-ICONIA-W700:~/pulseeffects$ GSETTINGS_SCHEMA_DIR=share/glib-2.0/schemas/ ./pulseeffects
Traceback (most recent call last):
File "./pulseeffects", line 4, in
from PulseEffects.application import Application
File "/home/kev/pulseeffects/PulseEffects/application.py", line 10, in
from PulseEffects.gst import GstEffects
File "/home/kev/pulseeffects/PulseEffects/gst.py", line 7, in
from scipy.interpolate import CubicSpline
ImportError: cannot import name 'CubicSpline'

I am trying to install on kde neon, I believe I install all the dependency (the instruction is pythongobject but I install python-gobject).

Pitch effect

Thank you for all the work you are doing with PulseEffects, it is a nice application.

Functionality like pitch would be a nice to have feature in PulseEffect, so that it is possible to manipulate a voice live for example. I would personally mostly be using it during Skype calls as a fun feature when talking to friends etc.

It seems like this GStreamer plugin supports pitch:
https://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html

This is a Python wrapper for it:
https://github.com/jrising/pysoundtouch

I am however not sure if it is possible to use it live.

KDE Neon... strange routing

This looks great. At first I didn't think it worked and then I figured out the routing is odd. If I route sound output to pulseeffects it goes nowhere. No traces on your display. However, I noticed that at some point I could get feedback. You have a record stream going and it only picks up from the record stream.

As a hack, I record the monitor of pulse effects

So my working config is:
(Playback)
Music Player -> Pulse Effects
pulseEffects -> Sound card

(Recording)
Monitor of PulseEffects -> PulseEffects

Putting the recording to any other source or muting it stops all output.

Not sure if I am double processing or not. Looks really good.

Audio going in but nothing seems to be happening

I just upgraded from a much older version which was working fine but the current version doesn't seem to be doing anything. When I try to use any program through pulseeffects everything goes silent and there is no visual activity from within it. That's what seems to set this apart from the other no sound issue, I am not even getting the spectrum. I admittedly can't remember which older version I was on, but I did grab a copy of version 1.0 which still works. If I get a little more time I can go forward through the versions to try and pinpoint where it changed if that would help.

I run Arch, fully updated

Issue getting Pulseeffect running on Opensuse

Now this likely could be a PEBKAC issue but i cannot seem to get this awesome looking program setup on opensuse. It is not in any of the repos nor is it in OpenbuildService ;-;

Current machine being used, Dell Prescision P690 with Opensuse leap 42.2 installed. All the dependencies where install per the readme.md. (thanks for the great dependency list 👍 )

Here is what i have done thus far. (i use ~/bin for compiling stuff)

`:~/bin> git clone https://github.com/wwmm/pulseeffects.git
Cloning into 'pulseeffects'...
remote: Counting objects: 595, done.
remote: Compressing objects: 100% (197/197), done.
remote: Total 595 (delta 108), reused 0 (delta 0), pack-reused 394
Receiving objects: 100% (595/595), 2.53 MiB | 1.90 MiB/s, done.
Resolving deltas: 100% (321/321), done.

:/bin> cd pulseeffects/
:
/bin/pulseeffects> ls
equal_loudness_countours images LICENSE.md MANIFEST.in po pulseeffects PulseEffects README.md setup.py share
:/bin/pulseeffects> setup.py
If 'setup.py' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf setup.py
:
/bin/pulseeffects> ./setup.py
bash: ./setup.py: Permission denied
:/bin/pulseeffects> sudo ./setup.py
root's password:
sudo: ./setup.py: command not found
:
/bin/pulseeffects> python setup.py
Traceback (most recent call last):
File "setup.py", line 6, in
os.makedirs(locale_dir, exist_ok=True)
TypeError: makedirs() got an unexpected keyword argument 'exist_ok'
:/bin/pulseeffects> sudo python setup.py
Traceback (most recent call last):
File "setup.py", line 6, in
os.makedirs(locale_dir, exist_ok=True)
TypeError: makedirs() got an unexpected keyword argument 'exist_ok'
:
/bin/pulseeffects> ./pulseeffects
Traceback (most recent call last):
File "./pulseeffects", line 4, in
from PulseEffects.application import Application
File "/home/mirp690/bin/pulseeffects/PulseEffects/application.py", line 3, in
import configparser
ImportError: No module named configparser
:/bin/pulseeffects> nano README.md
:
/bin/pulseeffects> sudo glib-compile-schemas /usr/share/glib-2.0/schemas/.
root's password:
:/bin/pulseeffects> pulseeffects
If 'pulseeffects' is not a typo you can use command-not-found to lookup the package that contains it, like this:
cnf pulseeffects
:
/bin/pulseeffects> ./pulseeffects
Traceback (most recent call last):
File "./pulseeffects", line 4, in
from PulseEffects.application import Application
File "/home/mirp690/bin/pulseeffects/PulseEffects/application.py", line 3, in
import configparser
ImportError: No module named configparser
`

I hope this helps. I really am looking forward to this program running. Also ignore the crossout's.

Adjust the AutoVolume response time

I have tried before to reliably configure a limiter and compressor in pulseaudio. But success only lasted the session. Then all had to be reconfigured. When I began for a method to use with kubuntu 17.04, I found Pulse Effects.

Thank you! Wonderful piece of work!

Now for the question. Is there a settings or config file where the AutoVolume can be adjusted? In my situation, it takes too long to respond to sudden increases and decreases in volume.

Stretched window

After installing latest version (1.5.1) the main window is extremely stretched and cant be changed nor resized. Maybe is problem with new slovak strings, that are longer that english strings.

Screenshot:
scrnshot_pulseeffects

AppImage support

Hi,

Thank you for pulseeffects it is really awesome.

I would like to suggest adding AppImage as an option for installing as well.

Cheers,

QUESTION about the limiter

I've seen that you use ladspa lookahead limiter.
As far as i know about it, it limits each channel regardless of the other destroying the stereo image.
Is that right? MAybe there are better alternatives?

Thank you for your great work!

Some suggestions

Hi!

Just tried it and it's looking very good! Thanks!

I'd just like to make some suggestions:

  1. Ability to save/load configs.
  2. Ability to apply different configs to different streams.

Cheers,

5.1 surround - center and subwoofer disabled?

I tried Kodi with 5.1 audio - FL, FR, RL, RR are playing perfectly. Center and Subwoofer aren't - they are muted. Haven't found yet how to enable them. If I turn PulseEffects for Kodi off it will play as it should be.

POT file is missing a lot of strings

If you update your translation from the current POT file pulseeffects.pot in master it will disable a lot of your strings.

The result is that PulseEffects won't use all of the localized strings.

Best guess is that something must have gone wrong when it was regenerated. Presumably related to he new tooling.

Incorrect shebang

Please note that at present, PulseEffects is Arch-specific, by using the incorrect shebang:

https://www.python.org/dev/peps/pep-0394/

Note that "python" points to "python2" on every distro except Arch, so if portability is a concern,
"python3" should be explicitly requested in the shebang.

Cannot run in Sabayon(Gentoo) linux

output:
GSETTINGS_SCHEMA_DIR=share/glib-2.0/schemas/ ./pulseeffects
01:14:28.471 - PulseEffects - INFO - pulseaudio context started
01:14:28.472 - PulseEffects - INFO - connected to server: /run/user/1000/pulse/native
01:14:28.472 - PulseEffects - INFO - server protocol version: 32
01:14:28.472 - PulseEffects - INFO - pulseaudio version: 10.0
01:14:28.472 - PulseEffects - INFO - default pulseaudio source: alsa_input.pci-0000_00_1b.0.analog-stereo
01:14:28.472 - PulseEffects - INFO - default pulseaudio sink: alsa_output.pci-0000_00_1b.0.analog-stereo
01:14:28.473 - PulseEffects - INFO - default pulseaudio sink audio format: s16le. We will use the same format.
01:14:28.473 - PulseEffects - INFO - default pulseaudio sink sampling rate: 44100 Hz. We will use the same rate.
01:14:28.473 - PulseEffects - INFO - (min, max) spectrum frequencies: (27.5625, 19982.8125) these values are sampling rate dependent
Traceback (most recent call last):
File "./pulseeffects", line 6, in
a = Application()
File "/home/user/SOFT/pulseeffects/PulseEffects/application.py", line 55, in init
self.gst = GstEffects(self.pm.default_sink_rate)
File "/home/user/SOFT/pulseeffects/PulseEffects/gst.py", line 61, in init
self.pipeline = self.build_pipeline()
File "/home/user/SOFT/pulseeffects/PulseEffects/gst.py", line 172, in build_pipeline
output_limiter.set_property('input-gain', 0)
AttributeError: 'NoneType' object has no attribute 'set_property'

fresh git pull. Seems all dependencies are satisfied.

gst-inspect-1.0 | grep -i ladspa
is EMPTY

eix gst-plugins-bad
[I] media-libs/gst-plugins-bad
Доступные версии:
(0.10) 0.10.23-r4
(1.0) 1.8.3-r1 1.10.3^t (~)1.10.4^t - installed

eix swh-plugins
[I] media-plugins/swh-plugins - installed

python --version
Python 2.7.12

On/Off master switch flipped

HI, I'm on manjaro KDE 64 bit. I was very confused at first because the master switch at the bottom right of the app was switched to off except sound worked. When I flipped it on, all sound was muted (but the visualizer still showed sound). Took me a moment but I realized that the on/off switch seems to be backwards. I attached the sink about if that helps at all
pactl list sinks output.txt

The first image is with sound working, and the second is with sound not working (see switch and visualizer in it)
sound working
sound not working

Thanks

How to run multiple instances?

I want to auto-limit my output while doing equalizer on input.
I could just run 2times and do some routing, but looks like it prevents me from running multiple instances.

KDE Plasma
Arch Linux

BTW. Keep up the great work! It works great!

AttributeError: 'NoneType' object has no attribute 'set_property' when calling self.audio_src.set_property('volume', 1.0)

I'm on Ubuntu 17.04 and I tried to install the latest version of pulseeffects directly from this Git repo.
I'm sure I installed all the dependecies, and the gst-inspect-1.0 | grep -i ladspa command does give me a lot of output, however there's no way to start the app. It always gives me the following errors:

16:53:44.491 - PulseEffects - INFO - pulseaudio context started
16:53:44.491 - PulseEffects - INFO - connected to server: unix:/run/user/1000/pulse/native
16:53:44.493 - PulseEffects - INFO - server protocol version: 32
16:53:44.498 - PulseEffects - INFO - pulseaudio version: 10.0
16:53:44.498 - PulseEffects - INFO - default pulseaudio source: alsa_input.pci-0000_00_07.0.analog-stereo
16:53:44.498 - PulseEffects - INFO - default pulseaudio sink: alsa_output.pci-0000_00_07.0.analog-stereo
16:53:44.499 - PulseEffects - INFO - default pulseaudio sink audio format: s16le
16:53:44.499 - PulseEffects - INFO - default pulseaudio sink sampling rate: 44100 Hz. We will use the same rate.
16:53:44.500 - PulseEffects - INFO - default pulseaudio source audio format: s16le
16:53:44.500 - PulseEffects - INFO - default pulseaudio source sampling rate: 48000 Hz. We will use the same rate.
16:53:44.501 - PulseEffects - INFO - loading Pulseeffects applications sink...
16:53:44.501 - PulseEffects - INFO - Pulseeffects apps sink was successfully loaded
16:53:44.504 - PulseEffects - INFO - Pulseeffects apps sink index:1
16:53:44.504 - PulseEffects - INFO - Pulseeffects apps sink monitor name: PulseEffects_apps.monitor
16:53:44.504 - PulseEffects - INFO - loading Pulseeffects microphone output sink...
16:53:44.530 - PulseEffects - INFO - Pulseeffects mic sink was successfully loaded
16:53:44.530 - PulseEffects - INFO - Pulseeffects mic sink index:2
16:53:44.530 - PulseEffects - INFO - Pulseeffects mic sink monitor name: PulseEffects_mic.monitor
Traceback (most recent call last):
  File "/usr/local/bin/pulseeffects", line 4, in <module>
    __import__('pkg_resources').run_script('PulseEffects==2.0.3', 'pulseeffects')
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 739, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1494, in run_script
    exec(code, namespace, namespace)
  File "/usr/local/lib/python3.5/dist-packages/PulseEffects-2.0.3-py3.5.egg/EGG-INFO/scripts/pulseeffects", line 6, in <module>
    a = Application()
  File "/usr/local/lib/python3.5/dist-packages/PulseEffects-2.0.3-py3.5.egg/PulseEffects/application.py", line 62, in __init__
    self.sie = SinkInputEffects(self.pm.default_sink_rate)
  File "/usr/local/lib/python3.5/dist-packages/PulseEffects-2.0.3-py3.5.egg/PulseEffects/sink_input_effects.py", line 65, in __init__
    self.pipeline = self.build_pipeline()
  File "/usr/local/lib/python3.5/dist-packages/PulseEffects-2.0.3-py3.5.egg/PulseEffects/sink_input_effects.py", line 120, in build_pipeline
    self.audio_src.set_property('volume', 1.0)
AttributeError: 'NoneType' object has no attribute 'set_property'

Also, it gives me this error with older version. The only one that worked so far is the packaged version which one can found at Launchpad.net (https://launchpad.net/~yunnxx/+archive/ubuntu/gnome3/+files/pulseeffects_1.312entornosgnulinuzesty-1ubuntu1_amd64.deb).
I can't figure out what's wrong :(

AttributeError: 'NoneType' object has no attribute 'set_property'

I tried installing pulseeffects directly from the sources, I installed all required libraries but when i run last command error occurs

 [ixoos@Igor-Laptop pulseeffects]$ GSETTINGS_SCHEMA_DIR=share/glib-2.0/schemas/ ./pulseeffects
 08:57:08.305 - PulseEffects - INFO - pulseaudio context started
 08:57:08.305 - PulseEffects - INFO - connected to server: unix:/run/user/1000/pulse/native
 08:57:08.305 - PulseEffects - INFO - server protocol version: 32
 08:57:08.306 - PulseEffects - INFO - pulseaudio version: 10.0
 08:57:08.306 - PulseEffects - INFO - default pulseaudio source: bluez_sink.A0_E9_DB_5D_24_83.a2dp_sink.monitor
 08:57:08.306 - PulseEffects - INFO - default pulseaudio sink: bluez_sink.A0_E9_DB_5D_24_83.a2dp_sink
 08:57:08.306 - PulseEffects - INFO - default pulseaudio sink audio format: s16le
 08:57:08.306 - PulseEffects - INFO - default pulseaudio sink sampling rate: 44100 Hz. We will use the same rate.
 08:57:08.307 - PulseEffects - INFO - default pulseaudio source audio format: s16le
 08:57:08.307 - PulseEffects - INFO - default pulseaudio source sampling rate: 44100 Hz. We will use the same rate.
 08:57:08.307 - PulseEffects - INFO - loading Pulseeffects applications sink...
 08:57:08.307 - PulseEffects - INFO - Pulseeffects apps sink was successfully loaded
 08:57:08.307 - PulseEffects - INFO - Pulseeffects apps sink index:2
 08:57:08.307 - PulseEffects - INFO - Pulseeffects apps sink monitor name: PulseEffects_apps.monitor
 08:57:08.307 - PulseEffects - INFO - loading Pulseeffects microphone output sink...
 08:57:08.308 - PulseEffects - INFO - Pulseeffects mic sink was successfully loaded
 08:57:08.308 - PulseEffects - INFO - Pulseeffects mic sink index:3
 08:57:08.308 - PulseEffects - INFO - Pulseeffects mic sink monitor name: PulseEffects_mic.monitor
 Traceback (most recent call last):
   File "./pulseeffects", line 6, in <module>
     a = Application()
   File "/home/ixoos/pulseeffects/PulseEffects/application.py", line 63, in __init__
     self.sie = SinkInputEffects(self.pm.default_sink_rate)
   File "/home/ixoos/pulseeffects/PulseEffects/sink_input_effects.py", line 65, in __init__
     self.pipeline = self.build_pipeline()
   File "/home/ixoos/pulseeffects/PulseEffects/sink_input_effects.py", line 176, in build_pipeline
     self.output_limiter.set_property('input-gain', 0)
 AttributeError: 'NoneType' object has no attribute 'set_property'

I'm using fedora 26

Cannot run in Debian SID

GSETTINGS_SCHEMA_DIR=share/glib-2.0/schemas/ ./pulseeffects

(pulseeffects:18197): dconf-WARNING **: unable to open file '/etc/dconf/db/local': /etc/dconf/db/local: invalid gvdb header; expect degraded performance
09:26:49.840 - PulseEffects - INFO - pulseaudio context started
09:26:49.840 - PulseEffects - INFO - pulseaudio version: 10.0
09:26:49.840 - PulseEffects - INFO - default pulseaudio source: alsa_input.pci-0000_00_1b.0.analog-stereo
09:26:49.840 - PulseEffects - INFO - default pulseaudio sink: alsa_output.pci-0000_00_1b.0.analog-stereo
09:26:49.842 - PulseEffects - INFO - default pulseaudio sink sampling rate: 48000 Hz. We will use the same rate.
09:26:49.842 - PulseEffects - INFO - loading Pulseeffects sink...
09:26:49.859 - PulseEffects - INFO - sink idx: 28
09:26:49.859 - PulseEffects - INFO - Pulseeffects sink was successfully loaded
09:26:49.859 - PulseEffects - INFO - Pulseeffects sink monitor name: PulseEffects.monitor. We will process audio from this source.
Traceback (most recent call last):
File "./pulseeffects", line 6, in
a = Application()
File "/media/user/sabayon/home/user/SOFT/pulseeffects/PulseEffects/application.py", line 51, in init
self.gst = GstEffects(self.pm.default_sink_rate)
File "/media/user/sabayon/home/user/SOFT/pulseeffects/PulseEffects/gst.py", line 54, in init
self.pipeline = self.build_pipeline()
File "/media/user/sabayon/home/user/SOFT/pulseeffects/PulseEffects/gst.py", line 147, in build_pipeline
pipeline.add(self.limiter)
TypeError: Argument 1 does not allow None as a value

N.B.: In Antergos (Arch) works fine

Better installation instructions for Ubuntu

I know this is not an issue but would save me almost an hour if it was added into the readme
git clone https://github.com/wwmm/pulseeffects.git
cd pulseeffects
sudo python3 setup.py install
sudo cp -r share/* /usr/share/
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

probably a sudo apt install "the list of the dependencies" if they are missing.

ImportError: libgfortran.so.4: cannot open shared object file: No such file or directory

Traceback (most recent call last):
  File "/usr/bin/pulseeffects", line 4, in <module>
    from PulseEffects.application import Application
  File "/usr/lib/python3.6/site-packages/PulseEffects/application.py", line 17, in <module>
    from PulseEffects.sink_input_effects import SinkInputEffects
  File "/usr/lib/python3.6/site-packages/PulseEffects/sink_input_effects.py", line 7, in <module>
    from scipy.interpolate import CubicSpline
  File "/usr/lib/python3.6/site-packages/scipy/interpolate/__init__.py", line 176, in <module>
    from .interpolate import *
  File "/usr/lib/python3.6/site-packages/scipy/interpolate/interpolate.py", line 20, in <module>
    import scipy.linalg
  File "/usr/lib/python3.6/site-packages/scipy/linalg/__init__.py", line 175, in <module>
    from .misc import *
  File "/usr/lib/python3.6/site-packages/scipy/linalg/misc.py", line 5, in <module>
    from .blas import get_blas_funcs
  File "/usr/lib/python3.6/site-packages/scipy/linalg/blas.py", line 155, in <module>
    from scipy.linalg import _fblas
ImportError: libgfortran.so.4: cannot open shared object file: No such file or directory

ImportError: No module named 'numpy'

Hi, I just tried to install and got this error.

I'm in Ubuntu 17.04.

The full error message is this:
Traceback (most recent call last):
File "/usr/local/bin/pulseeffects", line 4, in
import('pkg_resources').run_script('PulseEffects==1.6.7', 'pulseeffects')
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 739, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 1494, in run_script
exec(code, namespace, namespace)
File "/usr/local/lib/python3.5/dist-packages/PulseEffects-1.6.7-py3.5.egg/EGG-INFO/scripts/pulseeffects", line 4, in
from PulseEffects.application import Application
File "/usr/local/lib/python3.5/dist-packages/PulseEffects-1.6.7-py3.5.egg/PulseEffects/application.py", line 16, in
from PulseEffects.sink_input_effects import SinkInputEffects
File "/usr/local/lib/python3.5/dist-packages/PulseEffects-1.6.7-py3.5.egg/PulseEffects/sink_input_effects.py", line 6, in
import numpy as np
ImportError: No module named 'numpy'

loop traceback

Hi, The input/output bar is working, spectrum analizer on top does not dislayed (only black) but application is running and logging to terminal this :

(pulseeffects:31480): Gtk-WARNING **: Negative content width -2 (allocation 0, extents 1x1) while allocating gadget (node block, owner GtkLevelBar)

(pulseeffects:31480): Gtk-WARNING **: Negative content width -2 (allocation 0, extents 1x1) while allocating gadget (node block, owner GtkLevelBar)
12:58:46.323 - PulseEffects - INFO - pulsesrc latency-time [us]: -1
12:58:46.328 - PulseEffects - INFO - pulsesrc latency-time [us]: -1

(pulseeffects:31480): Gtk-WARNING **: Negative content width -2 (allocation 0, extents 1x1) while allocating gadget (node block, owner GtkLevelBar)

(pulseeffects:31480): Gtk-WARNING **: Negative content width -2 (allocation 0, extents 1x1) while allocating gadget (node block, owner GtkLevelBar)

(pulseeffects:31480): Gtk-WARNING **: Negative content width -2 (allocation 0, extents 1x1) while allocating gadget (node block, owner GtkLevelBar)

and this as well:

  File "/usr/lib/python3.5/site-packages/PulseEffects/gst.py", line 380, in on_message
    magnitudes = msg.get_structure().get_value('magnitude')
TypeError: unknown type GstValueList

And other problem is if muted once (ex.: on youtube) I can't get sound with unmute, just after close pulseeffects application

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.