Shuriken Beat Slicer

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

RockHopper
Established Member
Posts: 142
Joined: Thu Apr 18, 2013 3:19 pm
Contact:

Shuriken Beat Slicer

Post by RockHopper »

Shuriken is an open source beat slicer which harnesses the power of aubio's onset detection algorithms and Rubber Band's time stretching capabilities. A simple Qt4 interface makes it easy to slice up drum loops, assign individual drum hits to MIDI keys, and change the tempo of loops in real-time. JUCE takes care of handling audio and MIDI behind the scenes.

https://github.com/rock-hopper/shuriken ... s/tag/v0.2

Main features:
  • onset, beat-of-the-bar, and BPM detection (via aubio)
  • time stretching in offline or real-time mode (via rubberband)
  • sync BPM of a drum loop to JACK transport
  • slice and move waveform sections around
  • each waveform section automatically assigned to its own MIDI key
  • join and split waveform sections
  • apply gain, gain ramp, normalise, and reverse
  • ALSA and JACK MIDI
  • LADISH L1 session management (also compatible with NSM via nsm-proxy)
  • zoom waveform in and out (waveform drawing routine does need some work but its perfectly usable - just not so pretty atm!)
  • import a wide range of audio file formats (via libsndfile/libav and the built-in sndlib library)
  • export audio slices in WAV, AIFF, AU, FLAC, Ogg, Hydrogen Drumkit, or SFZ format
Shuriken requires the latest version of the aubio library (>=0.4.1). Packages are available for Ubuntu Precise and Trusty, and AVLinux 6:

https://github.com/rock-hopper/shuriken ... eat-slicer

Please feel free to leave feedback, e.g. anything about the program which you feel could be improved or additional features you'd like to see in a future release.
Last edited by RockHopper on Thu Aug 07, 2014 4:49 pm, edited 1 time in total.
motosega
Established Member
Posts: 72
Joined: Wed Oct 16, 2013 5:40 pm

Re: Shuriken Beat Slicer

Post by motosega »

looks great,

is there a deb of the latest aubio somewhere?

can't wait to try it out! since freecycle died theres nothing like this on linux.
tripomatic
Established Member
Posts: 141
Joined: Mon May 21, 2012 4:42 pm
Has thanked: 2 times
Been thanked: 3 times

Re: Shuriken Beat Slicer

Post by tripomatic »

motosega wrote:looks great,

is there a deb of the latest aubio somewhere?

can't wait to try it out! since freecycle died theres nothing like this on linux.
Debian has aubio 0.4.1 in the testing/unstable repositories. don't know about stable.
I presume that ubuntu has it also since releases are twice a year.
RockHopper
Established Member
Posts: 142
Joined: Thu Apr 18, 2013 3:19 pm
Contact:

Re: Shuriken Beat Slicer

Post by RockHopper »

motosega wrote: is there a deb of the latest aubio somewhere?
I'm currently packaging aubio 0.4.1 for Ubuntu Precise, Raring, and Saucy, I'll share a link to my PPA once it's all done. Trusty already has 0.4.0 and the upcoming Utopic has 0.4.1

If you're using AVLinux you can grab a deb from here:

http://www.bandshed.net/avlinux6-debs/s ... 6_i386.deb
http://www.bandshed.net/avlinux6-debs/s ... 6_i386.deb
motosega
Established Member
Posts: 72
Joined: Wed Oct 16, 2013 5:40 pm

Re: Shuriken Beat Slicer

Post by motosega »

ok, installed the aubio and shuriken debs.

unfortunatly it fills up the whole screen and i can't get to the menus to do anything.

my computer is a netbook with only a 1024x600 screen.

it seems like eveybody else in the world has a huge imax screeen attatched to their computer
RockHopper
Established Member
Posts: 142
Joined: Thu Apr 18, 2013 3:19 pm
Contact:

Re: Shuriken Beat Slicer

Post by RockHopper »

OK, the PPA is set up and packages built for Precise, Trusty, and Utopic:

https://launchpad.net/~rock-hopper/+arc ... audiotools

For anyone still using Raring or Saucy, unfortunately launchpad won't accept uploads for these distros any longer.
motosega wrote: it fills up the whole screen and i can't get to the menus to do anything.

my computer is a netbook with only a 1024x600 screen.
Sorry to hear that, I'll work on a fix to allow Shuriken to work properly on smaller screens.
stanlea
Established Member
Posts: 700
Joined: Wed Apr 25, 2012 9:49 pm
Has thanked: 41 times
Been thanked: 23 times

Re: Shuriken Beat Slicer

Post by stanlea »

User avatar
bunyi
Established Member
Posts: 18
Joined: Mon Jul 28, 2014 6:15 pm

Re: Shuriken Beat Slicer

Post by bunyi »

Hi everyone!
Great program with cool workflow, but I can't find a way to export my slices to separate files. Menu item "Export" is greyed out :( Is this feature planned but not implemented yet? I would like to use shuriken to cut my recordings.
RockHopper
Established Member
Posts: 142
Joined: Thu Apr 18, 2013 3:19 pm
Contact:

Re: Shuriken Beat Slicer

Post by RockHopper »

bunyi wrote: Menu item "Export" is greyed out :( Is this feature planned but not implemented yet?
Yes, this will be implemented in the next release. There will be the ability to export slices in wav, aiff, flac, ogg, hydrogen drumkit, or sfz format.
User avatar
headwar
Established Member
Posts: 40
Joined: Tue Jul 29, 2014 8:29 pm

Re: Shuriken Beat Slicer

Post by headwar »

Hi RockHopper,

Great project ! And just in time for me as I was just looking for such a tool !
BUT I cannot import any sound. I've tried wav and aiff but in the import window, clicking "Open" after selecting a file freezes the program (the background "main" window is grayed out and the "Import audio file" stays on screen).

I'm on Ubuntu 14.04, and have installed Shuriken through the PPA, plus I've apt-get'd aubio-tools.

What am I missing ?

Thanks in advance,
Hw

Edit : in the console, it shows a message : "AUBIO ERROR: Not implemented, _seek(0) file /home/headwar/Bass_Em.wav", for every kind of file I tried (wav, aiff, mp3...).
Last edited by headwar on Wed Jul 30, 2014 8:17 am, edited 1 time in total.
User avatar
headwar
Established Member
Posts: 40
Joined: Tue Jul 29, 2014 8:29 pm

Re: Shuriken Beat Slicer

Post by headwar »

PS By the way, if you need a french translator, I'm in ;)
RockHopper
Established Member
Posts: 142
Joined: Thu Apr 18, 2013 3:19 pm
Contact:

Re: Shuriken Beat Slicer

Post by RockHopper »

headwar wrote: I've tried wav and aiff but in the import window, clicking "Open" after selecting a file freezes the program (the background "main" window is grayed out and the "Import audio file" stays on screen).
OK, that's not good! What version of aubio are you using? I'll need to install Trusty to suss out what's going on as this bug never cropped up when testing on AVLinux or Precise.
headwar wrote:PS By the way, if you need a french translator, I'm in ;)
A very kind offer, I'll get back to you on that one!
tatch
Established Member
Posts: 662
Joined: Fri Nov 16, 2012 3:18 pm

Re: Shuriken Beat Slicer

Post by tatch »

I can't install for saucy. sh doesn't work so I do bash ./build and it poops out here:

Code: Select all

g++ -c -pipe -msse -msse2 -O2 -Wall -W -D_REENTRANT -DLINUX=1 -DNDEBUG=1 -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -Isrc -Isrc/SndLibShuriken -Isrc/JuceLibraryCode -Irelease/.moc -Irelease/.ui -o release/.obj/audiofilehandler.o src/audiofilehandler.cpp
src/audiofilehandler.cpp: In member function ‘SharedSampleHeader AudioFileHandler::getSampleHeader(QString)’:
src/audiofilehandler.cpp:89:5: error: ‘aubio_source_t’ was not declared in this scope
     aubio_source_t* aubioSource = new_aubio_source( const_cast<char*>(path), 0, 4096 );
     ^
src/audiofilehandler.cpp:89:21: error: ‘aubioSource’ was not declared in this scope
     aubio_source_t* aubioSource = new_aubio_source( const_cast<char*>(path), 0, 4096 );
                     ^
src/audiofilehandler.cpp:89:86: error: ‘new_aubio_source’ was not declared in this scope
     aubio_source_t* aubioSource = new_aubio_source( const_cast<char*>(path), 0, 4096 );
                                                                                      ^
src/audiofilehandler.cpp:95:77: error: ‘aubio_source_get_samplerate’ was not declared in this scope
         sampleHeader->sampleRate = aubio_source_get_samplerate( aubioSource );
                                                                             ^
src/audiofilehandler.cpp:96:73: error: ‘aubio_source_get_channels’ was not declared in this scope
         sampleHeader->numChans = aubio_source_get_channels( aubioSource );
                                                                         ^
src/audiofilehandler.cpp:98:39: error: ‘del_aubio_source’ was not declared in this scope
         del_aubio_source( aubioSource );
                                       ^
src/audiofilehandler.cpp: In static member function ‘static SharedSampleBuffer AudioFileHandler::aubioLoadFile(const char*, uint_t, uint_t)’:
src/audiofilehandler.cpp:382:5: error: ‘aubio_source_t’ was not declared in this scope
     aubio_source_t* aubioSource = new_aubio_source( const_cast<char*>(filePath), sampleRate, hopSize );
     ^
src/audiofilehandler.cpp:382:21: error: ‘aubioSource’ was not declared in this scope
     aubio_source_t* aubioSource = new_aubio_source( const_cast<char*>(filePath), sampleRate, hopSize );
                     ^
src/audiofilehandler.cpp:382:102: error: ‘new_aubio_source’ was not declared in this scope
     aubio_source_t* aubioSource = new_aubio_source( const_cast<char*>(filePath), sampleRate, hopSize );
                                                                                                      ^
src/audiofilehandler.cpp:383:5: error: ‘fmat_t’ was not declared in this scope
     fmat_t* sampleData = NULL;
     ^
src/audiofilehandler.cpp:383:13: error: ‘sampleData’ was not declared in this scope
     fmat_t* sampleData = NULL;
             ^
src/audiofilehandler.cpp:389:63: error: ‘aubio_source_get_samplerate’ was not declared in this scope
         sampleRate = aubio_source_get_samplerate( aubioSource );
                                                               ^
src/audiofilehandler.cpp:390:59: error: ‘aubio_source_get_channels’ was not declared in this scope
         numChans = aubio_source_get_channels( aubioSource );
                                                           ^
src/audiofilehandler.cpp:398:54: error: ‘new_fmat’ was not declared in this scope
             sampleData = new_fmat( numChans, hopSize );
                                                      ^
src/audiofilehandler.cpp:412:88: error: ‘aubio_source_do_multi’ was not declared in this scope
                         aubio_source_do_multi( aubioSource, sampleData, &numFramesRead );
                                                                                        ^
src/audiofilehandler.cpp:417:55: error: ‘aubio_source_seek’ was not declared in this scope
                     aubio_source_seek( aubioSource, 0 );
                                                       ^
src/audiofilehandler.cpp:422:64: error: ‘aubio_source_seek’ was not declared in this scope
                     aubio_source_seek( aubioSource, startFrame );
                                                                ^
src/audiofilehandler.cpp:427:40: error: ‘fmat_zeros’ was not declared in this scope
                 fmat_zeros( sampleData );
                                        ^
src/audiofilehandler.cpp:436:88: error: ‘aubio_source_do_multi’ was not declared in this scope
                         aubio_source_do_multi( aubioSource, sampleData, &numFramesRead );
                                                                                        ^
src/audiofilehandler.cpp:456:38: error: ‘del_fmat’ was not declared in this scope
                 del_fmat( sampleData );
                                      ^
src/audiofilehandler.cpp:459:39: error: ‘del_aubio_source’ was not declared in this scope
         del_aubio_source( aubioSource );
                                       ^
make: *** [release/.obj/audiofilehandler.o] Error 1
make: Leaving directory `/media/Data/code/shuriken-git'
RockHopper
Established Member
Posts: 142
Joined: Thu Apr 18, 2013 3:19 pm
Contact:

Re: Shuriken Beat Slicer

Post by RockHopper »

tatch wrote:I can't install for saucy
Saucy has version 0.3.2 of aubio which is likely why you're seeing all those aubio-related build errors. I did try to build 0.4.1 for Saucy but launchpad won't allow uploads for Saucy or Raring any longer :( I'm afraid you'll either have to build and install aubio 0.4.1 yourself or wait for FalkTX to package it for the KX repos.
User avatar
headwar
Established Member
Posts: 40
Joined: Tue Jul 29, 2014 8:29 pm

Re: Shuriken Beat Slicer

Post by headwar »

Hi, and thanks for the quick answer,

According to Synaptic, my versions are 0.4.0-1 for :
python-aubio
aubio-tools
libaubio4
libaubio-dev

Should be OK ?

Regards,
HW
Post Reply