[HN Gopher] Bintracker: A chiptune audio workstation for the 21s...
___________________________________________________________________
Bintracker: A chiptune audio workstation for the 21st century
Author : generichuman
Score : 201 points
Date : 2023-09-04 05:53 UTC (2 days ago)
(HTM) web link (bintracker.org)
(TXT) w3m dump (bintracker.org)
| katspaugh wrote:
| > Bintracker is written in Scheme, using the CHICKEN Scheme
| implementation. The full power of Scheme is available at run-
| time, which means you can program Bintracker... in Bintracker.
|
| Amazing! Not only can I enjoy the gameboy sounds but also program
| them in Lisp!
| LeonidasXIV wrote:
| Except it doesn't support the Gameboy sound chip yet. In
| general the only sound chips supported are very old and
| limited, so unless you make 2600 chiptune this is only of
| limited utility.
| unixhero wrote:
| Except it is on mame, so THAT is subject to evolution of
| project
| vardump wrote:
| Chiptune audio workstation without support for the actual short
| [looped] sample based chiptunes?
|
| Looks like it only support SID, AY, FM, etc. tunes. Just
| chiptunes missing.
|
| Don't take me wrong, still interesting. But should really get
| terminology straight.
| [deleted]
| exDM69 wrote:
| It uses emulated audio chips from Mame emulator. Some audio
| chip emulators are pretty damn good, the best thing you can get
| without having actual analog hardware in the loop.
|
| Not sure why you think samples are better.
| vardump wrote:
| It's not that I consider samples better, but what the term
| 'chiptune' actually means.
|
| I do appreciate nice SIDs, AYs etc. as well, being a kid of
| the eighties.
| flohofwoe wrote:
| Isn't a "chiptune" specifically _not_ using sample snippets
| (like Amiga MODs) but synthesized audio by a specialized audio
| chip (like a SID or AY) - and thus the name _chip_ tune?
|
| I'm no retro-audio afficionado, but that's what I would think
| of when when hearing the term (of course there's a grey area
| like the Namco WSG audio chip which uses small wavetables
| usually stored in ROM with 32 4-bit samples each).
| vardump wrote:
| Modules that can be called chiptunes have samples that are
| just one waveform cycle, so the length counted in bytes, at
| most hundreds.
| actionfromafar wrote:
| The meaning of chiptune has been overloaded since at least
| 1994 when I heard it both for what you say, simple Amiga
| MODs and for C64 and Spectrum tunes. The first term was
| used for MOD compos.
| enqk wrote:
| Historically the word "chiptune" came to be specifically to
| talk about Amiga MODs emulating music made on SID, FM chips
| with short samples.
|
| That's why it's a bit weird to call "chiptune" a thing that
| is supposed to run on the real things. (SID music on the C-64
| aren't called chiptunes)
| zokier wrote:
| > SID music on the C-64 aren't called chiptunes
|
| That is pretty contentious claim
| mrob wrote:
| In the 90s at least, chip music for the SID was mostly
| called "SID tunes".
|
| People didn't care about authenticity of real chips vs.
| chip-style tracker music until fast Internet and large
| disks became common. People stopped caring about small
| file sizes, and started making chip-style music using
| DAWs and releasing it as MP3s. There was backlash against
| this, and people began to think that only music made with
| hardware chips was authentic.
|
| I believe tracker chiptunes were collateral damage in the
| rejection of MP3 chip-style music, because there's no way
| to to clearly define if tracker chiptunes are real
| chiptunes or not. Lots of tracker chiptunes use short
| percussion samples in addition to the looped single-cycle
| waveforms. When there was a culture of keeping file sizes
| small, this was accepted without question. When large
| file sizes forced people to start thinking about what
| counted as real chiptunes, this element of subjectivity
| became a problem. How long a sample is too long? With
| music for sound chips it's easy to test if it works on
| the real hardware. There's no equivalent test for tracker
| chiptunes. It's easiest to rename tracker chiptunes to
| "chip style", and use "chiptune" to mean hardware chips
| only.
| u844f7gitir wrote:
| [dead]
| dinkleberg wrote:
| This is awesome.
|
| Also I think this is the first time I've seen something actually
| built in scheme (not that I've been actively looking, I'm sure
| there are plenty).
| eole666 wrote:
| Really cool project! I think that the home page lacks some audio
| exemple produced with it or video captures of the software being
| used to get a better idea of what it's like.
| fuuhfr6yg wrote:
| [flagged]
| codetrotter wrote:
| > By using MAME as emulation backend, a vast array of 8- and
| 16-bit platforms are covered.
|
| That's genius!
| rob74 wrote:
| They weren't the first ones to come up with the idea though:
| there is at least one music player (which I only heard of a few
| days ago thanks to another thread here) called UADE
| (http://zakalwe.fi/uade/uade.html) which runs UAE (an Amiga
| emulator) in the background, with the emulator running
| Eagleplayer (the "most comprehensive soundplayer for the
| Amiga"). I wonder how Bintracker gets around the requirement of
| having to write native code that actually plays the music on
| all the various platforms? But I guess that a stub that just
| "pipes" the data through to the emulated sound hardware is
| relatively easy to write.
| mhd wrote:
| > I wonder how Bintracker gets around the requirement of
| having to write native code that actually plays the music on
| all the various platforms? But I guess that a stub that just
| "pipes" the data through to the emulated sound hardware is
| relatively easy to write.
|
| It looks that way. There's binary files for the MAME Bridge,
| which probably orchestrate the raw music data.
|
| If I remember correctly, that's rather common on the original
| platforms, too. On the C64, there were a few "music routines"
| that marshaled patterns of notes to the SID chip. One famous
| example being that of composer Rob Hubbard[1], whose "One Man
| and his Droid" still lives rent-free in my head.
|
| Chicken Scheme, Tk and MAME seem like a very cool tech stack
| for this.
|
| [1]: https://www.1xn.org/text/C64/rob_hubbards_music.txt
| rob74 wrote:
| I wish somebody built a version of the article you linked
| where you can actually click on the tunes he mentions and
| play them. Talking about music without being able to hear
| it is a bit... dry (I never had a C64, I upgraded from the
| Atari 800 to the Amiga, so I'm not that into SID
| chiptunes).
| woolion wrote:
| Cool!
|
| If you're on an arch-based distro, when following
| https://github.com/bintracker/bintracker/blob/master/docs/se...
| in the Makefile you have to replace csc by chicken-csc (csc is
| the Microsoft CSharp compiler), provided by the chicken package.
| Also not sure why the dependencies don't include mame, but make
| sure to install it before running.
| grawlinson wrote:
| Do you have a PKGBUILD available? I'm currently running into
| this particular issue when installing the requisite chicken
| libs:
|
| building srfi-14 /usr/bin/chicken-csc -host -D compiling-
| extension -J -s -regenerate-import-libraries -setup-mode -I
| /home/deploy/.cache/chicken-install/srfi-14 -C
| -I/home/deploy/.cache/chicken-install/srfi-14 -O3 -d0
| srfi-14.scm -o /home/deploy/.cache/chicken-
| install/srfi-14/srfi-14.so /usr/bin/chicken-csc -regenerate-
| import-libraries -M -setup-mode -static -I
| /home/deploy/.cache/chicken-install/srfi-14 -emit-link-file
| /home/deploy/.cache/chicken-install/srfi-14/srfi-14.link -host
| -D compiling-extension -c -unit srfi-14 -D compiling-static-
| extension -C -I/home/deploy/.cache/chicken-install/srfi-14 -O3
| -d0 srfi-14.scm -o /home/deploy/.cache/chicken-
| install/srfi-14/srfi-14.static.o /usr/bin/chicken-csc -setup-
| mode -s -host -I /home/deploy/.cache/chicken-install/srfi-14 -C
| -I/home/deploy/.cache/chicken-install/srfi-14 -O3 -d0
| srfi-14.import.scm -o /home/deploy/.cache/chicken-
| install/srfi-14/srfi-14.import.so installing srfi-14 install:
| cannot create regular file '/usr/lib/chicken/11/srfi-14.o':
| Permission denied
|
| Error: shell command terminated with nonzero exit code 256
| woolion wrote:
| No, I just followed the instructions, I was wondering if I
| should make one.
|
| I also had the problem, but that is something for which you
| just need to run with sudo. Maybe there's a way to configure
| the path so that it can be run as an unprivileged user?
| davidpfarrell wrote:
| With the simple-ish ui, I thought for a second it was terminal
| based.
|
| With that idea in mind, I googled and found [0]
|
| Its the only terminal base tracker explicitly labeled as such on
| [1]
|
| Anyone know of others?
|
| [0] https://github.com/danfrz/PLEBTracker
|
| [1] https://linuxmusicians.com/viewtopic.php?t=20883
| [deleted]
| codetrottr wrote:
| x
| ArekDymalski wrote:
| Jummbox being a web app is the most striking diffeence. Plus it
| doesn;t seem to be "emulating" different chipsets, just general
| chiptune style.
| miika wrote:
| Cool. Gotta try if this compiles into wasm. Having this in a
| browser would be amazing.
| joebergeron wrote:
| Fantastic - I love seeing new tools in service of chipmusic, and
| this one looks real sleek. The platform agnosticism sort of feels
| like MML[0] but with a GUI, in that it has the appeal of "one
| tool, all platforms". I wonder -- what degree of control over
| platform-specific parameters does the software offer? Some of the
| greatest artists who have worked on particular platforms possess
| all sorts of arcane knowledge about the ins-and-outs of their
| platform, and know how to use (read: abuse) platform-specific
| quirks to their advantage. (For the curious, Phlogiston[1] is a
| good example for the 2A03; Trey Frey[2] for the DMG.) I love the
| generality of the idea, but would be concerned about the level of
| control I have over platform-specific features.
|
| Another thing that I would probably need in order to use this
| seriously is compilation down to native-compatible file formats
| for recording from hardware. Can I e.g., export an NSF for the
| 2A03, a .MED for Octamed playback, some sort of SAV or LSDSNG for
| the DMG, etc.?
|
| It's late here, so I haven't given this a spin yet, but will
| definitely play around with this soon - fantastic work!! :)
|
| [0]: https://www.nesdev.org/mck_guide_v1.0.txt
|
| [1]: https://phlogiston.bandcamp.com/album/nectar
|
| [2]: https://treyfrey.bandcamp.com/album/refresh
| sim7c00 wrote:
| Awesome, I still work in Renoise tracker today :> trackers are
| amazing (Renoise support VST3 and other modern stuff - not a
| chiptune tracker but a full DAW based on fastTracker.).
|
| Love to see this though am definitely going to give it a whirl.
| epic!
| 0xbs0d wrote:
| I've been a fan and user of trackers since Octamed on the Amiga
| :) Renoise is an amazing DAW and my favorite piece of music
| software.
| pezz wrote:
| If you haven't heard of it, there's another cool tracker making
| great strides right now, Furnace:
|
| https://github.com/tildearrow/furnace
|
| Allows you to compose tunes on several chips / platforms in the
| one song.
| jefurii wrote:
| Looks pretty awesome - kinda wish it had MIDI output...
| johnnyworker wrote:
| Oh.. I am in love. And it can load Future Composer modules!
| Finally I can play one of my favorite tunes of all time in a
| tracker without an emulator.
|
| https://files.exotica.org.uk/modland/?file=pub/modules/Futur...
|
| The playback seems a bit off in places, or maybe my memory is,
| but since the program is still being developed I don't care. So
| happy right now. Thank you so much.
| fidotron wrote:
| Is there a standard player for these things? Or is that too
| dependent on the chips being targeted?
|
| One of the strengths of the old Amiga mods was the number of
| libraries around for playback which made writing a player or
| dropping a mod in your game trivial.
| Jolter wrote:
| No news updates since February. I hope it's not because the
| developer lost momentum. It's still in alpha, after all.
| rob74 wrote:
| If you look at the activity on GitHub
| (https://github.com/bintracker/bintracker/graphs/contributors),
| they have been working on the project since mid 2018, with
| almost continuous commits until mid 2021, and then some
| activity at the start of 2022, and considerably more at the
| start of 2023. So there seems to have been some loss of
| momentum, but I wouldn't give up hope yet. It's just
| unfortunate that there is basically just one contributor (I'm
| ignoring the two others that contributed just one commit each)
| - but I guess finding fellow LISP Jedi knights (referring to
| the XKCD comic someone else linked) to work on this project is
| not that easy. Aaaand I'm not sure if focusing on "lesser known
| systems" (quote from the GitHub readme) is the right strategy.
| Sure, there are already lots of players for e.g. Amiga MOD
| files, but there are also more people interested in that
| platform...
| iFire wrote:
| MIT LICENSE
|
| https://github.com/bintracker/bintracker/blob/master/LICENSE
| flohofwoe wrote:
| Why is that noteworthy? MIT is the most popular license for
| Github projects.
| wpwpwpw wrote:
| Just wanted to say the interface is beautiful.
| webprofusion wrote:
| Cool but it doesn't look 21st century at all, it would be
| entirely at home in 1992. Retro is cool though.
| flohofwoe wrote:
| A 1992 retro UI would use a silver-grey background with 3D
| bevels and rainbow color details in 320x200 or 320x256 pixels
| (e.g. https://en.wikipedia.org/wiki/Protracker#/media/File:Prot
| rac...)
| dvh wrote:
| I thought 21st century means low contrast UI and single color
| icons
| hulitu wrote:
| And hiding scrollbars and keyboard/mouse pointers, and huge
| icons eating screen space without any function, and tiny
| fonts, and hamburger menu ( preferably 2), and no settings,
| and ....
| livrem wrote:
| And push a new minor update at least once a week that moves
| something in the UI around for no obvious reason.
| lagniappe wrote:
| > macOS builds should be possible with some minor adjustments,
| though this is currently unsupported. Please get in touch if you
| manage to get a macOS build running.
|
| Has anyone built this on apple silicon yet?
| akx wrote:
| Getting there, but it doesn't quite work:
| https://github.com/bintracker/bintracker/issues/20
| codetrotter wrote:
| I was not able to install the sqlite3 Chicken scheme egg on
| macOS Ventura where I have Xcode version 15.0 beta 2 installed.
| building sqlite3
| /opt/homebrew/Cellar/chicken/5.3.0_1/bin/csc -host -D
| compiling-extension -J -s -regenerate-import-libraries -setup-
| mode -I /Users/user/.cache/chicken-install/sqlite3 -C
| -I/Users/user/.cache/chicken-install/sqlite3 -O2 -d1 -L
| -lsqlite3 sqlite3.scm -o /Users/user/.cache/chicken-
| install/sqlite3/sqlite3.so /Users/user/.cache/chicken-
| install/sqlite3/sqlite3.c:299:23: error: call to undeclared
| function 'sqlite3_enable_load_extension'; ISO C99 and later do
| not support implicit function declarations [-Wimplicit-
| function-declaration]
| C_r=C_int_to_num(&C_a,sqlite3_enable_load_extension(t0,t1));
| ^ /Users/user/.cache/chicken-
| install/sqlite3/sqlite3.c:306:23: warning:
| 'sqlite3_enable_shared_cache' is deprecated: first deprecated
| in macOS 10.7 - Not supported [-Wdeprecated-declarations]
| C_r=C_int_to_num(&C_a,sqlite3_enable_shared_cache(t0));
| ^ /Applications/Xcode-beta.app/Contents/Developer/Platf
| orms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sqli
| te3.h:6656:16: note: 'sqlite3_enable_shared_cache' has been
| explicitly marked deprecated here SQLITE_API int
| sqlite3_enable_shared_cache(int); ^
| 1 warning and 1 error generated. Error: shell
| command terminated with non-zero exit status 256: 'clang'
| '/Users/user/.cache/chicken-install/sqlite3/sqlite3.c' -o
| '/Users/user/.cache/chicken-install/sqlite3/sqlite3.o' -c
| -fno-strict-aliasing -fwrapv -fno-common
| -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-
| pointer -fPIC -DPIC -DC_SHARED -I/Users/user/.cache/chicken-
| install/sqlite3
| -I/opt/homebrew/Cellar/chicken/5.3.0_1/include/chicken
| Error: shell command terminated with nonzero exit code
| 256 "sh /Users/user/.cache/chicken-
| install/sqlite3/sqlite3.build.sh"
|
| All other dependencies installed fine though.
| diabllicseagull wrote:
| same here
|
| apparently this didn't fix it? https://bugs.call-
| cc.org/ticket/1335
| codetrotter wrote:
| I opened a GitHub issue about it at
| https://github.com/bintracker/bintracker/issues/19
| doublerabbit wrote:
| Try compiling it with:
|
| -Wdeprecated-declarations
| compilator1 wrote:
| Hehe, news section is honest:
|
| * Loads of bugs
| [deleted]
| badrabbit wrote:
| There needs to be like a chiptune piano with concerts and all.
| mhd wrote:
| Well, there's the Chipophone:
|
| http://www.linusakesson.net/chipophone/index.php
| badrabbit wrote:
| I mean like a line of them people can buy and use them to
| compose/play.
| mrob wrote:
| You could get a MIDI controller (keyboard with MIDI output
| but not sound generation capabilities) and connect it to a
| suitable MIDI synthesizer. There are many MIDI synths
| available with real or emulated chip sounds.
| nylonstrung wrote:
| Very cool. How does this differ from Renoise
| defensem3ch wrote:
| renoise very much takes influence from modern daws, supports
| vst plugins and its own native effects and uses high quality
| samples. it's also full-fledged with tons of features, it's
| like the ableton live of trackers. bintracker is much more
| barebones and is still in pre-alpha, and it is primarily aimed
| to produce chiptune faithful to hardware.
| jefurii wrote:
| It has a ton of features but unfortunately resizable fonts is
| not one of them - the UI text is way too small.
| xcv123 wrote:
| The only thing they share in common is they both have a tracker
| sequencer.
|
| Renoise generates audio using samples and VST/AudioUnit
| plugins.
|
| Bintracker generates audio using emulated sound chips. It is
| specifically for producing chiptunes on vintage arcade/console
| sound engines.
| matheusmoreira wrote:
| Fantastic project. For a second I thought it was a terminal
| application.
| sitzkrieg wrote:
| impressive use of chicken scheme
| makach wrote:
| This is so incredibly cool. It's such an amazing acknowledgement
| of this style of music, making it easier to create and consumer
| chip-styled music - it is also incredibly important that we all
| continue to support this by creating software so that we can
| access the legacy music in its original form.
|
| *
| diimdeep wrote:
| Very nice ImGui showcase
___________________________________________________________________
(page generated 2023-09-06 20:02 UTC)