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

Error importing single cycle waveforms #19

Closed
emiguevara opened this issue Jan 3, 2017 · 5 comments
Closed

Error importing single cycle waveforms #19

emiguevara opened this issue Jan 3, 2017 · 5 comments

Comments

@emiguevara
Copy link

emiguevara commented Jan 3, 2017

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

@JonathanTaquet
Copy link
Owner

Ok, thank you.

I found the issue.

Elektron RIFF files use a non "usual" size for the format "fmt " chunk (they use 18 bytes instead of 16). Once I read that chunk I do not properly update its size (as internally I use only 16 bytes) before writing it.
I'll try to fix this soon.

@JonathanTaquet
Copy link
Owner

JonathanTaquet commented Jan 3, 2017

Ok, commit 49d4713 should solve the issue.
Commit 71984db clean the 'fmt ' chunk before exporting it in a '.all' file. It seems to be not necessary, as electribe properly import '.all' file with 'fmt ' chunk containing extra data, but it mimics the result of an export from the electribe of a sample that had extra 'fmt ' data when imported.

@emiguevara
Copy link
Author

emiguevara commented Jan 4, 2017

Thanks a lot, will be testing later today. I think the "unusual" fmt sizes might be due to some audio editor writing more info (my bet is on Adobe Audition): exporting audio again with Audacity seems to give 16-byte fmts that we can normally read. By the way, I am still not sure, but I think the chunk can take up to 24 bytes.... see http://soundfile.sapp.org/doc/WaveFormat/

@emiguevara
Copy link
Author

Tested last commits, works fine importing, manipulating and saving. Thanks again!

@JonathanTaquet
Copy link
Owner

Thank you for your report, it helps to make a stable application!

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

No branches or pull requests

2 participants