More range on the speaker

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Illiander42
Filter Inserter
Filter Inserter
Posts: 530
Joined: Mon Feb 05, 2018 10:01 am
Contact:

More range on the speaker

Post by Illiander42 »

So, we all know MIDItorio, but a common problem when using it is that most songs run into issues where instruments need a wider range of octaves than are availible. And it's normally only a few notes up or down that are missing, so one extra octave up and down would probably be enough.

So could you just add the extra range please? I'd like to be able to play the C&C soundtrack on an in-game music player.
Illiander42
Filter Inserter
Filter Inserter
Posts: 530
Joined: Mon Feb 05, 2018 10:01 am
Contact:

Re: More range on the speaker

Post by Illiander42 »

Or just ascend this mod. (It wouldn't even make sound bigger than graphics)
mmmPI
Smart Inserter
Smart Inserter
Posts: 3803
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: More range on the speaker

Post by mmmPI »

I suggest adding sounds to the speaker too, specifically a tom for the drumkit like the example at the bottom of the page, as it's a recognizable sound and easy to use and not easy to replicate using other sounds.

I didn't know MIDItorio, though i immediatly recognized some of the music box i found and kept as blueprint over the years. Tried to import Hell's March midi sequence that's available online, but even using the piano, there was missing notes (153) so i suppose it would also be a great addition to have more notes on instruments.

I have tested i think all the mods that contain the word speaker or music from the portal in an attempt at finding a "tom" .
Illiander42 wrote: Sun Mar 31, 2024 9:58 am Or just ascend this mod. (It wouldn't even make sound bigger than graphics)
I have had trouble with this mod, the demo map will not load properly it tells some things are removed or changed and was gotting some errors. I couldn't change any instrument when using it on the editor mode it was always "unknown instrument", even when doing the same settings as the demo map.

There is this (brand) new version https://mods.factorio.com/mod/musical-speaker-fixed you may want to link instead ;) However, there is 1 instrument on the version from the portal, from reading the description, the sounds are too large to all be hosted on it, you have to add them manually from the github.

There are also many mods adding meme sound or custom alerts, much more actually than mods adding sounds to make music :)
mmmPI
Smart Inserter
Smart Inserter
Posts: 3803
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: More range on the speaker

Post by mmmPI »

After seeing today's FFF and hearing the music reveal i suggest adding Violin as instrument in the game :)
Illiander42
Filter Inserter
Filter Inserter
Posts: 530
Joined: Mon Feb 05, 2018 10:01 am
Contact:

Re: More range on the speaker

Post by Illiander42 »

The ideal priority order for programmable speaker improvements is (imo):
  1. Technical improvements that we can't mod in.
  2. Then expanding all current tonal sounds to a full grand piano range (A0 to C8) as CyclicSounds.
  3. Then adding the missing instruments from the MIDI spec with their full ranges (also as CyclicSounds).
2 and 3 are nice-to-haves because they would let everyone use vanilla, rather than needing a standard "community music mods" pack.
mmmPI
Smart Inserter
Smart Inserter
Posts: 3803
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: More range on the speaker

Post by mmmPI »

I don't know in term of priorities. I suppose 2 & 3 are competing for "more memory", in such case, it may be preferable to add an instrument with a lower range of notes rather than having more notes on another sometimes ?

I notice some of the instrument typically do not have the full range of notes like vibraphone in real life or at least on the wikipage it's written they have 3 octaves like marimba and i don't know what are the standards, but there is this mod with all the instruments that are the same/similar as on the MIDI wiki page, it's 1GB :/

When i said in previous post there was 153 notes missing for hell's march, that's not a lot , that's not 153 individual sounds but 153 notes that couldn't be played. I suppose some many were the same sound file. But i have no idea how to "select" the most often used only say i like the sound of violins :)
Illiander42
Filter Inserter
Filter Inserter
Posts: 530
Joined: Mon Feb 05, 2018 10:01 am
Contact:

Re: More range on the speaker

Post by Illiander42 »

The reason for expanding to full range before adding more instruments is that we can mostly fake most instruments with the ones we have so far, but like you said, we're missing notes.

The reason for full grand piano range first is because that covers everything except the ultra-bass instruments, and basically lets us play all tunes on *something*.

And once we have that, we can make a vanilla miditorio upgrade that works with the full range, and manually change the instrument if we've got a better soundpack mod installed.

It's all about making the tools easier to use.
mmmPI
Smart Inserter
Smart Inserter
Posts: 3803
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: More range on the speaker

Post by mmmPI »

I share your reasonning that it would be preferable "in general" to have a full grand piano range so as to possibly play "every song" on at least the piano.

I don't know if there are possibilities with sounds that would be "pure sin wave", those don't necessarily need to be sound files as they can be generated when needed, web browser can be made to do that with javascript https://stuartmemo.com/smashing-magazine/theremin/
Illiander42
Filter Inserter
Filter Inserter
Posts: 530
Joined: Mon Feb 05, 2018 10:01 am
Contact:

Re: More range on the speaker

Post by Illiander42 »

If the factorio sound engine could do stuff like that, then the better speaker mod would be a tenth the size it is, and /base wouldn't include sound files for square or saw.

And just to avoid a misconception: "Full grand piano range" isn't talking about the instrument, it's talking about the note range. So for things like "saw" and "square" as well.
Donion
Factorio Staff
Factorio Staff
Posts: 326
Joined: Sun Aug 22, 2021 9:18 am
Contact:

Re: More range on the speaker

Post by Donion »

I'm making a note (a note, get it? hueheuhe) of this thread, no promises.
Illiander42
Filter Inserter
Filter Inserter
Posts: 530
Joined: Mon Feb 05, 2018 10:01 am
Contact:

Re: More range on the speaker

Post by Illiander42 »

Donion wrote: Mon Apr 15, 2024 7:55 am I'm making a note (a note, get it? hueheuhe) of this thread, no promises.
Appreciated :D

(And I laughed)
mmmPI
Smart Inserter
Smart Inserter
Posts: 3803
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: More range on the speaker

Post by mmmPI »

hehe hehehe he yes i get it hehe heehe

Thank you for your attention:)

I have attempted to use the violins from the mod linked earlier, and found it difficult, more than using percussion , in that i think it sound much more familiar to hear percussion played as series of notes spaced apart from each other rather than violin, it didn't sound like when musician play violin when i attempted. The percussion "tom" is easier to use.

Illiander42 wrote: Sun Apr 14, 2024 11:29 am If the factorio sound engine could do stuff like that, then the better speaker mod would be a tenth the size it is, and /base wouldn't include sound files for square or saw.
That may be another suggestion ? I thought of it as a potential way to achieve more range on speakers. In Factorio, maybe a speaker could have an "oscillator" instrument that could be mapped to some signal value as pitch so that its frequency would make a sound that can be heard when using the range of signal value available. It would necessary to "tune" you speakers, there would not be C D E F ... chords, but player would choose which numbers/frequency they use. The frequency themselves could be written maybe in milli Hz. https://en.wikipedia.org/wiki/Piano_key_frequencies so 440 000 would correspond to 440 Hz and the note A4, instead of using (49) as the MIDI value for the note A4.

Then yeah, sawtooth or square could also be made to be generated instead of played.
Illiander42 wrote: Sun Apr 14, 2024 11:29 am And just to avoid a misconception: "Full grand piano range" isn't talking about the instrument, it's talking about the note range. So for things like "saw" and "square" as well.
You mean from 16 351 mHz to 7902 133 mHz or 418 009 mHz ? :D There are those grey notes i suppose are the difference between 108 and 88 notes range ? Some things i have misconception, but others i'm just plain ignorant :)
Illiander42
Filter Inserter
Filter Inserter
Posts: 530
Joined: Mon Feb 05, 2018 10:01 am
Contact:

Re: More range on the speaker

Post by Illiander42 »

mmmPI wrote: Mon Apr 15, 2024 9:21 am hehe hehehe he yes i get it hehe heehe

Thank you for your attention:)

I have attempted to use the violins from the mod linked earlier, and found it difficult, more than using percussion , in that i think it sound much more familiar to hear percussion played as series of notes spaced apart from each other rather than violin, it didn't sound like when musician play violin when i attempted. The percussion "tom" is easier to use.
That's why I'm asking for jumping straight from middle to middle in specific situations with the cyclic sounds. Violin can go straight from sustain to sustain in some situations, so playing the attack for the second note can make it sound wrong. You'd get the same wrong sound trying to make a guitar slide sound right. Or any glissando
mmmPI wrote: Mon Apr 15, 2024 9:21 am
Illiander42 wrote: Sun Apr 14, 2024 11:29 am If the factorio sound engine could do stuff like that, then the better speaker mod would be a tenth the size it is, and /base wouldn't include sound files for square or saw.
That may be another suggestion ? I thought of it as a potential way to achieve more range on speakers. In Factorio, maybe a speaker could have an "oscillator" instrument that could be mapped to some signal value as pitch so that its frequency would make a sound that can be heard when using the range of signal value available. It would necessary to "tune" you speakers, there would not be C D E F ... chords, but player would choose which numbers/frequency they use. The frequency themselves could be written maybe in milli Hz. https://en.wikipedia.org/wiki/Piano_key_frequencies so 440 000 would correspond to 440 Hz and the note A4, instead of using (49) as the MIDI value for the note A4.

Then yeah, sawtooth or square could also be made to be generated instead of played.
That's a suprisingly large amount of work for anything more complicated than the sine/sawtooth/square tones.

Basically, it's slow enough that you don't want to do it at runtime.
mmmPI wrote: Mon Apr 15, 2024 9:21 am
Illiander42 wrote: Sun Apr 14, 2024 11:29 am And just to avoid a misconception: "Full grand piano range" isn't talking about the instrument, it's talking about the note range. So for things like "saw" and "square" as well.
You mean from 16 351 mHz to 7902 133 mHz or 418 009 mHz ? :D There are those grey notes i suppose are the difference between 108 and 88 notes range ? Some things i have misconception, but others i'm just plain ignorant :)
I don't know the frequencies offhand, but yes? (I wouldn't say no to the 108-key piano instead of the 88-key piano being the standard for note range)

And yes, on that page the grey lines are the ones added by the 108-key piano. They're sometimes hidden under additional folding panels so as not to mess up the musician's muscle-memory if they're used to the 88-key. And are sometimes in inverted key colours as well.
mmmPI
Smart Inserter
Smart Inserter
Posts: 3803
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: More range on the speaker

Post by mmmPI »

Illiander42 wrote: Mon Apr 15, 2024 10:51 am That's why I'm asking for jumping straight from middle to middle in specific situations with the cyclic sounds. Violin can go straight from sustain to sustain in some situations, so playing the attack for the second note can make it sound wrong. You'd get the same wrong sound trying to make a guitar slide sound right. Or any glissando
That make sense, though i imagine a glissando may then sound as "stepped" instead of the contiuous change ? That sound seem like really tough one to reproduce x).
Illiander42 wrote: Sun Apr 14, 2024 11:29 am That's a suprisingly large amount of work for anything more complicated than the sine/sawtooth/square tones.
Basically, it's slow enough that you don't want to do it at runtime.
I have no idea how computers do that. I didn't thought of making all the instruments like that, only the "geometrical" waves. I imagine for other instruments it has something to do with decomposing/recomposing a sound as a sum of sin wave, the related math were tough even in plain decimal from my school memories x).

Having plain sin wave is enough to "play" them as instrument if you can set the frequency i thought.
Illiander42 wrote: Sun Apr 14, 2024 11:29 am I don't know the frequencies offhand, but yes? (I wouldn't say no to the 108-key piano instead of the 88-key piano being the standard for note range)

And yes, on that page the grey lines are the ones added by the 108-key piano. They're sometimes hidden under additional folding panels so as not to mess up the musician's muscle-memory if they're used to the 88-key. And are sometimes in inverted key colours as well.
The page showed the frequencies in the third or fourth column ,the note associated, and the standard MIDI number and the position on a 88 or 108 keyboard, i have no idea which one is more familiar.
With 3 digit precision, the frequencies range are numbers that are fit for the circuit network i thought.
On this one there are up to 5 digits https://en.wikipedia.org/wiki/Scientifi ... requencies.

The high precision seem mostly necessary for very low frequencies of the 108. Since circuits works with integer, milli Herz instead of Herz as unit seem like it would allow to write all the differents frequencies from the different pianos. using a single 32 bit number. NOT to make synthetic piano, i understand. But to control a theremin yes, with just sine wave. Not sure it would have any use case apart from fun though.
Illiander42
Filter Inserter
Filter Inserter
Posts: 530
Joined: Mon Feb 05, 2018 10:01 am
Contact:

Re: More range on the speaker

Post by Illiander42 »

Yeah, glissando won't sound perfect (can't do that with MIDI-equivilents) but will sound better.

The common ones are the "Scientific Pitch Name" and the frequency.

Musicians talk in scientific pitch name, oddly enough.

As for representing frequencies in low-precision numbers, you want to think in log scales.
mmmPI
Smart Inserter
Smart Inserter
Posts: 3803
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: More range on the speaker

Post by mmmPI »

Illiander42 wrote: Mon Apr 15, 2024 4:25 pm As for representing frequencies in low-precision numbers, you want to think in log scales.
I'm not sure about the log scale, in factorio when it comes to writing numbers, the logs are annoying because of integer only, the range of frequencies to represent would be from roughly 8 to 8 000 Herz the log scale may not be necessary and direct input of the value is still possible even with some precision digits.

That's very speculative anyway x)
Post Reply

Return to “Ideas and Suggestions”