Giter Site home page Giter Site logo

oe2ssle's People

Contributors

jonathantaquet 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

Watchers

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

oe2ssle's Issues

Error importing single cycle waveforms

I'm getting constant errors when I try importing single cycle waveforms from the Elektron free sound packs:
https://www.elektron.se/soundpacks/immortal-waves/
https://www.elektron.se/soundpacks/oxford-overdrive/

The samples are loaded and edited in Oe2sSLE, and the program lets you save an .all file. But when trying to import the saved .all file, one exception is thrown for every sample. The file is corrupted and does not get imported by the Electribe 2 Sampler either.

I don't know anything about RIFF specifications unfortunately, this is the exception:

/tmp/_MEIQfh0Qm/RIFF/__init__.py:252: UserWarning: 'RIFF' chunk contains an ignored truncaded chunk /tmp/_MEIQfh0Qm/e2s_sample_all.py:491: UserWarning: Recovering from an error while reading a sample Traceback (most recent call last): File "e2s_sample_all.py", line 487, in load File "e2s_sample_all.py", line 349, in __init__ File "e2s_sample_all.py", line 362, in read File "RIFF/__init__.py", line 310, in __init__ File "RIFF/__init__.py", line 333, in read File "RIFF/__init__.py", line 255, in read AttributeError: type object 'ChunkList' has no attribute 'InvalidError'

I have also tried using the Adventure Kid Waveforms, but they give no trouble. I attach an example .all file with some of the default samples, 10 AKWF correctly saved, and a problematic waveform from the Elektron Inmortal Waves package.
e2sSample-MG1.zip

Crop sample

If I have a long sample and want to use just a looped part of it, it still uses a lot of limited E2S memory. It would be very nice to have an option to crop sample and save onto sdcard only that part we use!

Warn for unwanted electribe behavior

The editor is voluntarily more flexible than the electribe.

Sometimes it may cause troubles. For instance if your sample "start" point is after an active slice "start" point, the electribe will play it properly, but it will not allow you to export the sample (saying something like "memory card full"); and if you try to export all samples (to e2sSample.all) the electribe will even freeze.

Other corner case may probably occur.

What would be done:

  • Integrate more compatibility checks on the file content
  • add warning messages on potential issues
  • propose solutions or auto-fixes
  • add an option to disable warnings for users that know what they are doing

Crash on window scroll

When I load samples and try to scroll through them program crashes with this error:
Traceback (most recent call last): File "Oe2sSLE_GUI.py", line 2350, in <module> app.mainloop() File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 1277, in mainloop self.tk.mainloop(n) UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

Environment: macOS Sierra

Steps to reproduce:

  1. Start program (using python 3)
  2. Load samples (at least 20)
  3. Try to scroll through
  4. Program crashes with above traceback

Not working properly with many samples (more than 827)

At least on Windows 10, with python 3.4.4,
when there are many loaded samples: more than 827 (all possible sample numbers up to 924)

  • some of them are not displayed
  • it is not possible to properly open dialog window (e.g. 'import sample(s)')
  • if 'edit' function is used after the import of the too many samples, the edit window is not displayed and the application is locked.

Would it be possible that there are too many widgets: if we count the number of basic windows (i.e. buttons, labels, ...) we could reach 2^14 objects...

Error message:\'int' object is not iterable.

Hi there! First of all, thanks for your great work!
nevertheless i have a problem.
the program was installed under the latest python 3. it opens easily. as soon as i try to insert a .wav file (import wav sample(s)) i get the following error code:

Cannot use this file:
C:/(...).wav
The file is probably corrupted or you found a bug.
See log file for details. Error message:'int' object is not iterable.

The file size ranges from 93 kb to 190 kb.
One of about 20 files works and can be inserted, the rest don't.
Please help.
Peace

Listening audio preview does not work when sampling frequency is to high

The listening audio preview of a sample does not work when the sampling frequency is to high. This is because pyaudio/portaudio (or the sound card driver?) does not handle too high sampling frequency.

TODO:
some signal processing to resample (with lower frequency) the sound sample before sending it to the sound card

Unhandled exception when increasing sample number

I get an exception (and application shutdown) when I increase a very low number of a sample to a number that is already taken by another sample. I tried that with the very first samples (e.g. #19 or #20). This is what the console prints.

/usr/lib/python3.4/imp.py:32: PendingDeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  PendingDeprecationWarning)
Traceback (most recent call last):
  File "/usr/lib/python3.4/tkinter/__init__.py", line 1536, in __call__
    return self.func(*args)
  File "Oe2sSLE_GUI.py", line 494, in _varString_set
    self.SNScommand()
  File "Oe2sSLE_GUI.py", line 1347, in _oscNum_command
    samples[lN+1].oscNum.set(samples[lN].oscNum.get()+1 if samples[lN].oscNum.get() != 421 else 501)
  File "/usr/lib/python3.4/tkinter/__init__.py", line 266, in set
    return self._tk.globalsetvar(self._name, value)
_tkinter.TclError: can't set "PY_VAR33": can't set "PY_VAR40": can't set "PY_VAR43": can't set "PY_VAR50": can't set "PY_VAR53": can't set "PY_VAR60": can't set "PY_VAR63": can't set "PY_VAR70": can't set "PY_VAR73": can't set "PY_VAR80": can't set "PY_VAR83": can't set "PY_VAR90": can't set "PY_VAR93": can't set "PY_VAR100": can't set "PY_VAR103": can't set "PY_VAR110": can't set "PY_VAR113": can't set "PY_VAR120": can't set "PY_VAR123": can't set "PY_VAR130": can't set "PY_VAR133": can't set "PY_VAR140": can't set "PY_VAR143": can't set "PY_VAR150": can't set "PY_VAR153": can't set "PY_VAR160": can't set "PY_VAR163": can't set "PY_VAR170": can't set "PY_VAR173": can't set "PY_VAR180": can't set "PY_VAR183": can't set "PY_VAR190": can't set "PY_VAR193": can't set "PY_VAR200": can't set "PY_VAR203": can't set "PY_VAR210": can't set "PY_VAR213": can't set "PY_VAR220": can't set "PY_VAR223": can't set "PY_VAR230": can't set "PY_VAR233": can't set "PY_VAR240": can't set "PY_VAR243": can't set "PY_VAR250": can't set "PY_VAR253": can't set "PY_VAR260": can't set "PY_VAR263": can't set "PY_VAR270": can't set "PY_VAR273": can't set "PY_VAR280": can't set "PY_VAR283": can't set "PY_VAR290": can't set "PY_VAR293": can't set "PY_VAR300": can't set "PY_VAR303": can't set "PY_VAR310": can't set "PY_VAR313": can't set "PY_VAR320": can't set "PY_VAR323": can't set "PY_VAR330": can't set "PY_VAR333": can't set "PY_VAR340": can't set "PY_VAR343": can't set "PY_VAR350": can't set "PY_VAR353": can't set "PY_VAR360": can't set "PY_VAR363": can't set "PY_VAR370": can't set "PY_VAR373": can't set "PY_VAR380": can't set "PY_VAR383": can't set "PY_VAR390": can't set "PY_VAR393": can't set "PY_VAR400": can't set "PY_VAR403": can't set "PY_VAR410": can't set "PY_VAR413": can't set "PY_VAR420": can't set "PY_VAR423": can't set "PY_VAR430": can't set "PY_VAR433": can't set "PY_VAR440": can't set "PY_VAR443": can't set "PY_VAR450": can't set "PY_VAR453": can't set "PY_VAR460": can't set "PY_VAR463": can't set "PY_VAR470": can't set "PY_VAR473": can't set "PY_VAR480": can't set "PY_VAR483": can't set "PY_VAR490": can't set "PY_VAR493": can't set "PY_VAR500": can't set "PY_VAR503": can't set "PY_VAR510": can't set "PY_VAR513": can't set "PY_VAR520": can't set "PY_VAR523": can't set "PY_VAR530": can't set "PY_VAR533": can't set "PY_VAR540": can't set "PY_VAR543": can't set "PY_VAR550": can't set "PY_VAR553": can't set "PY_VAR560": can't set "PY_VAR563": can't set "PY_VAR570": can't set "PY_VAR573": can't set "PY_VAR580": can't set "PY_VAR583": can't set "PY_VAR590": can't set "PY_VAR593": can't set "PY_VAR600": can't set "PY_VAR603": can't set "PY_VAR610": can't set "PY_VAR613": can't set "PY_VAR620": can't set "PY_VAR623": can't set "PY_VAR630": can't set "PY_VAR633": can't set "PY_VAR640": can't set "PY_VAR643": can't set "PY_VAR650": can't set "PY_VAR653": can't set "PY_VAR660": can't set "PY_VAR663": can't set "PY_VAR670": can't set "PY_VAR673": can't set "PY_VAR680": can't set "PY_VAR683": can't set "PY_VAR690": can't set "PY_VAR693": can't set "PY_VAR700": can't set "PY_VAR703": can't set "PY_VAR710": can't set "PY_VAR713": can't set "PY_VAR720": can't set "PY_VAR723": can't set "PY_VAR730": can't set "PY_VAR733": can't set "PY_VAR740": can't set "PY_VAR743": can't set "PY_VAR750": can't set "PY_VAR753": can't set "PY_VAR760": can't set "PY_VAR763": can't set "PY_VAR770": can't set "PY_VAR773": can't set "PY_VAR780": can't set "PY_VAR783": can't set "PY_VAR790": 97.0

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "Oe2sSLE_GUI.py", line 2009, in <module>
    app.mainloop()
  File "/usr/lib/python3.4/tkinter/__init__.py", line 1123, in mainloop
    self.tk.mainloop(n)
  File "/usr/lib/python3.4/tkinter/__init__.py", line 1540, in __call__
    self.widget._report_exception()
AttributeError: 'StringVar' object has no attribute '_report_exception'

I saw that you use some kind of logging, but unfortunately I cannot find any log file. Do I have to enable it somewhere?
BTW later I realized that the expected behaviour is to increase all other samples too. A very handy feature! 👍

`UnicodeDecodeError` ?

Hey, I'm trying to run this on Mac OS 10.11.4 from source, and not sure that I'm doing things correctly. I'm also running into an exception that terminates the program.

I've installed portaudio using brew install portaudio, which has let me run pip install pyaudio successfully, and I'm running the script using python Oe2sSLE_GUI.py.

At first, I clicked on Open, and navigated to the e2sSample.all file, thinking that that was the thing that I was supposed to open, selected it, then clicked on Import e2sSample.all, which seemed more likely to be the feature that I was actually looking for. Then I got the following exception log in my terminal:

(venv)rkn-mm:Oe2sSLE(master?) $ python Oe2sSLE_GUI.py                                                                                   28.03.2016 [16:43:46]
Traceback (most recent call last):
  File "Oe2sSLE_GUI.py", line 2112, in <module>
    app.mainloop()
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/__init__.py", line 1131, in mainloop
    self.tk.mainloop(n)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8f in position 0: invalid start byte

I've tried running the program again, and just clicking directly on Import e2sSample.all, but then I got a black window that didn't really allow me to do anything else, so I closed out of it.

Then, I've run it again, and just scrolled around and I see a similar exception/exit:

(venv)rkn-mm:Oe2sSLE(master?) $ python Oe2sSLE_GUI.py                                                                                       28.03.2016 [16:47:02]
Traceback (most recent call last):
  File "Oe2sSLE_GUI.py", line 2112, in <module>
    app.mainloop()
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/__init__.py", line 1131, in mainloop
    self.tk.mainloop(n)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc7 in position 0: invalid continuation byte

Any ideas about how to fix this, or in general, how to get this up and working?

MacOSX / Usage of pad scrolling crashes Oe2SLE

(myenv) Mickael-Desfrenes:Oe2sSLE-taquet $ python Oe2sSLE_GUI.py
Traceback (most recent call last):
  File "Oe2sSLE_GUI.py", line 2350, in <module>
    app.mainloop()
  File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/tkinter/__init__.py", line 1140, in mainloop
    self.tk.mainloop(n)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

Error loading corrupt .all file

Using version 0.0.7, the application hangs when trying to open an invalid .all file.
You have to use Task Manager to kill the app.

I have attached the log and the .all file.
e2sSample.zip

Number gaps between samples

Is it possible to have number gaps between samples, e.g. one sample has the "#Num" 50 and the next 70?

At the moment it seems that it is possible in the gui, but the gaps are filled when the file is saved.

I'd like to store my samples sorted by type, but I think if I change the sample number, the electribe does not find the samples anymore, if I used them in a track. Please correct me if I'm wrong. Because of this I want to leave number gaps between each sample type group to add samples later.
Any suggestion on this?

not sure if i've messed up my install or can't compile

pyaudio and and pip installed
error message below
seems to be a compilation error but i'm no expert

nishios-MacBook-Pro:Oe2sSLE-master nishio$ python Oe2sSLE_GUI.py
File "Oe2sSLE_GUI.py", line 1167
self.activeStepsTrace[j] = self.activeSteps[j].trace('w', lambda *args, j=j: self._activeStepEdit(j))
^
SyntaxError: invalid syntax

When scrolling with mouse wheel, if mouse pointer is on a combobox, it makes its value change

If you are scrolling the sample list in the main interface, with the mouse wheel, and if you have your mouse pointer on the category combobox of a sample, both the interface scrolling and the combobox value change are occuring.

TODO: if mouse pointer is on a combobox, do not scroll the interface on a mouse wheel event, or scroll the interface but not change the combobox value.

Allow to convert a stereo sample into mono

Stereo samples cannot be converted into mono from the application.
TODO: Allow to edit the "Stereo" check-box when sample is stereo in order to put it into mono.
Intermediate dialog will be used to provide audio preview and to confirm

Compiling failed: Linter finds Error at Line 1088 col 86 in Oe2sSLE_GUI.py

Tried to compile the program myself but ran into an error.

Error at Line 1088 col 86 in Oe2sSLE_GUI.py

Checked the code then with a linter and also the linter showed an error in this line.
Linter shows error in this block, behind the *lambda args.

for j in range(64):
            if self.activeStepsTrace[j]:
                self.activeSteps[j].trace_vdelete('w', self.activeStepsTrace[j])
            self.activeSteps[j].set(str(esli.sliceSteps[j]) if esli.sliceSteps[j] >= 0 else "Off")
            self.activeStepsTrace[j] =  self.activeSteps[j].trace('w', lambda *args, j=j: self._activeStepEdit(j))

Slice points are wrong if you have a not zero start point

I recently noticed that the slices point addresses of the electribe seems to be relative to the start point.
The editor is currently addressing slices from the beginning of the sample, not from the start point...
So if start point is not zero, slices of the editor will not be properly positioned.

I will correct it as soon as possible.

Add options for import and export of samples

Add import options:

  • convert to mono (on/off)
    • always / if no korg esli chunk
  • loop sample (on/off)
    • always / if no korg esli chunk
  • set category (Kick/Snare/.../User)
    • always / if no korg esli chunk
  • ...?

Add export options:

  • export loop to smpl chunk (on/off)
  • export slice points to cue chunk (on/off)
  • do not export korg esli chunk (on/off)
  • ...?

Error: unpack requires a bytes object of length 8

Hey Brakio this is Can from the Korgforum.
OS is v0.0.11.
screenshot 24
LOG: C:\Users\Admin\AppData\Local\Temp_MEI15762\RIFF__init__.py:248: UserWarning: 'RIFF' chunk contains an ignored truncaded chunk
-- Logger closed --

exporting an one individual wavs

I am having trouble exporting wavs from the sample manager. I can export all wavs but i get this message when i try to just export one wav:
Error message:
'samplelist object' has no attribute export_opts
It does then make the wav file but it has nothing in it and does not play.
This did not happen with the previous version of the software that i had.
I am using windows 10
I really like this app and much prefer it to the other version of this prgram that i have used.
I have temporarily switched back to 1.32 which is working correctly.

How to store cue points in .wav for sliced loops? (e.g. for auto slicing)

Hi! Jonathan, thanks for that great tool!

I saw the exported ".wav" files contain cue points for slicing, so when re-importing them that came pretty handy. Now I have loads of fresh loops I'd like to automatically slice and then import to the electribe (doing the slicing in an external audio tool or inside python or just some other command line tools) - just I didn't find out by looking quickly at your code how the cue points need to be stored inside a ".wav" file so Oe2sSLE can read them when importing. I'd be happy about a hint into that direction :). Are the cue points stored in a standard way that other software can read or display?

Martin

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.