Go Back   Home > Forums > >
Home Forums Rules Articles diyAudio Store Blogs Gallery Wiki Register Donations FAQ Calendar Search Today's Posts Mark Forums Read

PC Based Computer music servers, crossovers, and equalization

Ecasound DSP startup difficulties
Ecasound DSP startup difficulties
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 Search this Thread
Old 30th December 2017, 09:16 AM   #1
taita is offline taita  Netherlands
diyAudio Member
 
Join Date: Dec 2014
Default Ecasound DSP startup difficulties

I intend to make a DSP by using ecasound based on the guide of Digital Crossover/EQ with Open-Source Software: HOWTO | Richard's Stuff. My first goal is to filter a single stereo signal.

In Ubuntu on a laptop I installed alsa and ecasound. I can easily playback a wav file and listen to it using headphones and the onboard soundcard. Unfortunately I have problems with mp3 files. I tried different instructions like 'ecasound song.mp3' or 'ecasound -i song.mp3 -o alsa,MID', but in every case I get the message 'ERROR: Connecting chainsetup failed: "Enabling chainsetup: AUDIOIO-MP3... Can't open song.mp3 for reading."'

My first thought was I missed a mp3 converter but I checked mpg123 that is there and mpg321could be installed but doesn't change anything. I searched for this error message but couldn't the right solution. What is wrong?

The tutorial of Taylor gives examples of multichannel filters. Based on this information I tried to configure a chainset as initial step for a single/stereo filter:

Code:
ecasound -z:mixmode,sum -x \          
-a:pre -i: song.wav -pf:pre.ecp -o:loop,1 \     
-a:pre -f:16,4,44100 -o:alsa,surround51:MID
The chainset seems to be succesfull but I get the message below:

ecasound: ERROR: [ECA-SESSION] : "Audio object "" does not match any of the known audio device types or file formats. You can check the list of supported audio object types by issuing the command 'aio-register' in ecasound's interactive mode."

I checked the aio-register but found no errors. What could be wrong with the script?

Last edited by taita; 30th December 2017 at 09:46 AM.
  Reply With Quote
Old 30th December 2017, 06:41 PM   #2
Jerms is offline Jerms  United Kingdom
diyAudio Member
 
Join Date: Jun 2015
Location: High Wycombe, Bucks, UK.
Minus "i" colon <space> ?

NFI if it is that but all other parms are immediately after the colons.
  Reply With Quote
Old 31st December 2017, 01:58 AM   #3
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: California
Ecasound DSP startup difficulties
Quote:
Originally Posted by taita View Post
I intend to make a DSP by using ecasound based on the guide of Digital Crossover/EQ with Open-Source Software: HOWTO | Richard's Stuff. My first goal is to filter a single stereo signal.

In Ubuntu on a laptop I installed alsa and ecasound. I can easily playback a wav file and listen to it using headphones and the onboard soundcard. Unfortunately I have problems with mp3 files. I tried different instructions like 'ecasound song.mp3' or 'ecasound -i song.mp3 -o alsa,MID', but in every case I get the message 'ERROR: Connecting chainsetup failed: "Enabling chainsetup: AUDIOIO-MP3... Can't open song.mp3 for reading."'

My first thought was I missed a mp3 converter but I checked mpg123 that is there and mpg321could be installed but doesn't change anything. I searched for this error message but couldn't the right solution. What is wrong?

The tutorial of Taylor gives examples of multichannel filters. Based on this information I tried to configure a chainset as initial step for a single/stereo filter:

Code:
ecasound -z:mixmode,sum -x \          
-a:pre -i: song.wav -pf:pre.ecp -o:loop,1 \     
-a:pre -f:16,4,44100 -o:alsa,surround51:MID
The chainset seems to be succesfull but I get the message below:

ecasound: ERROR: [ECA-SESSION] : "Audio object "" does not match any of the known audio device types or file formats. You can check the list of supported audio object types by issuing the command 'aio-register' in ecasound's interactive mode."

I checked the aio-register but found no errors. What could be wrong with the script?
I think Jerms is correct - the syntax of the input specifier seems wrong. I believe that when you use it with a colon, it should be like this:
Code:
-i:some_song.wav
You cannot have a space between the -i: input specifier (with a colon after the i) part and the input target, some_song.wav. Otherwise a blank field is passed to ecasound for the input target, giving you the error you encountered. There is also the format "-i input_target" (without the colon) and in that case you must have a space between the "-i" and the target. Those two different ways to specify inputs are described in the ecasound man page, which has lots of other useful info about the program.

But I think you also have some other errors:
1. you send the output of chain "pre" to "loop,1". This is never used again, so why send the output there? You can eliminate that.
2. You are formatting the audio (the -f: command) as 4 channel audio but are sending it to a 6 channel output device (surround51 has 6 total channels). It's a good idea to keep the number of channels consistent with what the output expects. It is no problem if there are unused channels. Ecasound just fills them with zeros (silence). I would change your format command to:
Code:
-f:16,6,44100
3. If this is all you want to do, I think you can combine the lines into one. There isn't really a need to redeclare the chain "pre". Something like this:
Code:
ecasound -B:rt -z:mixmode,sum -x \          
-a:pre -i:song.wav -pf:pre.ecp -f:16,6,44100 -o:alsa,surround51:MID
I also included a buffer type (real time buffering) so that latency will be low. It's a good habit to always use -B:rt when playing audio.

As you get more complicated you need to use more chains like in RTaylor's examples. The above would be sufficient for applying global EQ to the audio channels in the wave file, e.g. as a tone control or to correct for baffle step, etc.
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins

Last edited by CharlieLaub; 31st December 2017 at 02:01 AM.
  Reply With Quote
Old 7th January 2018, 09:13 AM   #4
taita is offline taita  Netherlands
diyAudio Member
 
Join Date: Dec 2014
Quote:
Originally Posted by CharlieLaub View Post
I think Jerms is correct - the syntax of the input specifier seems wrong. I believe that when you use it with a colon, it should be like this:
Code:
-i:some_song.wav
You cannot have a space between the -i: input specifier (with a colon after the i) part and the input target, some_song.wav. Otherwise a blank field is passed to ecasound for the input target, giving you the error you encountered. There is also the format "-i input_target" (without the colon) and in that case you must have a space between the "-i" and the target. Those two different ways to specify inputs are described in the ecasound man page, which has lots of other useful info about the program.

But I think you also have some other errors:
1. you send the output of chain "pre" to "loop,1". This is never used again, so why send the output there? You can eliminate that.
2. You are formatting the audio (the -f: command) as 4 channel audio but are sending it to a 6 channel output device (surround51 has 6 total channels). It's a good idea to keep the number of channels consistent with what the output expects. It is no problem if there are unused channels. Ecasound just fills them with zeros (silence). I would change your format command to:
Code:
-f:16,6,44100
3. If this is all you want to do, I think you can combine the lines into one. There isn't really a need to redeclare the chain "pre". Something like this:
Code:
ecasound -B:rt -z:mixmode,sum -x \          
-a:pre -i:song.wav -pf:pre.ecp -f:16,6,44100 -o:alsa,surround51:MID
I also included a buffer type (real time buffering) so that latency will be low. It's a good habit to always use -B:rt when playing audio.

As you get more complicated you need to use more chains like in RTaylor's examples. The above would be sufficient for applying global EQ to the audio channels in the wave file, e.g. as a tone control or to correct for baffle step, etc.
Thanks for your extensive answer. I spend much time doing experiments with this but unfortunately I don't have much progress. I had some problems using my laptop so now I use Ubuntu MATE on a RPI with a simple USB 2 channel soundcard.

I found different instructions how to setup the environment with ecasound, alsa and ldaspa, but for some reason there seems to be something wrong with this. The only way I can get sound is by using simple 'ecasound song.wav'. I still can't playback mp3 files (I tried to install lame and mpg321 without result).

Using more steps in the playback gives various errors in the chainsetup. One of the things I'm wondering is if this could be caused by the surround51 part in the last code fragment you gave me as my soundcard has just two channels. I ordered a usb 5.1 soundcard so probably I have to wait till this arrives before I continue with this. Or do you have other suggestions?

Last edited by taita; 7th January 2018 at 09:16 AM.
  Reply With Quote
Old 7th January 2018, 11:35 AM   #5
phofman is offline phofman  Czech Republic
diyAudio Member
 
Join Date: Apr 2005
Location: Pilsen
Try using the plug plugin of alsa ALSA project - the C library reference: PCM (digital audio) plugins . It will handle all the necessary conversions (inc. channels count) automatically.

Try -o:alsa,plug:surround51:MID
  Reply With Quote
Old 7th January 2018, 01:38 PM   #6
Jerms is offline Jerms  United Kingdom
diyAudio Member
 
Join Date: Jun 2015
Location: High Wycombe, Bucks, UK.
Check your permissions. particularly to "sound" type groups. Maybe try running ecasound through "sudo".

Have you tried different ".mp3" files or just the song.mp3 file? Have you tried other players for mp3? have you tried giving full path to the song.mp3 to mpg123 or mpg321?

Last edited by Jerms; 7th January 2018 at 01:40 PM.
  Reply With Quote
Old 7th January 2018, 06:44 PM   #7
taita is offline taita  Netherlands
diyAudio Member
 
Join Date: Dec 2014
I really appreciate the help of all of you. Althoungh the instructions of Richard Taylor seem to be relatively simple it's not plug and play. Although I can get complicated things to work under R and Python this thing has a high learning curve for me and I know I am not the only one.

Quote:
Originally Posted by phofman View Post
Try using the plug plugin of alsa ALSA project - the C library reference: PCM (digital audio) plugins . It will handle all the necessary conversions (inc. channels count) automatically.

Try -o:alsa,plug:surround51:MID
I don't know what you mean with the link, I already installed alsa with sudo. I implemented your suggestion in a simplified phrase and runned it under the root. Below the result.

Code:
root@name-desktop:/home/name/Music# ecasound -B:rt -z:mixmode,sum -x -i:Flute.wav -f:16,2,44100 -o:alsa,plug:surround:Device
**************************************************************************
*        ecasound v2.9.1 (C) 1997-2014 Kai Vehmanen and others    
**************************************************************************
(eca-chainsetup-parser) Buffering mode 'rt' selected.
(eca-chainsetup-parser) Enabling 'sum' mixmode.
(eca-chainsetup-parser) Truncating outputs (overwrite-mode).
(eca-chainsetup) Chainsetup "untitled-chainsetup"
(eca-chainsetup) "rt" buffering mode selected.
(eca-chainsetup) Opened input "Flute.wav", mode "read". Format: s16_le,
... channels 2, srate 44100, interleaved (locked params).
Bus error
@Jerms I tried different mp3 files that play well elsewhere. I tried them on vlc player in Ubuntu and they play well too. But for some reason Rythmbox doesn't recognize mp3. Might this be a related issue?

Last edited by taita; 7th January 2018 at 07:07 PM.
  Reply With Quote
Old 7th January 2018, 10:20 PM   #8
CharlieLaub is offline CharlieLaub  United States
diyAudio Member
 
Join Date: Mar 2007
Location: California
Ecasound DSP startup difficulties
[QUOTE=taita;5300543Using more steps in the playback gives various errors in the chainsetup. One of the things I'm wondering is if this could be caused by the surround51 part in the last code fragment you gave me as my soundcard has just two channels. I ordered a usb 5.1 soundcard so probably I have to wait till this arrives before I continue with this. Or do you have other suggestions?[/QUOTE]

If you use the option "-ddd" with ecasound it will produce the maximum amount of debug and error messages. It might help you figure out the problem.

It is very possible that your 2-channel soundcard includes a 5.1 channel surround mode as part of the ALSA interface, however, if you actually try to play audio using that it may only produce an error because of the mismatch in the channel count.
__________________
Visit my Audio Web Page <<--CLICK TO LEARN MORE-->> Get my LADSPA plugins
  Reply With Quote
Old 8th January 2018, 12:19 AM   #9
Jerms is offline Jerms  United Kingdom
diyAudio Member
 
Join Date: Jun 2015
Location: High Wycombe, Bucks, UK.
have you got "Ubuntu restricted extras" installed? if not, RhythmBox won't see/play MP3s.... According to stuff I gleaned from a web search...
  Reply With Quote
Old 8th January 2018, 10:08 AM   #10
phofman is offline phofman  Czech Republic
diyAudio Member
 
Join Date: Apr 2005
Location: Pilsen
Quote:
Originally Posted by taita View Post
Code:
root@name-desktop:/home/name/Music# ecasound -B:rt -z:mixmode,sum -x -i:Flute.wav -f:16,2,44100 -o:alsa,plug:surround:Device
...
Bus error
Mine works fine, of course with correct alsa device:
Code:
ecasound -B:rt -z:mixmode,sum -x -i:test.flac -f:16,2,44100 -o:alsa,plug:surround51:Intel
  Reply With Quote

Reply


Ecasound DSP startup difficultiesHide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

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
ecasound crossover issue with Line in Tonio79 PC Based 16 25th January 2017 01:35 AM
help with delayed (15s) audio in ecasound crossover setup Gordon C PC Based 8 25th November 2016 09:38 AM
MPD to ecasound - plays flac but not MP3 JMF11 PC Based 7 13th June 2016 08:10 PM
ecasound in MPD - problem of Device or resource busy JMF11 PC Based 7 12th June 2016 06:02 AM
PCM2902 difficulties jmar Digital Source 7 13th January 2006 09:07 PM


New To Site? Need Help?

All times are GMT. The time now is 02:09 AM.


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