ES-1869f MIDI problem

Problems and successes with specific brands/models of computer audio hardware
Post Reply
Message
Author
Pato
Posts: 6
Joined: Thu 31 May 2007, 12:56

ES-1869f MIDI problem

#1 Post by Pato »

Hello, I´m from Argentina and I´m new to Linux. Puppy Linux is the second distro I´ve tried, after testing Xubuntu.This last one turned out to be really slow on my Compaq Presario 5153: AMD K6-2 350 mhz, 96 mb ram. Puppy linux 2.14 instead, is very fast and I´m pretty amazed on its performance, I can even see mpeg 4 videos! The problem seems to be the sound card(ES 1869f). I´ve done a full hd install of puppy Linux 2.14 and everything seemed fine except the sound, it wouldn´t work.So I ran alsaconfig and chose ES18xx (in Legacy sound card list)to be installed and after a while I finally got sound. The main problem is that MIDI doesn´t work. Alsa recognised my MIDI device as OPL3-fm synth, but to windows I have a MPU-401 synth. Could someone please help me?, I´m stuck in this one and I need to run some MIDI applications under Wine (guitar pro, band in a box).

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#2 Post by zigbert »

Midi hardware has very limited support in Linux. Instead, softsynths does the midi job. Your problem is that softsynths use much RAM and CPU, but there are some tiny ones. AMsynth is good for its size http://www.murga-linux.com/puppy/viewto ... 676&t=9551

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#3 Post by Lobster »

8)

Go to the package manager under setup (menu)

and install midi support
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#4 Post by jamesbond »

Step 1. Open /etc/modprobe.conf (use geany).

Step 2. Look for those lines generated by alsaconf. They are normally near the end of the file.

You should see something like this:

Code: Select all

...
# --- ALSACONF version xxxx  ---
alias snd-card-0 snd-es18xx
alias sound-slot-0 snd-es18xx
# --- END: Generated by ALSACONF, do not edit. ---
Step 3. Add this line at the end of the alias, before the comment, so that it look like this:

Code: Select all

...
# --- ALSACONF version xxxx  ---
alias snd-card-0 snd-es18xx
alias sound-slot-0 snd-es18xx
option snd-es18xx mpu_port=0x330
# --- END: Generated by ALSACONF, do not edit. ---
Then save the file, and reboot.

Step 4.
See if MIDI is working. If not, please follow through.
The line added in step 3 tells ALSA that your es-18xx card is connected to an MPU port at address 0x330. Now how can I know that the address is at 0x330 and not elsewhere? I can't :P

Just that it is the default setup for many motherboards, so that's why I suggest you to start with that address.

The proper way to know the address is to boot into your BIOS setup, under "Advanced Settings" or "Peripherals" or something like that, and see what is the port specified under MPU port there.

If you find it - use the figures in that BIOS setup. Otherwise you can try 0x300, 0x310, 0x320 and 0x330 - and see which one works for you (reboot each time you make the change).

Step 5.
Working? That's great.
Cannot find the settings in the BIOS setup, and the values given above doesn't help?

You have one last try - to figure out the port number from Windoze. Boot to Windoze, open the device manager, figure out your soundcard device, and see the resources used - especially the ports. I don't have specific directions here, different cards differ, and I don't have ES-18xx card to figure out: you've got to figure out which one.

Note: using the wrong port could make Puppy fail to boot, though, so beware and take appropriate precaution (e.g. backing up your pup_save file) before making the change.

Hope that helps.

For further reference, please see: http://www.alsa-project.org/alsa-doc/do ... ule=es18xx
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#5 Post by jamesbond »

Note: the above helped me to get MIDI working on my old motherboard (K7T) with an onboard sound (snd-via82xx). I could send/receive MIDI data from native MIDI applications (e.g. Rosegarden, etc).

HOWEVER - I just notice - you want to use Wine. I am not sure - even if you can get MIDI working under Puppy - whether it will automagically work under Wine.

cheers!
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

Pato
Posts: 6
Joined: Thu 31 May 2007, 12:56

#6 Post by Pato »

Thanks for the fast reply.
jamesbond, this is what I see in /etc/modprobe.conf

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.8 ---
alias snd-card-0 snd-es18xx
alias sound-slot-0 snd-es18xx
options snd-es18xx isapnp=0 dma1=1 dma2=0 irq=5
# --- END: Generated by ALSACONF, do not edit. ---

Once I add the line as you told me, should it be something like this?:

# --- BEGIN: Generated by ALSACONF, do not edit. ---
# --- ALSACONF verion 1.0.8 ---
alias snd-card-0 snd-es18xx
alias sound-slot-0 snd-es18xx
options snd-es18xx isapnp=0 dma1=1 dma2=0 irq=5 mpu_port=0x330
# --- END: Generated by ALSACONF, do not edit. ---

I´ve looked in windows and the port should be 330 or 388

GuestToo
Puppy Master
Posts: 4083
Joined: Wed 04 May 2005, 18:11

#7 Post by GuestToo »

are there any ports listed if you type:

aplaymidi -l

if there are any ports listed, does a midi file play if you type something like:

aplaymidi -p 17:0 fugue-c-major.mid

(use a midi port from the list)

if it seems to play, but there is no sound, and the port is a WaveTable port, you might need to load a soundfont in memory first using sfxload (not included with Puppy)

this may not apply to your sound card, but it might help someone else reading this thread

User avatar
MU
Posts: 13649
Joined: Wed 24 Aug 2005, 16:52
Location: Karlsruhe, Germany
Contact:

#8 Post by MU »

just in case you do not get the internal midi-chip working, install "timidity" with pupget.
It is a midi driver and player with software synthesizers.
So the midi-instruments are loaded from your harddisk. Some programs allow to use timidity as midi output device.

The libSDL library (a library for gaming) supports timidity.

If you install my dotpups http://dotpups.de/dotpups/Games/LibSDL1.2-forDoom.pup and http://dotpups.de/dotpups/Games/LibSDL1 ... orDoom.pup , then many games with midi support (like Doom) have nice midi-sound.

I think this dotpup installs the instruments to a different folder than the timidity-Pupget.
So if you want to use both, you could save diskspace by creating a symlink pointing to the other folder.

To run the timidity player from Pupget with a grafical interface, I think you must type:
timidity -i -g

Mark

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#9 Post by jamesbond »

Yes, the changes you made is correct.

As for the port, I think 0x330 is the correct one. 0x388 should be for the FM synth (that's the default Adlib FM synth port).

After reboot, please see the content of /dev/sndstat

Code: Select all

#cat /proc/asound/oss/sndstat
You should see something like this (this is taken from Puppy running under qemu)

Code: Select all

Sound Driver:3.8.1a-980706 (ALSA v1.0.12rc1 emulation code)
Kernel: Linux puppypc 2.6.18.1 #1 Thu Feb 1 23:05:39 PUP 2007 i686
Config options: 0

Installed drivers: 
Type 10: ALSA emulation

Card config: 
Ensoniq AudioPCI ENS1370 at 0xc200, irq 9

Audio devices:
0: ES1370 DAC2/ADC (DUPLEX)

Synth devices: NOT ENABLED IN CONFIG

Midi devices:
0: ES1370

Timers:
7: system timer

Mixers:
0: Asahi Kasei AK4531
Especially note the "Midi devices" above. If you see "NOT ENABLED IN CONFIG", that means somehow the your es-18xx ALSA driver can't detect your MPU-401 port and you still have to tweak with your mpu_port parameter.

Otherwise, you can continue with GuesToo's test (aplaymidi et al) - it should work. I don't have experience with wavetable cards tough - never owned one :P

And if you want to make your laptop works as a synth, you can follow MU's suggestion as well :)
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

tempestuous
Posts: 5464
Joined: Fri 10 Jun 2005, 05:12
Location: Australia

#10 Post by tempestuous »

Pato,
I have the same audio chip in my Sony VAIO laptop.
To get your hardware fm synth working GuestToo is almost correct, except that the suitable soundfont loader for ESS is "sbiload" not "sfxload".
I have attached an sbiload package, which includes 2 basic soundfonts.

You need one extra module parameter in your /etc/modprobe.conf - "fm_port="
In my case the value is 0x388. You may need to check yours.
I think that "mpu_port=" is only for softsynths. So -

Code: Select all

alias snd-card-0 snd-es18xx
alias sound-slot-0 snd-es18xx
options snd-es18xx isapnp=0 dma1=1 dma2=0 irq=5 fm_port=0x388 mpu_port=0x330
EDIT: Feb 2 2008
Load the snd-seq-midi module -

Code: Select all

modprobe snd-seq-midi
"aplaymidi -l" will list available ports. Let's say yours is 17:0
Now we can load the soundfonts -

Code: Select all

sbiload -p 17:0 -4 /usr/share/audio/opl3/drums.o3 /usr/share/audio/opl3/std.o3
Add that command to /etc/rc.d/rc.local so it is run at every boot.
Now play a midi file like this -

Code: Select all

aplaymidi -p 17:0 /mymidifile.mid
Attachments
sbiload+soundfonts.pet
(14.06 KiB) Downloaded 1220 times
Last edited by tempestuous on Sat 02 Feb 2008, 12:04, edited 1 time in total.

Pato
Posts: 6
Joined: Thu 31 May 2007, 12:56

#11 Post by Pato »

Hello again, this is what I´ve tried so far:

adding only mpu_port 0x330 to etc/modprobe options, no luck.

adding fm_port=0x388 mpu_port=0x330, again no luck but if I type aplaymidi -l it shows me 2 available midi ports:

sh-3.00# aplaymidi --list
Port Client name Port name
16:0 ESS AudioDrive ES1869 ESS AudioDrive ES1869 MIDI
17:0 OPL3 FM synth OPL3 FM Port

Next step, load soundfont with sfxload, It showed:no awesynth found

For Jamesbond, contents of :/dev/sndstat:

Sound Driver:3.8.1a-980706 (ALSA v1.0.12rc1 emulation code)
Kernel: Linux puppypc 2.6.18.1 #1 Thu Feb 1 23:05:39 PUP 2007 i586
Config options: 0

Installed drivers:
Type 10: ALSA emulation

Card config:
ESS AudioDrive ES1869 at 0x220, irq 5, dma1 1, dma2 0

Audio devices: NOT ENABLED IN CONFIG

Synth devices:
0: OPL3 FM synth

Midi devices:
0: ESS AudioDrive ES1869 MIDI

Timers:
7: system timer

Mixers:
0: ESS AudioDrive ES1869


I´ve noticed that audio devices are not enabled in config, but I don´t know what to do.

Last step: As tempestuous said, I added:
fm_port=0x388 to /etc/modprobe.conf

reboot and then installed sbiload and load the soundfonts with:
sbiload -p 17:0 -4 /usr/share/audio/opl3/drums.o3 /usr/share/audio/opl3/std.o3

Then I finally I typed:

aplaymidi -p 17:0 ~/Patricio/Mp3/myfile.mid and got midi sound.

The problem is that the sound wasn´t ok at all. It plays only the drums and a few other instruments (not the whole song) and if I try to import the same midi file with Audacity then when I try to play it it says:

error while opening sound device, please check the output device settings and the project sample rate :(

Well, that´s all I´ve done so far. Thank you all again for the replies. :D

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#12 Post by jamesbond »

You are almost there. To enable the audio, you need to do this:

Code: Select all

#modprobe snd-pcm-oss
Check the sndstat again and audio should be enabled :D

From this point onwards (except the FM synth thingy), you're good to go.

Now - what is it that you actually want to achieve? Perhaps you can tell us in more details. I'm not familiar with either band-in-a-box nor with guitar-pro, but I came with the assumption that you want to:
a) connect your MIDI guitar (if there is such a thing) to record your performance, or
b) use a sequencer software to send MIDI data out to external synthesizers

If a) and b) is what you wish to do, you don't need to do anything else (other than getting Wine to work - which is covered elsewhere in this forum).

If, however, you want to be able play MIDI files in your laptop, then either you use MU's suggestion (use timidity), or perhaps you can use the FM synth (which I absolutely have no idea how to configure - please ask tempestuous nicely).

If you're confused by what I said, perhaps you can tell us what you could do in Windoze. We'll see what we can do in Puppy.

PS: I thought audacity is a sound editor - it edits digital audio files such as WAV files, not MIDI files? :shock:
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

Pato
Posts: 6
Joined: Thu 31 May 2007, 12:56

#13 Post by Pato »

jamesbond, I sucessfully managed to enable audio in config with #modprobe snd-pcm-oss. :D

from this link http://www.linuxjournal.com/article/8802

"Band-in-a-Box is an automatic accompaniment generator. The program creates a virtual backing band that interprets a series of user-defined chord changes according to a selected "style". A Band-in-a-Box style is a set of rules governing quantifiable aspects of a particular music performance style, such as country swing, rhumba, waltz time, blues shuffle and so forth. When the user clicks the Play control, the program processes the chord changes by the style rules, generates a real-time performance stream and plays it with your preferred MIDI synthesizer".

It basically plays a song allowing you to improvise with you instrument (not necessary connected to the pc, not in my case).

From Guitar Pro´s website:

"Guitar Pro is a multitrack tablature editor for guitar, banjo and bass. Besides writing scores, Guitar Pro is a useful resource for guitarists from beginner to experienced levels to progress , compose , or simply accompany themselves".

There´s actually a similar program for linux that is called TuxGuitar , and another called Dguitar, but I can´t find the dotpups (if they exist).

I think the solution would be using Timidity, so here´s my last question: How can I set Timidity as the default midi port?

jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#14 Post by jamesbond »

To do that, you need to run timidity in "ALSA server" mode, that is like this:

Code: Select all

#timidity -iA
Unfortunately if you try to do that, you will get an error message that "interface A" is not compiled.

You have 3 options:
a) bug someone (=i mean ask nicely :P ) in this forum to recompile timidity with the proper ALSA server support and provide you with a dotpet that you can use, or
b) recompile timidity yourself, or
c) go and get 3 other sets of packages is already provided.

If you are interested with the 3rd option, these are the packages you need to get:
1) get JACK server from either here:
http://dotpups.de/dotpups/Multimedia/to ... -devel.pup
or here:
http://dotpups.de/dotpups/Multimedia/to ... ackctl.pup
(one of them is botched, and I forgot which one - so try either one of them)

2) get QSynth from here:
http://dotpups.de/dotpups/Multimedia/to ... -devel.pup
or here
http://dotpups.de/dotpups/Multimedia/to ... Qsynth.pup
- again, one of them is botched and I can't remember which one.

3) get one of the available soundfonts
There are many, but for testing I'm recommending this (because of its small size, only 2MB): ftp://ftp.lysator.liu.se/pub/awe32/soun ... MBGMGS.SF2

Then start QJackCtl, configure it (sample rates etc), when done, start QSynth, configure it - mainly to tell it where to find the soundfonts you downloaded in step3, and you're ready to go. (There are many documentations on how to configure QJackCtl and QSynth in google, if you can't find let me know I'll try to post it here).

If everything works you will be richly rewarded - the sound should be much better than the FM synth. You can use aplaymidi to test it - when configured properly, aplaymidi -l will show additional ports that you can use.

One caveat though: This particular setup require a pretty muscular CPU, and I am not sure whether your 500 mhz CPU is up to it. Based on my past experiences, however, JACK + QSynth performs better than timidity (ie they eat less CPU time than timidity).

The last alternative is to wait for jcagle. If I'm not mistaken, he's currently building a musician-oriented puplet (called pupbeatz or something) --- I am also eagerly waiting :)
jcagle, if you read this - any indication of release date or preview? :D

Good luck !
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

Post Reply